Monthly Archives: August 2011

Improving Testing Outcomes Through Software Architecture – Paul Clements

Testing plays a critical role in the development of software-reliant systems. Even with the most diligent efforts of requirements engineers, designers, and programmers, faults inevitably occur. These faults are most commonly discovered and removed by testing the system and comparing what it does to what it is supposed to do. This blog post at the SEI Blog by Paul Clements summarizes a method that improves testing outcomes (including efficacy and cost) in a software-reliant system by using an architectural design approach that describes a coherent set of architectural decisions taken by architects to help meet the behavioral and quality attribute requirements of systems being developed.

See also these additional posts by Paul here on the SATURN blog about architecture support for testing.

Software Architecture and “The Principle of Small Decisions”

I am a huge fan of Donald Reinertsen’s book The Principles of Product Development Flow. Reinertsen draws on a diverse set of disciplines including Lean manufacturing, economics, statistics, queuing theory, control engineering, and maneuver warfare to create a set of principles to guide the product-development process and improve product-development flow.

One principle in Reinertsen’s book is Principle E8, “The Principle of Small Decisions: Influence the Many Small Decisions.” Reinertsen describes this principle as follows:

Continue reading