Scrum is an iterative software development and product management method that applies Agile principles. According to it, the project development is handled in short iterations to allow for business and engineering flexibility. The main idea behind Scrum and, ultimately, Agile is to continuously deliver value to customers.
Iterative development: The basic Scrum principle is iterative development. In team Deft the entire project timeline is broken down into short iterations called sprints. During each sprint – each lasting two weeks – a team commits to deliver on a set of user stories, concise product feature descriptions.
Scrum team and roles
- Scrum master. The Scrum Master is a servant-leader for the Scrum Team. Makes sure that the team aligns its actions with Scrum principles, helps reconcile members, and resolve conflicts. Sometimes, a Scrum master contributes to the end sprint goals. The Scrum Master helps those outside the Scrum Team understand which of their interactions with the Scrum Team are helpful and which aren’t. The Scrum Master helps everyone change these interactions to maximize the value created by the Scrum Team.
- Product owner. PO takes the responsibilities of the product manager and is responsible for maximizing the value of the product resulting from work of the Development Team. He or she represents the end customer and other stakeholders communicating the overall vision of the product.
- Development team. The team is cross-functional, self-organizing. Individual Development Team members have specialized skills and areas of focus, but accountability belongs to the Development Team as a whole.
Scrum artifacts
Artifacts are documents created by the team during development and there are three main ones.
- Product backlog. The main backlog contains various requirements documented as user stories or other formats. The document is the main source of requirements and is constantly updated with new items. team maintained their own Product backlog.
- Sprint backlog. The sprint backlog contains requirement items that the team committed to complete during a given sprint. Sprint backlog items are sourced from the product backlog and sprint backlog refined during sprint grooming and sprint planning.
- Sprint burndown chart. This is the main tracking document that illustrates how many items were planned per day and how many of them were actually completed. The chart allows team members to forecast their results as compared to initial schedule estimates. team have its own dashboard for the team’s summary, which is the combination of different gadgets.
Scrum meetings
Prescribed events are used in Scrum to create regularity and to minimize the need for meetings not defined in Scrum. All events are time-boxed events.
- Planning. A planning meeting at the beginning of each sprint is held to decide how many user story items the team commits to. team using one hour for sprint planning and the whole team participated. The purpose of this meeting is to take the top items from the backlog and estimate them. Sprint items were selected form a sprint backlog.
- Daily Scrum. Every day all team members participate in a daily Scrum meeting. The goal of a sprint daily meeting is to discuss what was done yesterday and what’s planned to be done today. Daily scrums synchronize the work of the team and maintain the work pace.
- Grooming. A grooming meeting is held once in a sprint to remove the items that are no longer needed in the backlog, add new items if necessary, add or remove some of the acceptance criteria, prioritize, and specify estimates.
- Sprint demo. The meeting happens at the end of each sprint. The team shows what they’ve produced during the past sprint to stakeholders. and sometimes team showed demo in between the sprint as soon as the story completes, so that necessary demo feedback can be incorporate
- Retrospective. And this last type is also set at the end of the sprint. The retrospective goal is to discuss what went wrong and what went well during the sprint to better align the project progression with goals. Retrospective is done to inspect how the last Sprint went with regards to people, relationships, process, and tools.
Teamwork: The product backlog is one of the most important artifacts used in Scrum, it documents the stakeholders’ product vision. A good practice is to fill in the product backlog together with stakeholders. Invite stakeholders to some Scrum meetings. Team may receive valuable feedback about the deliverables and collaboration efforts. If the team is already formed and working on some project from long time, then it would not be the good idea to break existing team. For the better result there should be good bonding within team, that can be increased by team building events and different team building games. Teamwork is little hard when working with remote teams but by setting some guidelines it can go smoothly.
Estimates: Estimate the product backlog items with product owner or in the presence of stakeholders. It reduces the chances of further conflicts and assumptions during estimation. Load enough items in each sprint during sprint planning so that team’s capacity fulfilled and define the sprint goal that team will be committed to achieve within the sprint. Team can use different techniques for sizing like planning pocker or any other cards. Sprint length is fixed and not supposed to extend or cut.
Managing Backlogs: First step for the product backlog management would be assigning each story unique identifier so that they can be handled. And always separate product backlog from the current i.e. sprint backlog. This will ensure the planning, efficiently estimate, and forecast sprints. And during the story creation visualize the RAID items like risk, dependencies to avoid the bottleneck during the active sprint. Visualize dependencies to track them properly in scrum board along with other status like In-Progress, Not-Started, Testing, Review, Accepted and Blockers.
Tracking: A good practice in Scrum is to visualize the sprint burndown chart to show the sprint progress. ‘Remaining time estimate’ or ‘Story point remaining’ vs. ‘Time’ chart is used to show the burndown. For the overall release prediction, burndown chart used as ‘story points’ vs. Time, the x-axis shows Time/Sprints, while y-axis describe how many stories must be completed before the final release. Optimistic and pessimistic completion date is predicted. Along with the burndown, velocity chart can be used to load each sprint based on historical value. Velocity is a measurement that considers how many stories are completed during each sprint compared to initial estimates. Velocity measurements are needed to better forecast team commitment
Scrum of Scrums: The scrum of scrums meeting is an important technique in scaling Scrum to large teams. If a Scrum team becomes too large, form more teams. The Scrum teams work with their own team and sprint backlogs and hold their own daily Scrum meetings. To keep everybody on the same page, a Scrum of Scrum meeting takes place between the teams. frequency of Scrum of Scrum meetings depends on business need however we are practicing SOS weekly. Agenda for SOS includes
- Sprint Progress – Team confident to complete the Sprint Goals?
- Sprint Impediments- Are there obstacles that stand in the way of the work of the team?
- PI Progress – Team confident to complete the PI Objectives?
- Impediments for PI Objectives
- Dependencies that need to escalate