Running a bespoke development project can be complicated. Here’s how ITC Digital uses SCRUM methods to help smooth the process.
The Product Backlog
The Product Backlog is a prioritised list of value the team can deliver. The Product Owner owns the backlog and adds, changes, and reprioritises as needed. The items at the top of the backlog should always be the highest priority.
Sprint Planning and Sprint Backlog
In Sprint Planning, the team chooses the backlog items they will work on in the upcoming sprint. The team chooses backlog items based on priority and what they believe they can complete in the sprint. The Sprint Backlog is the list of items the team plans to deliver in the sprint. Often, each item on the Sprint Backlog is broken down into tasks. Once all members agree the Sprint Backlog is achievable, the Sprint starts.
Sprint Execution and Daily Scrum
Once the Sprint starts, the team executes on the Sprint Backlog. Scrum does not specify how the team should execute. That is left for the team to decide. Scrum defines a practice called a Daily Scrum. The Daily Scrum is a daily meeting limited to 15 minutes. Team members often stand during the meeting, to ensure it stays brief. Each team member briefly reports their progress since yesterday, the plans for today, and anything impeding their progress. To aid the Daily Scrum, teams often review two artifacts:
The Task Board
Lists each backlog item the team is working on, broken down into the tasks required to complete it. Tasks are placed in To Do, In Progress, and Done columns based on their status. It provides a visual way of tracking progress for each backlog item.
The Sprint Burndown
A graph that plots the daily total of remaining work. The remaining work is typically in hours. It provides a visual way of showing whether the team is “on track” to complete all the work by the end of the Sprint.
Sprint Review and Sprint Retrospective
At the end of the Sprint, the team performs two practices:
The team demonstrates what they have accomplished to stakeholders. They demo the software and show its value.
The team takes time to reflect on what went well and which areas need improvement. The outcome of the retrospective is actions for the next sprint.
The product of a Sprint is called the “Increment” or “Potentially Shippable Increment”. Regardless of the term, a Sprint’s output should be of shippable quality, even if it is part of something bigger and cannot ship by itself. It should meet all the quality criteria set by the team and Product Owner.
Repeat. Learn. Improve.
The entire cycle is repeated for the next sprint. Sprint Planning selects the next items on the Product Backlog and the cycle repeats. While the team is executing the Sprint, the Product Owner is ensuring the items at the top of the backlog are ready to execute in the following Sprint.
This shorter, iterative cycle provides the team with lots of opportunities to learn and improve. The system build will have a long lifecycle, say 6 months. While a team can learn from a traditional system, the opportunities are far less than a team that executes in 2-week sprints, for example.
This iterative cycle is, in many ways, the essence of Agile.
Scrum is very popular because it provides just enough framework to guide teams while giving them flexibility in how they execute. Its concepts are simple and easy to learn. Teams can get started quickly and learn as they go. All of this makes Scrum a great choice for teams just starting to implement Agile principles.