Architecture is a heavy-weight activity, and the magic of Agile makes it unnecessary to bother with up-front design, right?
Wrong on two counts!
Today's Agile projects often find themselves stumbling through domain understanding during the first few iterations with low feature velocity: re-work is the order of the day. Many teams find themselves re-doing their software after a few iterations because the initial software foundations weren't strong enough to support maintainability and evolution beyond that point. Such changes outstrip any reasonable refactoring techniques, and while often labelled "refactoring" these restructurings are rarely behaviour-preserving and are indistinguishable from hacking. They are restructurings done with the insight and domain knowledge gleaned from the first few iterations. However, deferring the architectural focus to this stage is costly and negates most of the time-to-market advantages of Agile techniques.
In this session, agile pioneers and practitioners we underscore the importance of software architecture in an Agile context. Not only will we show its importance to maintainability, feature velocity, test development, GUI design, and organizational structuring, but will describe how to do it. You'll learn how to infuse just enough architecture into your first sprint to lay a foundation for both short-term success in test and GUI design, and long-term success in reduced maintenance cost and feature velocity — all within the spirit and focus of the Agile manifesto.
17 Oct 2007
This class will be co-thought with James O Coplien (http://users.rcn.com/jcoplien/)
- Organizational Structure
- Physical Architecture
Anyone who has an interest in IT architecture should consider how to keep there architecture agile