The Architect In Me

Friday, September 08, 2006

SAIP (Chapter 1): The Architecture Business Cycle

Summary of Chapter 1 of SAIP by Bass et al.
Chapter 1 primarily addresses how architecture generally fits into phases of software engineering. It defines software architecture as the "...structure or structures of a system, which comprise the software elements, the externally visible properties of those elements, and the relationships between them." The authors seeks to correct the general misconception that the design of a system is manufactured from a single ingredient--software requirements, and further elaborates on the key environmental properties that need to be further considered to gain a solid architecture. In short Bass et al. view the architecture process as a cycle, Architectural Business Cycle (ABC): technical. business and social environmental factors influence the architecture which subsequently influence the development of future architectures--emphasizing the importance of case studies and the study of previous architectures in developing new system architectures.

This chapter lists some of the popular environmental influences that should be considered when developing a software architecture. Some of the key influences discussed include:

  • The developing organization--employee skillset, long-term investments, available resourses etc.
  • Architect's background and experiences and the technical environment.

How does one know if the architecture is good? The authors address this question by reemphasizing the fact that each no one architecture solves all problems--an architecture satisfies a family of systems. However, there are guidelines to the process of engineering an architecture that will generally help to improve the outcome of the architecture as well as its feasibility. Some of these processes include having a very small subgroup of the team as architects (if not just one person), having a measurable architecture etc.

I generally agree with the author's approach to software architecture and the need to have a well structured organiazational process in developing an architecture to enhance reuse and uphold the concept of ABC. However, methodologies such as XP seem to be very successful and yet deviate enormously from this approach or the architectural rules suggested by the authors, which even further indicates that there is never one answer to developing a software solution.

0 Comments:

Post a Comment

<< Home