Kennis Software Architect 2011 - an attendee's impressions

Software Architect 2011 - an attendee's impressions

On October 19th and 20th I attended the Software Architect 2011 conference in London. The conference was intended for technical architects and the published list of topics really made me want to go there to get some fresh ideas and inspiration about development in general and technical architecture in particular.

Day 1

The first day of the conference started with a keynote from Neil Ford on the topic of Abstraction Distraction. It was an excellent talk that got you thinking about using abstraction in the design process. When you model a process you create an abstract view. But abstraction does have downsides. Too much focus on your abstract layer, without recognizing the underlying (technical) layer can result in producing a narrow view. Abstraction helps for 80% of your design. Just don't force the other 20% into abstraction, you can use intentional leaking for the underlying layer instead.

After the keynote 6 parallel tracks were started with a variety of topics. I first went to a session hosted by Alan Holub on Design patterns in the real world. Alan Holub has written a book on design patterns, Holub on patterns, and he used excerpts from the book as a base for this session. Holub really has some strong ideas and opinions on using patterns so it turned out to be a very interesting session.

The next session I attended after lunch was again by Neil Ford (he's an excellent presenter), and was on Emergent design. It was a truly inspiring session. The basic idea behind emergent design is that you don't know what you don't know. A large part of his session was based on harvesting idiomatic patterns. The concept of technical debt was introduced to me for the first time in this context.

For the last session of the first day I decided to attend another session by Alan Holub because it continued more or less on the topics he talked about in the morning. This one was about Agile architecture. The theme for this session was: Ask for help, not information. In short, classes should be able to change without having any impact on other parts of the code. For me it implied the highlight of the day: Getters and setters are evil. So don't use getters and setters (do not ask information), but let the object do the work (ask for help).

The day was concluded with some drinks and chatting with other attendees. The conference center is situated in an excellent location in London, so after the end of the first day I just couldn't resist doing some sightseeing in this beautiful city.

Day 2

Were there no other speakers then Ford and Holub? Yes there were! But somehow I had chosen all my sessions with topics that related to agile design. So again I attended a session by Neil Ford, this time, about Agile.next. It covered mainly two topics: BDD with Cucumber and Continuous Delivery. First we were given a very nice introduction on Cucumber. But the highlight for me was Continuous Delivery. Did you know that Flickr does about 20 releases per day? It would be really great to be in such a position for the projects I work on. The main question is: How far can we go with automation following the Continuous Delivery principle? The theory and examples given looked awesome and inspired me to look into how far we can go with this for our own projects.

My next session was by Nathan Schutta and it was on HTML5 - facts and fiction. I'm not too much into HTML to be honest, and I found this a nice introduction to this new standard. Interesting quote (or fact?): XHTML has failed... Probably due to it's complexity and rigid behavior. It was a really nice presentation, and it gave me some good info on the current status of HTML5.

After lunch I attended a session of User interface architecture for distributed (cloud-based, web) applications, again by Alan Holub. He presented a new design paradigm which was essentially an alternative for the MVC design approach. It made a lot of sense to me, since it is strongly related to a project I'm working on right now... Wow, so we actually used a design approach the great Alan Holub was explaining here. Nice!

The last session of the conference was a light session by Dave Wheeler on Why UI's suck? He gave lots of examples of bad UI's. Examples that are obvious to everyone, perhaps without realizing it. He also demonstrated web design issues on the fly. It was a fun session and again a reminder for me of how to look at UI's and how to design them. The fundamentals here: UI's must be simple and intuitive.

Conclusion

Attending the conference was definitely worthwhile. I picked up a few items I will use for my day to day work and I intend on further investigating some things that our company could really benefit from in the near future.

Should you go? Well, it gives you a good opportunity to keep up to date on the latest developments and to see what is actually being used in the field of modern software architecture. Plus, there aren't that many conferences on (technical) software architecture, as far as I know.