Scrum is an agile development methodology used in the development of Software based on an iterative and incremental processes. Scrum is adaptable, fast, flexible and effective agile framework that is designed to deliver value to the customer throughout the development of the project. The primary objective of Scrum is to satisfy the customer’s need through an environment of transparency in communication, collective responsibility and continuous progress. The development starts from a general idea of what needs to be built, elaborating a list of characteristics ordered by priority (product backlog) that the owner of the product wants to obtain.
The history of Scrum can be traced back to 1986 in the Harvard Business Review (HBR) article titled, “The New Product Development Game” by Hirotaka Takeuchi & Ikujiro Nonaka. This article describes how companies such as Honda, Canon, and Fuji-Xerox produce new products worldwide using a scalable and team-based approach to product development. This approach emphasizes the importance of empowering self-organized teams.
The article was an influence to develop many of the concepts that gave birth to what we now call Scrum. Scrum is a term drawn from Rugby, which refers to how the game is restarted after a foul or when the ball has left the game.
In 1993, Jeff Sutherland and his team at Easel Corporation created the Scrum process to be used in software development processes by combining the concepts of the 1986 article with the concepts of object-oriented development, empirical process control, iterative development and incremental, software processes and productivity improvement, as well as the development of complex and dynamic systems.
Scrum is precisely an evolution of Agile Management. Scrum methodology is based on a set of very defined practices and roles that must be involved during the software development process. It is a flexible methodology that rewards the application of the 12 agile principles in a context agreed by all the team members of the product.
Scrum is executed in temporary blocks that are short and periodic, called Sprints, which usually range from 2 to 4 weeks, which is the term for feedback and reflection. Each Sprint is an entity in itself, that is, it provides a complete result, a variation of the final product that must be able to be delivered to the client with the least possible effort when requested.
The process has as a starting point, a list of objectives/ requirements that make up the project plan. It is the client of the project that prioritizes these objectives considering a balance of the value and the cost thereof, that is how the iterations and consequent deliveries are determined.
On the one hand the market demands quality, fast delivery at lower costs, for which a company must be very agile and flexible in the development of products, to achieve short development cycles that can meet the demand of customers without undermining the quality of the result. It is a very easy methodology to implement and very popular for the quick results it gets.
Scrum methodology is used mainly for software development, but other sectors are also taking advantage of its benefits by implementing this methodology in their organizational models such as sales, marketing, & HR teams etc.
In Scrum, the team focuses on building quality software. The owner of a Scrum project focuses on defining what are the characteristics that the product must have to build (what to build, what not and in what order) and to overcome any obstacle that could hinder the task of the development team.
The Scrum team consists of the following roles:
Scrum master: The person who leads the team guiding them to comply with the rules and processes of the methodology. Scrum master manages the reduction of impediments of the project and works with the Product Owner to maximize the ROI. The Scrum Master is in charge of keeping Scrum up to date, providing coaching, mentoring and training to the teams in case it needs it.
Product owner (PO): Is the representative of the stakeholders and customers who use the software. They focus on the business part and is responsible for the ROI of the project. They Translate the vision of the project to the team, validate the benefits in stories to be incorporated into the Product Backlog and prioritize them on a regular basis.
Team: A group of professionals with the necessary technical knowledge who develop the project jointly carrying out the stories they commit to at the start of each sprint.
Scrum has many advantages over other agile development methodologies. It is currently the most used and trusted framework of reference in the software industry. Below are some of the known benefits of Scrum:
Easily Scalable: Scrum processes are iterative and are handled within specific work periods, which makes it easier for the team to focus on definite functionalities for each period. This not only has the benefit of achieving better deliverables in line with the needs of the user, but also gives the ability to the teams to scale the modules in terms of functionality, design, scope and characteristics in an orderly, transparent and simple manner.
Compliance of expectations: The client establishes their expectations indicating the value that each requirement/ history of the project brings, the team estimates them and with this information the Product Owner establishes its priority. On a regular basis, in the sprint demos, the Product Owner verifies that the requirements have been met and transmits feedback to the team.
Flexible to changes: Quick reaction to changes in requirements generated by customer needs or market developments. The methodology is designed to adapt to the changing requirements that complex projects entail.
Time to Market reduction: The client can start using the most important functionalities of the project before the product is completely ready.
Higher software quality: The working method and the need to obtain a functional version after each iteration, helps to obtain a higher quality software.
Timely Prediction: Using this methodology, we know the average speed of the team by sprint (story points), with which, consequently, it is possible to estimate when a certain functionality that is still in the backlog will be available.
Reduction of risks: The fact of carrying out the most valuable functionalities in the first place and of knowing the speed with which the team advances in the project, allows to clear risks effectively in advance.
Each of the Scrum events facilitates the adaptation of some of the aspects of the process, the product, progress or relationships.
Sprint: Sprint is the basic unit of work for a Scrum team. This is the main feature that marks the difference between Scrum and other models for agile development.
Sprint Planning: The goal of the Sprint Planning is to define what is going to be done in the Sprint and how it is going to be done. This meeting is held at the beginning of each Sprint and is defined how it will approach the project coming from the Product Backlog stages and deadlines. Each Sprint is composed of different features.
Daily Scrum: The objective of the Daily Scrum is to evaluate the progress and trend until the end of the Sprint, synchronizing the activities and creating a plan for the next 24 hours. It is a brief meeting that takes place daily during the Sprint period. Three questions are answered individually: What did I do yesterday? What am I going to do today? What help do I need? The Scrum Master should try to solve problems or obstacles that arise.
Sprint Review: The goal of the sprint review is to show what work has been completed with regards to the product backlog for future deliveries. The finished sprint is reviewed, and there should already be a clear and tangible advancement in the product to present to the client.
Sprint Retrospective: The team reviews the completed goals of the finished sprint, write down the good and the bad, so as not to repeat the mistakes again. This stage serves to implement improvements from the point of view of the development process. The goal of the sprint retrospective is to identify possible process improvements and generate a plan to implement them in the next Sprint.
Scrum Artifacts are designed to guarantee the transparency of key information in decision making.
Product Backlog (PB): The product backlog is a list that collects everything the product needs to satisfy the potential customers. It is prepared by the product owner and the functions are prioritized according to what is more and less important for the business. The goal is for the product owner to answer the question “What should be done”.
Sprint Backlog (SB): It is a subset of items of the product backlog, which are selected by the team to perform during the sprint on which they are going to work. The team establishes the duration of each Sprint. Usually the sprint backlog, is displayed on physical boards called as Scrum board – that makes the development process visible to everyone who enters the development area.
Increment: The Increment is the sum of all the tasks, use cases, user stories, product backlogs and any element that was developed during the sprint and that will be made available to the end user in the form of Software.
The Sprint Planning Meeting is held at the beginning of each Sprint. All the members of the Team participate in the meeting, i.e., the Product Owner, Scrum Master and all the Development Team. The entire Scrum team must understand and define what objective should be obtained in that Sprint (Sprint Goal). From this point the development team must design a work plan to achieve the objective. This planning should allow you to see if the sprint goal involves a workload according to the duration stipulated for the Sprints (which is 2 to 4 weeks).
The client shows the result to be achieved in that Sprint and the requirements of the deliverable product. Here you have to carry out a discussion in which the development team evaluates what elements of the list can be delivered.
Both the Scrum Master and the Product Owner must collaborate to clarify any aspect of the requirements. Finally, the development team must explain how they will organize the team’s work to achieve the Sprint goal.
Now that you know better what Scrum methodology is all about and how it can help you, would you be interested in applying it to your company? Get in touch with us and we will help you transform your current process in to a better one.
You can also signup for a free trial of SwiftKanban which supports Scrum processes with an integrated set of Scrum features and metrics – to help you gradually improve your processes.