So on to the last day of Ot 2004. This started with a keynote by Joshua bloch on how to design a good api. His premise was that as api’s lasted for a long time you had to do a good job of designing them which is hard to disagree with. He then had a set of rules and guidelines for api design such as:
Use case based design
Keep them short
Use XP principles
Use the rule of three where the third one works
Displease everyone equally
Use Occams razor
Separation of concerns
Clarity and self documentation
No premature optimisation
Take care with inheritance
All of which are generally good rules for general purpose software design. Some of these are also good rules for architecture too.
The next session I went to was on Sustainable Architecture where we looked at; when do you need a sustainable architecture (always IMHO), what does it look like, how do you go about building one, examples of them. There was a lot of discussion and ideas about this which will doubtless be documented on the OT web page.
The biggest problem with this session was that everyone had a different vision of what an architecture was and so what it was designed to support and how it should be built. The vast majority of participants thought of it as design which rather limited the scope of the discussion.
So that was Ot2004. What were my overall impressions?
· Interesting and innovative format which promoted peer discussion and interaction
· Very developer, language and design process focussed (Specifically Java and XP) which cut down the scope of the event and so the value to me.
Would I go again next year? No, because development is not one of my high priority interests. Would I go to an architectural event with the same format? Yes.
It should be noted that some of the other MS attendees completely disagreed with me.
I'm going to agree with you Mike on a point (how about that then!!), I love the format of OT. It's a shame that I couldn't make it this year.
OT is very much about people bringing their subject with them - if you want more Architectural content in OT, then bring it yourself and get that peer discussion going. Architecture is fundamental, I would say particularly where one is using an agile development method (maybe that's a topic for next year?).