In a previous post, Top five benefits of Scrum Teams, I listed several process improvements we realized by implementing the Scrum form of Agile. In this post I am expanding on the theme of benefit #5, that Scrum is quality based. In fact, I believe that integrity is inherent in the Scrum process. Integrity in this sense means a dedication to producing quality code and a quality user experience.
This is evident in two key components of Scrum, User Stories and Sprints.
A User Story is an informal description of a product requirement written in a user’s voice. It answers the following questions: Who wants it? What do they want? What is the value of it? How do we know when it’s done?
This helps a development team in two important ways. First, it helps the team understand at a deeper level what the user wants and why they want it. This in turn leads to better design, more acceptance of and adherence to the design, and a resulting higher quality user experience. Second, are the creation of User Story Acceptance Tests. Acceptance tests, as relates to User Stories, are criteria or conditions that indicate when a story is complete. As User Stories are developed, a series of discussions about Acceptance Tests occurs. We find that these discussions facilitate a quality based mind-set and aid in the development and implementation of robust testing plans. The end result is higer quality in all tiers of the application code.
Sprints are short term (1-4 weeks) development cycles during which user stories are fully designed, coded, tested, and documented. The benefit here is that the development team is always focused on a releasable product. In more traditional models, each phase of development (Analysis, Design, Programming, Testing) occurs in distinct timeboxes. So, programming can last for months followed by a shorter period of testing called release preparation or “clean-up” time. In Scrum, the months-long project is separated into multiple Sprints. In each Sprint, features are fully completed and made ready for release. Thus, the “clean-up” work is more evenly spread throughout the life of the project.
This sounds great in theory, but research has emerged that makes a strong case for the iterative, incremental approach of Scrum. A result of data gathered in the Dr. Dobb’s Journal Agile Adoption Survey indicates 77% of those surveyed showed improvement in quality after adopting Agile practices.
As we continue to implement Agile processes in our development teams, I am confident that the quality of software we produce will continue to go from good to great.