The Architect In Me

Monday, September 18, 2006

SAIP (Chapter 7): Designing the Architecture

This chapter introduces amongst other things a development process called the Evolutionary Delivery Life Cycle (EDLC). EDLC is a process modelled to evolve iteratively through several releases while heavily relying on customer feedback. The architecture is driven by the most prominent functional, quality and business requirments known as architectural drivers. This process bears some similarities to Extreme Programming (XP) and Rational Unified Process (RUP), where the driving force is in the use of use-cases. The main difference appears to be in the fact EDLC includes the quality attribute requirements as a significant part of establishing the architecture.

Unlike XP and more like RUP, EDLC divides the system into various components that can be split up amongst teams of developers based on expertise. The author advises that a high-bandwidth of communication needs to be established for intra-team communication and smaller bandwidth for inter-team, warning that an overdose of inter-team communication could become a disturbance. Therefore, it is highly important the architecture defines an appropriate modular division for team development. I agree with the authors assessment of the importance of team communication during large projects. I think that factor is often overlooked, and probably a good way of assessing a successful project manager or architect is their ability to put together cohesive teams--not just for their skillset but also for thier chemistry.

EDLC incorporates Architecture Driven Design (ADD), ADD captures a sufficient portion of the architecture, just enough to be able to establish a skeletal system that the software can continue to iteratively build on. The skeleton provides stubs that allow the various components to interface with each other, allowing the different modules to develop indepent of each other.

0 Comments:

Post a Comment

<< Home