This describes the concept of a functional-only architectural focus, an extreme example, where architects consider only their functional domain. Here, only half of the system being built is actually being consciously 'designed', the remainder is being evolved by development teams (who may or may not know how to architect large suites of decoupled tests - pls. excuse crap drawing) -
The test setup for a system is itself a system [Rechtin, 1991]
- Embrace automated testing, and design these systems. The 'system' must be seen to comprise both functional and specification subsystems, as well as associated test pipeline infrastructure.
- For Continuous Delivery repeatability and reliability are key architectural quality factors
- Architects should engage development and test teams on test system design, stubbing, test scenario management, versioning, et al.
"Industry estimates indicate that between 30 and 50 percent (or in some cases, even more) of the cost of developing well-engineered systems is taken up by testing. If the software architect can reduce this cost, the payoff is large." [Bass et al, 2013]
[Bass et al, 2013] Software Architecture in Practice (3rd Edition) (SEI Series in Software Engineering), Len BassPaul Clements, Rick Kazman, Addison-Wesley, 2013.
Software Developer | Application Architect | Audio Engineer