Table Of ContentForeword. Preface. 1. Simple Analogy. The Perfect Analogy. Finally, a Cognitive Map. The Analogy Reveals the Missing Ingredient Architecture. The Analogy Confers Clarity of Role and Purpose. It All Begins with a Client and an Architect. With the Analogy, Words Are Meaningful. With the Analogy, Processes Are Predictable. The Analogy Brings Order to Complexity and Flexibility. Conclusion. 2. World Without Architects. The Paradox of the Software Industry. The March of the Notorious. The Federal Aviation Administration. Internal Revenue Service Tax System Modernization (TSM). Conclusion. 3. What Is Architecture? Technology: The Common Thread of Architecture. Many Definitions of the Indefinable. Utilitas, Venustas, Firmitas. The Mystery of Design. The Lesson of St. Peter's: Harmony and Unity. The Quality Without a Name. Conclusion. 4. A Pithy History of Architecture. The Greek Ideal. Architects: Anonymous Craftsmen and Superstars. Modern Architecture: Rise and Demise. The Architect as Social Philosopher. Architecture and the Third Wave. Conclusion. 5. The Roles of Software Construction. Architect, Builder, Engineer, Scientist. Guiding Principles. Software Architects Decide How the Structure Will Look and Act. Software Engineers Make the Structure Sound. Developers Build the Structure. Computer Scientists Further Knowledge. The Role of the Client. Defining, Not Limiting. An Indelicate, but Trenchant, Illustration of the Roles of Construction. Conclusion. 6. The Role of the Software Architect. The Role of the Architect Begins with the Client. The Architect as Client Advocate and Design Champion. The Art of Listening. The Art of Observation. The Art of Strategy. The Pyramid in Paris. Conclusion. 7. The Phases of Architecture-Driven Software Construction. Two Overall Phases. Architectural Phases, with Caveats. The Design Is Not the Deliverable. Caution: These Design Phases Are Not Linear. The Building Phases. Conclusion: The Party Phase. 8. The Architectural Plan. The Characteristics of an Architectural Plan. Good Architects, Good Plans. Why Have Plans at All? The Levels of the Plan. Conclusion. 9. Educating Software Architects. Second Wave Education, Third Wave Needs. Still Another Crisis. We Are What We Do. What Is the Profile of a Computer Scientist? Architecture Education. Establishing Software Architecture Education. Can Design Be Taught? Conclusion. 10. Venturing to Call Ourselves Architects. What Is a Profession? Client Expectations. A Standard Body of Knowledge. Education. Identity. A Code of Ethics and Standards. Where to Begin. Index.
SynopsisThe software industry is rapidly recognizing that software built according to a plan has a much better chance of accomplishing its short- and long-term goals. The creators of these plans are software architects. They're in enormous demand, but few developers have the requisite skills. In this book, a former Chief Architect for IBM teaches the art and science of software architecture. Drawing on deep metaphors from traditional architecture, this book explains exactly what software architects do, how they behave, and how their profession is coming of age. KEY TOPICS: This book defines the role of the software architect, demonstrating how software architects bridge the chasm that has traditionally separated clients and users from technical professionals. The authors explain how software architecture goes far beyond "software engineering," bringing new clarity to software development. Returning to the analogy of the building architect, they introduce each key phase of architecting a software system or infrastructure, from the earliest "schematics" through design and construction documents, bidding, negotiation, and actual software construction. Understand the temperaments and aptitudes needed by successful software architects; the relationship of architecture to technology; and software architecture's growing status as a formal profession. MARKET: For all developers, software engineers, software architects, and students of software architecture; and for IT managers who want a clearer understanding of the concepts and role of software architecture., The purpose of this book is to introduce the establishment of the formal profession of software architecture based on the classical building architecture standard.