I've had a few people ask me for a write-up of the recent training course, so I thought I'd put something together. This was the first time I've run the course with the new content and structure in place and the feedback was excellent. In the past, I think I'd always assumed that people had their own way of designing software so we never explicitly covered this in any detail other than offering guidance during the main case study exercise. The course now includes much more content and guidelines for designing software although it doesn't go so far as to define a complete end-to-end process. Jason Gorman has a good blog entry called Value Is Not The Opposite Of Waste: Why I Don't Buy Into Process Improvement that talks about how simply putting a process in place doesn't necessarily make things better. And I agree. I don't particularly want to preach a "software architecture process", but I do want to highlight the principles of good software design and how to successfully come up with a software architecture. I'd rather ensure people have the correct knowledge and understanding that can then be used and adapted to fit in with *their* way of working. Having said that, I still think that I'd like to put slightly more guidance around some techniques that can be used to get to the big picture and beyond. I have some ideas on this and will write them up after the Christmas break.
The reorganisation of the course content into the same five areas as the website has also worked really well and makes for a much more logical flow from introducing architecture and the software architecture role through to defining, sharing (e.g. documenting) and delivering/evaluating software architecture. I had a really great time in London running the course at the new Skills Matter offices. For those of you already booked on the March 2010 course in London, I look forward to seeing you there.
Simon is an independent consultant specializing in software architecture, and the author of Software Architecture for Developers (a developer-friendly guide to software architecture, technical leadership and the balance with agility). He’s also the creator of the C4 software architecture model and the founder of Structurizr, which is a collection of open source and commercial tooling to help software teams visualise, document and explore their software architecture.