Risk-Driven Model of Software Architecture
One of the key ideas in my book is that you should use risk to help you decide how much architecture planning to do. Basically, do enough architecture until the risk of technical failure (eg from not thinking through the problem well enough, from not coordinating teams on a common engineering task) is lower than non-technical risks (eg time to market, risk of building the wrong thing).
Said simply, it seems like common sense. In practice, teams tend to do WAY too much up-front work (see 1980’s waterfall processes) or WAY too little (see 2010’s agile processes). The risk-driven model gives more guidance than simply “Big Design Up Front” or “You Ain’t Gonna Need It”.
CrossTalk Magazine 2010
My article on the Risk-Driven Model of Software Architecture was published in CrossTalk magazine. The issue starts with a Q&A session with Grady Booch – quite nice to have an informal piece to find out what someone is really thinking – then my article, then an article on architecture and agility from the SEI (Nanette Brown, Rod Nord, and Ipek Ozkaya).
The article is derived from Chapter 2 of my book. I’ve attached the article here (5.6MB) in case it disappears from their website.
IASA Denver March 2010
In case you were wondering what my book on software architecture will be like, you can now see the video that describes its basics. This talk was given at a joint session of the Denver IASA and the Agile Denver groups on 16 November 2009. The topic is the Risk-Centric Model of software architecture, which helps you answer the question, “How much architecture/design should I do?” The first 17 minutes of the talk are a quick summary of software architecture; the remainder describes the Risk-Centric Model.
Here is a direct link to the video, in case you cannot see it embedded here: An Introduction to Software Architecture and the Risk-Centric Model from George Fairbanks.