Architecting Software Intensive Systems: A Practitioners Guide Book Review
This book does an excellent job of introducing the reader to the soft skills needed to succeed as a software architect. The book starts by covering the architectural lifecycle. It discusses chaos, dissemination, adaptation, harvest, and sunset. It also discusses external influences that affect the lifecycle such as stakeholders, business models, marketplace, technological environment, and organizational structure. The book continues on by putting software architecture into context. It shows how it's related to enterprise architecture, system architecture, and detailed software design and the constraints that they place on each other. The author covers how to interact with stakeholders and manage the architectural drivers that each group of stakeholders places on the architecture. It covers high-level functionality, quality attribute requirements, technical constraints, and business constraints. This section also covers architectural structures which include structure and perspective, structures and systematic properties, styles and patterns of reasoning framework tactics and quality attributes. The work of an architect is covered in this section and documenting the architectural design which covers UML, technical writing guidance, and document structures. Section 2 covers the Architectural Centric Design Method (ACDM). The author goes into great detail covering all eight stages. They include Discovering the Architectural Drivers, Establishing Project Scope, Create/Refine the Architecture, Evaluate the Architecture Design, The Go/No -- Go Decision, Experimentation, Production Planning, and Production. The last section covers transitioning design practices, processes, and methods as well as other design considerations including legacy, designed by selection, and maintenance. The author then covers using the ACDM with software development frameworks which include Waterfall, Extreme Programming, SCRUM, Team Software Process, and RUP and CMMI. I highly recommend this book to anyone considering getting into software architecture. The book is for architecting software intensive systems but many of the practices found in the book can be applied to building applications. An example of what I mean by applications is Web applications, RIAs, or thick client applications that are not delivered as bundled software releases or any system that is not hardware intensive. The author does a great job pulling in industry-standard processes that are already in place for example SEI's ATAM and how to apply tactics to quality attributes. This is one of the best architecture books that cover the soft skills necessary to achieve success. | Architecting Software Intensive Systems: A Practitioners Guide |
Architecting Software Intensive Systems: A Practitioners Guide |
0 Comments:
Post a Comment
<< Home