A well-documented, recurring problem on project teams delivering high-value features at a rapid pace (e.g., Scrum development teams tasked to deliver high-value features quickly) occurs when features are delivered at a consistent rate for a period of time, but then a setback occurs, resulting in a sudden reduction in feature-delivery speed and/or team productivity. In this presentation, we summarize findings from several interviews with government and commercial project teams that gave us insight into the practices used by successful practitioners working on rapid development projects. We describe several emerging practices applied by practitioners (often informally) to minimize or prevent this disruption. As we analyzed our interview results, we found that the most interesting practices emerged on iterative/incremental projects in which practitioners described incidents that occurred under challenging circumstances, for example, when the rapid pace slowed due to unanticipated requirements or when users were unsatisfied with the results of a demonstration.
In these situations, we found practitioners would often integrate a Scrum practice with an architectural practice to address the problem quickly and get the project back on track (we called these integrated practices). Teams applied these practices to minimize the immediate disruption and to sustain the pace of delivery over the longer term life of the project. We discovered 10 of these integrated practices, such as release planning with architectural considerations, prototyping with quality attribute focus, release planning with external dependency management, and test-driven development with quality attribute focus.
The presentation covers the following discussion topics: