Agile Scrum and Definition of Done
Scrum is an agile framework for software development especially used for completing complex projects.
While an agile approach can be used for managing any project, Scrum is ideally suited for projects with rapidly changing or highly emergent requirements such as we find in software development.
Scrum is based on a different approach: The Self Organizing Team
The difference is apparent from the first steps the Team takes, when Team decides how much work to commit to in a Sprint.
“Experience has shown that when Teams themselves decide how much to commit to, and when this commitment is realistic and achievable, the Team’s focus, motivation, and drive is significantly higher, and they produce better results.”
The next aspect of self-organization happens during the Sprint, when the Team works together closely to decide who will perform which tasks, and to make sure all the work is completed.
“One of the biggest challenges in successfully making the transition to self-organization is that the Team will not begin to self‐organize until everyone outside the Team stops micromanaging them.”
In software development, iterative is used to describe adaptive planning and evolutionary development process where an application is developed in small sections called iterations following time-boxed iterative approach. Each iteration is reviewed and critiqued by the software team and potential end-users; insights gained from the critique of an iteration are used to determine the next step in development.
Iterations are called Sprint in Scrum.
What is Sprint?
- With Scrum, projects progress via a series of iterations called sprints.
- A sprint is the basic unit of development in Scrum.
- The sprint is a “time-boxed” effort, i.e. it is restricted to a specific duration. The duration is fixed in advance for each sprint and is normally between one week and one month.
- Each sprint is preceded by a planning meeting, where the tasks for the sprint are identified and an estimated commitment for the sprint goal is made, and followed by a review or retrospective meeting, where the progress is reviewed and lessons for the next sprint are identified.
- The sprint goals should not be changed during the sprint.
- Development is “time-boxed” such that the sprint must end on time.
- After a Sprint is completed, the team demonstrates the working software and how to use it.
Defining Agile Scrum process for project execution
Agile Scrum projects are executed following below outlined approach. The approach is defined based on the duration of the Sprint, nature of the project and team or technology used in the project. Sometimes Scrum Coach fine-tunes/redefined the execution approach to mitigate certain execution issues or to achieve the maximum benefits from the process.
Definition of Done
The Definition of Done defines all steps necessary to deliver a finished increment with the best quality possible at the end of a sprint. Generally Product Owner discuss the Definition of Done with Scrum team, and they all together define the Done criteria for the project, keeping in mind the non-functional requirements as well as feasibility.
Example of most common definition of done are:-
- All software artifacts checked-in into Code Repository.
- All the Acceptance criteria in the user story should be fulfilled.
- Screens built match mockups and story content explicitly.
- Error messages that will appear to the user matched the one approved by business team.
- User stories developed should be Unit tested and functional tested.
- All Critical and High defects resolved.
- All Junit test cases completed, executed, and defects resolved.
- Code is properly commented and checked in source control.
- Code is reviewed by the Lead/architects and comments are incorporated.
- Error/Exception handling and logging added and tested.
- Findbugs executed (using default rules).
- Code coverage execution/results.
- Code is produced and build cleanly, without errors and deploy to server.
Overambitious, exaggerated, overblown, too imposing and aggressive Definition of Done results in sprints & project failures.
Author: Mohammad Sami, Agile Coach
13,837 total views, 14 views today