“Going Agile” is not just about organizing teams and learning Scrumish frameworks. Being Agile is about adopting to a specific mindset, enabling us to follow the constant and rapid flow of changes. Especially important tools supporting this mindset are continuous integration and continuous deployment. To be able to integrate with confidence and deploy with managed risks, having a quality focused approach is essential.
A quality promoting approach consists of several layers which, when combined, make up the overall quality potential of the team and products thereof.
Building this potential requires making quality a first-class citizen in the agile team. A first, crucial, step to achieve this is to apply quality-driven architecture. Designing system architecture to promote quality improving activities. This includes, among other things, keeping these quality enhancing characteristics in mind;
By applying these simple yet powerful abilities we will facilitate quality assurance efforts downstream, from an architectural perspective.
Not all designs are easily decoupled and not all API contracts are straightforward. In those cases, access to reliable and complete static test data is crucial.
In the next article, we will touch upon how these downstream quality assurance efforts are carried out and why architecture is so important from a technical perspective.