Architectural Value in Agile Projects – A Tale of Two Paths
Lightning-Talk, by Manuel Pais
Tuesday, June 21, 18:30 – 19:00 @ B 002
Agile methods focus on customer satisfaction by delivering functionality early and incrementally. However, this approach could increase the cost to implement quality (or non-functional) requirements which cut across the entire system if design decisions are taken without considering them.
In order to validate this hypothesis a case study was carried out in collaboration with the Software Engineering Institute (SEI). The core work of the study was the analysis of two distinct design paths for the same project according to very specific goals:
- Path #1: Maximizing value for the end user (typical in agile projects)
- Path #2: Minimizing implementation cost (typical in traditional projects)
User stories prioritization and analysis of relationships between stories and architectural elements were core inputs for the paths definition. Dependency management techniques such as Design Structure Matrices (DSM) were used for deriving architectural rework costs.
Results confirmed that path #1 delivered value to the user at a rate twice as fast as path #2. However, path #1 incurred additional rework costs (around 14% of implementation cost) due to delayed implementation of architectural components supporting required system qualities such as security and performance.
This talk will briefly present the outcomes from the two design paths analysis. Attendees will learn that neither path is ideal. Each project’s specific requirements and context should drive informed decisions on whether to delay or anticipate design decisions.