Agile Methodology has become one of the most widely accepted methods in many industries such as aerospace, banking and finance, construction, software manufacturing industry, and many more. This shows that many professionals looking for job opportunities will come across Agile Methodology and the careers associated with it. It becomes crucial for individuals to get into Agile industries if they have little to no idea about how it works in the real world. One may have understood the values and principles that Agile stands by, but until they see Agile in action by applying the knowledge in one of the frameworks, they would not have a true understanding of how Agile works in the market. Scrum is one of the most popular Agile frameworks used in various Agile industries as it enables the developers to design complex products using simple Scrum Artifacts and techniques. Scrum Framework has been chosen over other Agile frameworks by almost 35% of the respondents as recorded in the 14th state of Agile annual report. This shows the popularity of Scrum and answers why professionals looking for more job opportunities should learn more about Scrum. In this article, we use the Scrum framework to comprehend the Agile Methodology and learn about various Agile techniques using Scrum.
What is Scrum?
Scrum is one of the Agile frameworks to deliver the products iteratively and incrementally. It is focused as a method that follows the empirical process, which allows teams to respond rapidly, effectively, and efficiently to change. Scrum uses time boxes, collaborative ceremonies, and prioritized Product Backlogs, along with frequent feedback cycles to fix time and cost and to control the requirements. Business involvement throughout the process of development of the project is a critical aspect in Scrum as the production relies on the communication and collaboration of the team members and the customers. Often, individuals get confused between the terms Scrum and Agile and use them interchangeably. But it is a misconception, that both are the same. Scrum is an Agile framework but it is not the only framework that uses Agile Methodology. Few other methods such as Extreme Programming (XP), Feature Driven Development, DSDM Atern, Crystal, etc are also few frameworks that use Agile Methodology.
The Scrum Framework
The project is started by having a clear vision which is provided by the business, along with a set of features of the product arranged in their order of importance. The Product Owner which is a customer or customer representative maintains the Product Backlog. This backlog contains all the features which have to be a part of the product. The Sprint or Iteration is a time-boxed period where the team has to complete the features selected for that particular Sprint. The length of the Sprint is one to four weeks which is maintained throughout the project’s life such that a cadence could be established. The team selects the items from the Product Backlog and adds them to the Sprint Backlog. This backlog consists of the features and tasks that have to be completed in the Sprint selected.
The task work begins once the team will focus on meeting the Sprint Backlog and is protected from these interruptions. When the Sprint is going on, the team checks in every day with each other in a 15-minute meeting known as Daily Scrum where the team discusses what they have accomplished yesterday, what they plan on doing today, and if they have any impediments in their way. When the Sprint ends, the team demos the work that they have completed to the stakeholders and gathers the feedback which affects the work that they perform in the next Sprint. The team conducts a Sprint Retrospective which is a Scrum Event where they discuss ways to improve in the next Sprint. Many teams may avoid this meeting as they might find it a repetition of Sprint Review. However, this meeting is critical as it discusses the three pillars of Scrum: transparency, inspection, and adaptation.
What are the roles and responsibilities in Scrum?
There are three primary roles/accountabilities in Scrum known as the Scrum Master, the Product Owner, and the Development Team. The Scrum Team also has secondary roles such as Business Analysts, and Scrum Architects but they are considered as part of the Development Team. Let us look at the three primary roles with more details.
- The ScrumMaster is the advocate of the team and acts as the keeper of the process. They have the role of removing obstacles, facilitating the team’s communication, mediating discussions within the team, and also negotiating the features with the external team. They act as a servant leader that exists to assist the team in their need.
- The Product Owner is the voice of the customer who has the responsibility of maintaining the Product Backlog and can make decisions about the product. They communicate the vision of the team by defining and prioritizing the items on the Product Backlog. They work with the team daily by answering the questions guiding the developers.
- The Development Team or Developers are jointly responsible for product development and delivery. The team members own the estimates, report the daily status of each other in the daily standups, and make task commitments. The team is a self-organizing team that decides on the methods to build product features. In simple terms, we can understand that the team decides how to build the product features while the Product Owner decides on what exactly should be built-in and added to the product.
The Scrum Framework is applied by using a set of Events, which are Sprint Planning meetings, Daily Scrum, the Sprint Review, and the Sprint Retrospective. The team works in time-boxed periods called Sprints which are fixed lengths upto one month. Release planning meetings are also a part of a recommended activity called Product Backlog Refinement, however, they are optional and allow the team for planning and forecasting groups of Sprints.
Sprint Planning Meetings
The ScrumMaster, the Product Owner, and the team members are all present for the Sprint Planning meeting which is held on the first day of every Sprint. The Product Owner presents the features that they would like to complete in the upcoming Sprint which is “the what” of the product features, and then the team decides on the tasks that are needed to be accomplished so that the product feature is completed. This is “the how” of the features. The work estimates are reviews to see whether the team could complete all the features in the Sprint. When the team confirms the work estimate, they commit to Sprint and start working on the Sprint. However, if they cannot complete the entire project, they cut down the low priority items on the Sprint Backlog till the workload is small enough for the team to commit.
How to track the progress of the project?
When the Sprint-Planning meeting is completed, the team commits and begins to track their progress by using highly visible information radiators such as task boards and burndown charts.
- The tasks for each feature can be tracked using the task board where the minimum columns used are To Do, Doing, and Done. The team conducts the daily standups at the task board and as they complete they move items across the board as they state what they completed yesterday, what they plan on doing today, and what are the obstacles that are coming in the way of the product development.
- The burndown charts are a visual representation of the trend line of the amount of work left to complete in the sprint. The x-axis represents the number of days in the Sprint, and the y-axis is the number of hours for all tasks that were allocated in the Sprint Planning meeting. As the days of the Sprint pass, the line which indicates the amount of work should trend down to zero till the last day of the Sprint.
Hence, by the combination of the daily standups, burndown charts, and task boards, the Scrum Team can have a clear picture of what is being worked on and what is completed, and what is still to be completed. Using these methods, the team can also track whether their work would be completed in time, or delayed, and also discover what is preventing the team from reaching the Sprint Goals.
When the Sprint is completed, the team conducts a Sprint Review meeting where the stakeholders review the Sprint by observing the demonstration of the product features. The Product Owner records all the feedback from the stakeholders and adds them to the Product Backlog. When the review is completed, another meeting without the stakeholders, which is called the Retrospective is held, where the team members elaborate on the impediments that they struggled with during the Sprint. Here other people may recommend ways to overcome these challenges and guide them on how to move forward. Following this, an action plan is built where these items are implemented throughout the next Sprint and reviewed for efficacy in the next retrospectives.
Release Planning meetings
Release planning is the long-term planning for a time box that consists of multiple Sprints. This planning is usually done quarterly and the results could be an internal release so that the system integration and validation of the company could be evaluated. Hence, these results are usually not shared with the customers. The release planning meetings are attended by all the members of the Scrum Team where the Product Owner exhibits the features that have to be completed in the next quarter. The tasks required to complete these features are not done yet, however, gross level estimates to determine what features could be completed in which Sprint could be planned by the end of the quarter. There are many types of release planning such as Feature-driven, time-driven, and cost-driven. Feature-driven planning answers how many Sprints would it take to complete a specific feature. Time-driven answers how many features could be completed by this deadline, and cost-driven answers with a given budget, what features could be completed before the money runs out, and how the schedule to complete this work looks like.
Top Three Questions Asked by Individuals new to Agile and Scrum
- What happened to Documentation such as Gantt Charts?
Scrum Projects do not use Gantt Charts as they have been replaced with burndown charts (release and sprint burndowns), backlogs, Sprint plans, task boards, release plans, and other metrics. These metrics have shown to communicate progress, forecasts, and status in a better manner than Gantt charts. The Agile rule of thumb is that if the artifact adds value and the customer is willing to pay, then the artifact should be created. However, if the artifact exists because it is on the checklist, or we have always done it this way, then these artifacts should be considered for elimination. Other processes such as audits and accounting which is required for governance or compliance may be followed, but can also be streamlined.
- What happened to the Project Manager?
The Scrum Master’s role is often confused with that of the Agile Project manager or any other title of designation. Both of the roles may sound the same, however, they are not the same. The Scrum Master is a servant leader who facilitates Agile Events and asks the Developers if they could do anything to help the Developers. The Scrum Master has an active participation in the process and guides the team during the product development and delivery. Likewise, it is contrary in the case of Project Managers. The Project Manager has primarily a “command and control” kind of leadership. They order work things to be done to the Developers which is decided by them and the Developers do not get more of the authority to input suggestions and work on the project and manage themselves. Also, another major change that has taken place in Agile is that the ownership and accountability is divided equally among the members of the team, whereas in traditional practices, all of the accountability and the ownership was given only to the Project Manager.
- Does Scrum still use detailed tasks and task estimates to generate projections?
No, Scrum does not detail the task and task estimates to generate projections. The traditional estimating and planning used the bottom-up method where the requirements should be fully defined and the tasks are created and estimated based on this fixed scope. Scrum uses a top-down method to forecast, where gross level estimating at the feature is done using the planning poker method. In this method, the estimates are given in points using the Fibonacci sequence.
Scrum is Agile Project management which helps the teams to deliver value products in an incremental and iterative method. This helps the developers to continuously inspect and adapt the process. Several organizations have implemented Scrum in their company and have seen a significant rise in their business value and an early return on investment. Understanding Agile methods step by step with examples would also be a great way to learn about the Scrum Framework. As Scrum is a broad area and this was just a short overview of the framework, many other areas of interest such as product roadmap, user stories, story maps, estimating using points, and many other features could be elaborated however, all of them are equally important to comprehend Scrum deeply and understand the Agile project management. Scrum is a deeper framework to understand but with more knowledge and practice, one can easily master Scrum values, methods, and techniques.