Scrum and Agile processes can seem completely incomprehensible if you have not had it explained to you. In this article, you will get it all explained in an understandable and concise way.
Scrum is an Agile process that is common in software development. Scrum is a framework for project management and is well suited for most projects as it is often impossible at the start of the project to anticipate and plan the entire project.
Scrum has a fixed schedule for release cycles that can be different lengths, two weeks is probably most common but also one and four weeks are usual. These cycles are called sprints and are created to meet changes in conditions. A Scrum process differs from other agile processes by specific concepts and methods, divided into the three categories of roles, ceremonies (events or meetings) and artifacts that we describe below.
All members of the Scrum team are responsible for refining the backlog. This is done on an ongoing basis to explain, estimate and prioritize things in the Product Backlog.
This is usually done in a meeting where all members of the team are involved, this meeting normally has no fixed routines but everyone should feel equally involved and responsible for the backlog.
The work performed during a Sprint is planned in a sprint planning meeting. This meeting is limited to two hours per scheduled week.
The capacity of the development team for the upcoming Sprint is determined.
Tasks are selected from the Product Backlog and moved to the Sprint Backlog in relation to capacity.
Along with the choice of tasks, a sprint goal is also formed. This goal is a benchmark for what is expected at the end of the sprint.
In this daily meeting, the work is synchronized and planned for the next 24 hours. This meeting is held every day in Sprint. This meeting is held at the exact same time and place every day to facilitate planning.
The structure of the meeting is determined by the development team and can be implemented in different ways if it focuses on progress towards the Sprint goal. Some development teams will use questions, others will be more discussion based.
Each sprint ended with a sprint review meeting. In this meeting, the sprint results are inspected and the product backlog is adjusted if necessary.
The sprint review contains the following elements:
Sprint Retrospective is an opportunity for the Scrum Team to review itself and create a plan for improvement to be adopted during the next Sprint.
During Sprint Retrospective, the team discusses:
Although improvements can be made at any time, the Sprint Retrospective meeting provides a formal opportunity to focus on reviewing and adapting oneself and the process.
The product owner is the most important person in the project. The product owner can be the primary user of the product, or at least have a deep understanding of who will do it.
Despite this expertise, the product owner may not determine how much work is done in the sprint or change the goals for it. The product owner must be available to the team and actively engage in it.
Communication is a big part of this, as the product owner communicates with both the team and the customer / stakeholders.
Scrum Master is the person who ensures that the team adheres to Scrum's values and practices, much like a coach. They remove obstacles, facilitate meetings and work with product owners.
Interestingly, the Scrum Master is an instructor who does not have authority over the team, but decides over the process.
The development team is the heart of the scrum team, as they are the ones responsible for doing the actual project work. Each member of the team has a skill that, together with the other team members, combines to meet all the needs to carry out the project.
The team acts collectively and is responsible for finding out how to achieve their goals. The product owner sets the priorities and the work is controlled by the scrum process and monitored by the scrum master. But all other responsibilities are placed at the feet of the development team.
The Product Backlog is an ordered list of features that are needed as part of the end product and it is the single source of requirements for any changes to be made to the product.
The Product Backlog lists all features, functions, requirements, enhancements, and fixes that constitute the changes to be made to the product in future releases.
Product Backlog items have the attributes of a description, order, estimate, and value. These items are normally termed as User Stories. The Product Owner is responsible for the Product Backlog, including its content, availability, and ordering.
The Sprint Backlog is the set of Product Backlog items selected for the Sprint, plus a plan for delivering the product Increment and realizing the Sprint Goal.
The Sprint Backlog is a forecast by the Team about what functionality will be made available in the next Increment and the work needed to deliver that functionality as a working product Increment.
The Increment is the sum of all the Product Backlog items completed during a Sprint combined with the increments of all previous Sprints. At the end of a Sprint, the new Increment must be a working product, which means it must be in a useable condition. It must be in working condition regardless of whether the Product Owner decides to actually release it.