Saturday, March 23, 2013

A couple of new books

My pile of books is getting larger. In today's mail was a package with the following books:

  • The process of software architecture, Peter Eeles and Peter Cripps
  • The trusted advisor fieldbook, Charles H. Green and Andrea P. Howe
  • The pyramid principle, Barbara Minto
  • Writing winning business proposals, Richard C. Freed, Joseph D. Romano and Shervin Freed
  • Clean Code: A Handbook of Agile Software Craftsmanship, Robert C. Martin
I'm going to start with The pyramid principle, I definitely need to enhance my writing and I hope to get some pointers in writing short, solid and understandable.

Wednesday, March 20, 2013

Software Systems Architecture - revisited

A few weeks ago I started to read the book Software Systems Architecture by Nick Rozanski and Eoin Woods, see earlier blog post. The authors tries to explain the process of software architecture and which tools to use. The book is divided into a number of parts and the second part describes the (getting your hands dirty) working process very well. The chapters in the second part defines which work tasks need to be executed in order produce a well-motivated architecture. Among the tasks are:

  • Identify the concerns and problems the architecture shall solve?
  • Who are the stakeholders? Who will be affected by the product?
  • Create scenarios in order verify requirements and how different architectural solutions will affect the stakeholders.
    • Find missing requirements.
    • Evaluate the architecture proposal.
  • How to create architectural models to visualize the architecture proposal.
  • Summarizing it all, writing the architectural description (AD).

The third part contains a catalog of viewpoints, each viewpoint is well documented. The fourth part contains a catalog of perspectives, equally well documented as the viewpoints. If you haven’t utilized viewpoints or perspectives before then these two parts will be very valuable.

Further reading

Applying Viewpoints and Views to Software Architecture
Developing Architecture Views
Software Architecture Using Viewpoints and Perspectives