This article is the second of a three-part series on introducing the concept of agile methodology by Sami Shaker, a Software Test Manager at Fratoria. Read the first part here.
The most widely used method in Agile is Scrum. In this article, we will focus on Agile rituals and terms. The meanings of the terms, the actions that are attached to each term, and who will be responsible for which tasks, will all be explained.
Scrum has the ability to adjust the workflow of a project by quickly adapting to any complexity that may arise on a daily basis. As scrum is based on teamwork, the knowledge across the team is gradually and easily transformed by establishing an effective communication method.
Essentially, scrum is based on having a small team or teams with high agility and adaption. These teams work together to achieve goals in a series of well-planned and defined time frames. They are responsible for building, testing and producing products in small segments. The end goal is to release the product for the stakeholders and maintain the product if any issues arise.
Scrum and Agile Rituals:
- The Sprint: The Sprint is a certain period of time (ranging from a few days to weeks, depending on the scope of the project). Each Sprint has a planned amount of work that needs to be completed by the team. At the end of each Sprint, there should be a delivered working product ready for testing which is a part of the overall final product. When the Sprint starts, the team should not be disturbed so that they can stay focused on their deliverables. In the Sprint, the goals will be defined and the scope of the quality is central.
- Daily Standups: This is a meeting that takes place each and every morning. This meeting should not last more than 15 minutes and three questions have to be asked to each team member:
What did you do yesterday?
What are you going to do today?
What are your impediments?
The scrum master then takes note of the impediments and tries to solve them to get the team back on track.
- Sprint Planning Session: The planning session takes place at the start of each Sprint. This is where the team sets the scope of the Sprint, next steps, and the delivery time of the next Sprint.
- Sprint Review Session: This is a moment where the whole team gets together to reevaluate the completed Sprint. They discuss the team’s collaboration, the product backlog, what went well, what can be improved, and the timelines. This meeting also targets lessons learned and how the team can perform better.
- Sprint Retrospective: The retrospective gives the team the opportunity to deeply inspect themselves. The goal is to plan improvements to make the next Sprint easier. The team discusses the relationships within the team processes and tools and the Scrum master needs to identify the positive things and accredit the team members for their efforts.
- Product Backlog: Product backlog refers to the set of high-level requirements for the project. This set of requirements cannot be completed because it can be increased by the product owner as changes are requested. Some changes may be added due to reasons relating to market competitiveness. The product backlog is very connected to the feedback that comes from the market. The development team is committed to building, test and release the product according to the product backlog.
- Sprint Backlog: From the product backlog, the team decides the Sprint backlog and set of requirements that they can commit to deliver for a specific Sprint.
The backlog has the details of the product which needs to be developed. Any change to the Sprint backlog should only be done by the team. The backlog should be visible to each and every project member.
- Increment: The Increment is the sum of all the Product Backlog items completed during a Sprint and the value of the increments of all previous Sprints.
At the end of a Sprint, the new Increment must be “Done,” which means it must be in a usable condition and meet the Scrum team’s definition of “Done.” At the end of each Sprint, it should be a working product to move into the production phase to go live. The increment is a step toward a vision or goal.
- The DoD (Definition of done): The DoD is one of the most difficult terms in any Agile team. This is because we as humans have different perspectives and expectations. The DoD has to be defined by the team and then approved by the Product owner. This statement will define the terms of accepting the product with no arguments. All stakeholders will go back to this agreement as a settlement statement. It should be a short direct statement that can describe the end product in a simple language accepted by everyone.
Agile is all about minimising waste in a project lifecycle. This will increase the efficiency of the team, raise the quality of the product, and save companies lots of money. Agile helps individuals understand the values of teamwork and knowledge transferring, and focusing on goals. Agile raises the awareness of the market needs within the teams and this knowledge is built up and conducted in an iterative and incremental way.