Real World Software Architecture

Real World Software Architecture is dedicated to providing information and experiences from the field of Software Architecture.



Subscribe with RSS or ATOM Add to Google

Links

  • Home Page
  • Real World Software Process Engineering
  • Suggested Reading
  • .NET Dev and Arch Collection
  • SEI Essays on SA
  • Software Architecture
  • Bredemeyer
  • wwisa
  • Product Line Engineering
  • PLEES
  • Software Product Lines
  • MSDN Architecture Center
  • patterns & practices






Tuesday, January 13, 2009

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

posted by tadanderson at 8:28 AM

0 Comments:

Post a Comment

<< Home

Previous Posts

  • New Learning Resources for the Software and System...
  • Silverlight 2 DataGrid December 2008 Release
  • Entity Framework 1.0 Error Unable to update the En...
  • Environmental Constraints, Business Requirements, ...
  • Pro Silverlight 2 in C# 2008 Book Review
  • Microsoft .NET Architecting Applications for the E...
  • Framework Design Guidelines (2nd Edition) Book Review
  • Will the Microsoft VSTS 2010 Architecture UML tool...
  • PDF Documentation Available for Composite Applicat...
  • Prism V2 Drop 1 (aka Composite Application Guidanc...



Powered by Blogger