woensdag 1 april 2009

NIOC 2009

Nederlands Informatica Onderwijs Congres (NIOC) 2009 is coming up next week. It's a great way to meet your colleagues from the rest of the country. I've been to NIOC 2005 and 2007 and enjoyed the audience. With technical seminars some people lose interest the moment they hear your into education. Or they try to 'sell' you a guestlecture with the only purpose to promote their company. None of this at the NIOC :-)

I haven't looked at the programme yet, since I'm concentrating on my own contribution. I will be giving a talk about architecture and my learnings at the RDW. My concept title was "Architecture, do you need to have grey hair?". I tried to get it changed later on, but somehow it stuck on the site....

http://www.nioc2009.nl/index.php?pgid=sessie6b

zaterdag 21 maart 2009

Books on software architecture

The past few months I have looked into a number of books on software architecture. In the back of my mind was always the question: "would this be suitable for our bachelor students?". I'll give a short take on these books.

Software Architecture in Practice (2nd edition, 2003, Bass e.a.)
A classic book by the SEI, which gives a good introduction to software architectures and the different issues around them (achieving qualities, architecture lifecycle, analysis and tradeoffs, etc.) For our bachelor students it would be a bit 'dry', also the case studies are somewhat dated.

Pattern-Oriented Software Architecture (1996, Buschmann e.a.)
Also a classic, still readable at this age. The focus is mostly on the 'pattern' part (architectural patterns and design patterns). It could use a second edition to get in sync with the developments in the pattern-field. Readers would need to complement this book with another introductory text. At the RuG (master Computer Science) this book is used in combination with the previous one.

Software architecture - Foundations, Theory and Practice (2009, Taylor e.a.)
A very complete and uptodate book on all aspects of software architecture. For me however it was too academic, after the first couple of chapters I started browsing instead of reading.

And my winner is ...
Software Systems Architecture - working with stakeholders using viewpoints and perspectives
(2005, Rozanski e.a.)
I liked this book best. It introduces the subject from a practical angle, still covering all the issues. After the introduction (architecture, architect, process, viewpoints and stakeholders) comes a catalog of viewpoints (like RUP's 4+1, but more) with advice about problems and pitfalls. Then the authors progress towards 'perspectives', the term they use to denote the quality issues. You can read this book as a textbook and then use the catalogues for reference (just like Fowler's Patterns for Enterprise Application Architecture).

But I still see a market for a text book with more real life examples and exercises. Anyone?

zaterdag 21 februari 2009

Difference between software architecture and design

I found a nice answer to this recurring question at http://www.sei.cmu.edu/architecture/essays.html#difference

There's an amusing resemblance between how Enterprise Architecture is seen at the RDW and the phrase "The [software] architecture establishes constraints on downstream activities, and those activities must produce artifacts [...] that are compliant with the architecture, but architecture does not define an implementation."

Maybe there's not that big a difference between Software Architecture and Enterprise Architecture after all? (On SA versus EA you could also look at this one.)

woensdag 11 februari 2009

RDW update



I've neglected this blog since I started my work at the RDW. This doesn't mean there nothing was learned, on the contrary! I'm getting such a lot of experiences that I couldn't possibly mention them all. I'm learning about architecture but also a lot of collateral stuff. But for now I'll just mention some points about architecture.

In Q1 I took lectures at the RuG on software architecture, but at the RDW it's all about "enterprise" architecture. This is the domain of fuzzy talks, large scale models, handwaving and the like, but when you are in the domain a bit longer it becomes clearer. I now feel I can cut away the clouds and move more towards the essence. It's all about structuring, reducing complexity and enabling change in the long term. And all that on the scale of the entire enterprise instead of a single system. In this regard I can really recommend the DYA book "Building an enterprise architecture practice" (or "Stap voor stap op weg naar een professionele enterprise architectuur" in Dutch). I read it when I started here, and recognized a lot of situations here. In fact the first meeting at the RDW seemed a literal replay of a fictional case in the book. I will reread it when I´m finished.

On the part of software architecture, the RDW isn´t as far yet as their work on enterprise architecture. Put in one sentence I see software architecture as capturing the essential requirements (use cases AND non-functional requirements) from the different stakeholders and then making the fundamental design decisions how to reach those. Of course RDW works on these things but not everything is explicit and every project or even person has his own way of working and documenting on these issues.

vrijdag 28 november 2008

Landelijk Architectuur Congres 2008

In case I didn't mention it, I'm currently working with the RDW for 2d/wk. The ultimate way to keep up is to return to the industry and do some actual work. The focus is on 'architecture' which is a really broad term. We're looking at introducing the subject in our curriculum. I'll blog about this some other time.


One of the first activities was to attend the Landelijke Architectuur Congres (crappy site). The focus of this congres is not so much on "software" architecture as it is on "enterprise/IT/information" architecture. I was a bit worried about grey haired pompous speakers giving abstract talks. This didn't turn out to be the case. It was a nice way to get introduced into the subjects, get to know the names, see the vendors and what they are vending. Although the crowd was different from a technical conference, it was diverse.


Some talks were too academic, some talks were a bit too obvious, some were badly disguised sales pitches and some were just right. I won't describe all the talks since there were a lot, but mention some highlights.

Daan Rijsenbrij voiced his opinions on architects and what they should be doing. There still isn't consensus on that. But after a few days at the RDW I can already support the statement that it's 80% talking, explaining, influencing, guiding, changing. A lot of "peoplework". He had hired a professional cartoonist to create some visualisations for him, something well worth considering if you have to make an important pitch.

Michael Widjaja: nothing really interesting about architecture, but we might want to pay some more attention to web 2.0 in our webprofile? Did you already know http://www.midomi.com/ ?

Harmen vd Berg: commercial demo of the Archimate language (in the tool Architect). Internationally there are a number of competing products for creating architecture models. But in the Netherlands Archimate is winning the battle. And since we got a Surf license I'll give a look and see if it might be interesting for my (technically inclined) students.

Frank Baldinger from the NL Architectuur Forum spoke about education and presented a book "Competences of IT Architects" which I'll receive in the mail. This might prove useful when thinking about architecture in our curriculum.

Tobias Kuipers: is it an idea to make architects responsible for the end quality of a project? It would at least result in more effort of the architect to get his architecture understood and used. A famous quote: "The street remains long after the houses have gone", or rephrased: "Concentrate on the lines, not on the boxes".

Olaf Zimmerman gave a nice demonstration of applied research. He has collected a large number of design decisions made in SOA projects and put them in a database. He then created a decision supporting wiki which can search the database. This created a 'mentoring' tool which proved more effective in supporting developers than an architecting document full of "must and shalls".

donderdag 13 november 2008

JFall 2008


Today I went to the Jfall. First a big thanks to the NLJUG for allowing me to take 35 of my students for free. I suspect a number of them skipped it due to illness, oversleeping and whatever reasons. They don’t know what they missed.

I started off with a talk by Marco Mulder from Xebia. He talked about a large project they have done for Prorail, using agile software development (Scrum) and a distributed development team (Netherlands and India). This of course involved some challenges which they solved nicely. I also learned a bit more about Scrum to complement what I know about eXtreme Programming.

Then there was a talk about Constraint Satisfaction Problem solving with Java by Nicolas van Hanxleden (Iprofs). Constraint Satisfaction Problems (CSP) are all about scheduling and optimisation and are typically unsolvable by a brute force approach. Since I studied these kinds of problems when I was in university, I was interested to hear if there is anything new. The first 75% of the presentation was largely familiar, although he did a good job explaining it. Nicolas then introduced the open source tool Cream which can be used to model and solve CSP’s. He gave a good demo in which he applied Cream to solving the N-queen problem.

Lunchtime! The handing out was a bit annoying just like at the JSpring. After getting up pretty early you don’t want to stand in a long line which is not moving. I’d like to challenge the NLJUG to improve the logistics of the lunch. That shouldn’t be too difficult. :-)

The keynote after lunch by Reginald Hutcherson (Sun) was amusing but not really informative. (Dude, simplify your slides). Two other Sun guys showed some fun demo’s of Java FX but nothing really challenging. The thing I might remember most is the throwing of the T-shirts into the crowd. But ok, maybe having some fun was all they wanted to achieve.

Immediately after that there was a talk about Lean Software Development by Marc Evers and Rob Westgeest. This also fit in nicely in my objective to complete my knowledge about agile software development methodologies. But I must note that the speakers emphasized that Lean is not a methodology but a set of principles, a certain mindset. What was new for me was the notion of measuring the worktime for a specific development cycle and comparing it to the total time before the product available to the business. In the example given they calculated the “efficiency” as 6%, all the other time going wasted to errors and (mainly) waiting. One of the key principles of Lean is to eliminate this “waste”. To do this they use other techniques from the production industry like applying “pull” instead of “push”. A lot of these ideas stem from Toyota car manufacturing. This talk was ok.

This time I decided to skip the last two talks and try my luck at a hands-on workshop on unittesting. This didn’t really work out however. After finally getting my laptop from the wardrobe and some installation trouble I was lagging too much behind on the assignment which I would have found quite challenging even if I started right from the beginning. The other participants were clearly having a good time, so no problem.

See you next year at the Jspring!

woensdag 5 november 2008

What would you do with €5000 ?


Ok, this question is a little bit different from "What would you do with a million euro's?" The point is I've been nominated for a prize called "de innoveer" (this doesn't really translate, meaning innovation and inno-feather in Dutch).

Our dean Henk Zwetsloot proposed me based on the work done on the software engineering curriculum and the way I keep up with it. There where 12 applications and I'm among the last 3 nominees. On the one hand I'm honoured, on the other hand I feel like I've "just done my job".

The prize is a piece of art and 5000 euro which can be used for ones own development. So I can't help but think about what I would do if I won. Here are some ideas:
* Attending a nice big congres like the QCon last year would be nice.
* A studytrip to the silicon valley or something similar to what the HBO-I did in the past.
* A studytrip to Australia to visit some universities and discuss the possibilities of exchange of lecturers.
* Getting a masters degree in computer science (I have one in math) is always on the back of my mind. But I'm afraid 5000 euro still wouldn't solve problems of sleep, time, family and energy. Maybe later...
Update: it wasn't meant to be, the competition was pretty good. But still, being among the last 3 was pretty cool.