Part of agile software development methodology, scrum is an iterative and incremental process with the premise that customers can change project requirements at any point in time. In scrum, development teams should be committed, self-organized and have the ability to respond and deliver the product quickly. Below are a few scrum methodology best practices if a development team is considering adopting scrum in their organization.
Product Backlog and Prioritization
The first step in scrum is to start with the product backlog. This is a list of everything that needs to be done to the product, listed in priority order. Any product owner, stakeholder or members of the scrum team can add to this list. This list will continually change and increase as product needs increase. While creating the backlog, make sure to write it in such a way that it describes what the value is to the user (either customer or business).
Try to write the product backlogs in suggested format; they must be written so they answer who, what and why: As a [who], I want to [do what] so I can [achieve what goal]. A good example is, “As a user, I want to be able to request a new password so that, if I forget the password, I will be able to log into the application.”
As the confidence level raises regarding the amount of tasks/bugs/features listed in the backlog, it’s time to review and prioritize the list. This is the decision made by the stakeholders and how they want the team to progress throughout the day. Based on the prioritization of items on the list, the scrum team can start estimating the tasks/features for the backlog items.
Sprint Plan and Requirement Refinement
Creating a sprint plan is a process that the scrum team needs to discuss together to review each of the tasks in the breakdown. Requirements should be clear; if they aren’t, the team should refine the requirements so that tasks are converted into chunks. This will make estimating the tasks easier. Deciding on what the optimum spring duration is depends on numerous factors. Scrum recommends thirty days; however depending on the maturity of processes, it is recommended that the best sprint duration should be between 2-3 weeks. This includes planning, developing, testing and delivery. At the end of the sprint, teams should be able to provide 100% of the shippable items.
Start Sprint and Stand-Ups
Once the sprint start and end dates are finalized and there is a full commitment from the scrum team, it’s time to start the sprint. One rule in scrum is to finish the tasks within the sprint and make sure it is shippable, deliver on what you have committed. As the sprint begins, it is always important to have a call on a daily basis so that everyone on the team is aware of any issues or concerns and that the task is in progress. Below are three questions to ask or answer during this daily call:
- What did you do today?
- What will you do tomorrow?
- Is anything holding up your progress (impediments)?
Early detection of issues is always better than late detection. This can be done as long as progress is tracked. The daily burndown chart is a simple practice that helps the team track daily progress. Scrum methodology uses the burndown chart to see the progress on completed and pending tasks.
Complete each task in a particular sprint before moving onto the next. Determine the feature or task to be delivered, add to the timeline, and complete it within the committed time.
At the end of the sprint, hold a review meeting with everyone on the team. Within the meeting, review every task completed within that sprint. Everyone will have a clear idea on what has been completed within the sprint and can provide feedback in the daily standup call. Once the sprint is complete, the scrum team product owner should have a discussion related to the completed sprint and the delivery. What went well, what could have been done in better way, what the team will do differently in the next scheduled sprint?
All About Agile