The Scrum Methodology
Scrum is a process framework of agile. As a process framework, it defines what can be done, and how it should be done, but not the details. In this sense, it is not a formal methodology. What it does is to present a skeleton of the methodology, and it leaves the scrum members to develop their own methodology.
Self-organization within the Scrum team creates the methodology from the Scrum framework. It uses the concepts of Scrum and fits them to fit the project and the team. With self-organization, there is a retrospective to evaluate if the characteristics of the scrum, especially the sprint, fits the project. If the parameters do not fit, then these are changed accordingly. This can include the length of the sprint, the volume of work in a sprint, and others.
This is a fluid definition of a methodology and does not fit the definitions as used by traditional project management. However, it is a part of Scrum and Agile to consider that there will be changes along the way towards the development of the final product.
Scrum Methodology – The History
Scrum itself is not a methodology. It defines and gives guidelines to a methodology. For a particular project the Scrum Team, specifically, the Development Team will define the methodology to be used. The methodology itself can also evolve during the life of the project as new emergence and obstacles are known.
At the core of the methodology are the Scrum events. These include the Scrum planning, Sprint, daily scrum, scrum review, and scrum retrospective. The team decides on the length of the sprint. During the lifetime of a sprint, the team will plan and identify the items to be done during a sprint.
In line with Agile, revisions are introduced as Product Backlog. These specific backlog items will not be included until after a sprint is finished. During backlog refinement, the revisions are treated the same as any other backlog item. However, the impact of these revision requests on the development will have a heavy weight in the decision process. Prioritization is done to identify which of the backlog items will be included in the succeeding sprint.
As a methodology, Scrum is tight with time. It is strict with time-boxing. Most projects run in traditional waterfall methods go over time and over budget. Scrum makes sure that everything is within the project schedule. In traditional project management, there is a concept called the “Chinese Army” or “Mongolian Horde.” If a given project is getting late in deliveries, an alternative solution would be to add more workers. This may work in building a wooden bridge in a rural area during medieval times, however, in software development, adding more people would result in a late project becoming later.
Scrum does not try to prevent a late project. It addresses the causes of a late project and skirts it all together. Late projects are the result of a lack of understanding of the requirements. It can also be due to revisions incorporated into the project while the development is ongoing. More commonly, a project is already late even before it was started. The project was needed yesterday, or last year. When crunch time comes along, the schedule moves and results in a late project.
The framework is able to prevent this because it takes into account that the project specification and requirements are incomplete and that events will occur to change the requirements during development. The Scrum process framework includes procedures to include these changes. Additionally, the product prioritization makes sure that the increments include the most important product features. This results in an ongoing project where the latest increment is a reasonably working product.
How does Scrum fit with Agile?
Agile is considered as a mindset. It was developed as an improvement on traditional waterfall project management methodologies. Instead of a strict procedure for development projects, agile presents itself as a way of thinking about development. Scrum embodies Agile’s iterative and incremental development model. It uses short iterations and multiple releases which include improvements and added functionality with each release.
One of the documents which defined software engineering and project management was “The Mythical Man-Month: Essays on Software Engineering.” Although the book laid down the groundwork for software engineering as a practice, it also asked pertinent issues which were not addressed by the early waterfall methodologies of project management.
Chief of which is the concept that a finished software is obsolete. The reason for the obsolescence is that there is a long time between the requirements definition and the delivery. During this time, the requirements may have already changed. This change is not addressed by structured design and development. Agile supposes that not everything about a project is known at the beginning. There are unknowns, and during the development, these will come to light.
Scrum’s contribution to agile is its empirical approach. With agile’s emphasis on not knowing everything, Scrum addresses this with an empirical approach. Decisions are made by the team based solely on their observation of the discovery, experience, and experimentation. If there is a discovery or if the Product Owner introduces a new product backlog, the team relies on its knowledge and skills to determine the effects of the new item. Determining its priority and relative complexity is also a team decision.
Important Terms that are used with Scrum
The following are the terms used in scrum:
- Artifacts - Scrum artifacts represent the work is done or the work needed to be done.
- Backlog refinement - The process of limiting the backlog for the project or the sprint. It defines the product backlog items and the items which go to the product sprint backlog.
- Daily Scrum - This is a regular 15 minute daily timeboxed stand up meeting. Also called a stand-up. Members share with the rest of the team their latest activities, where they are headed, and any obstacles they foresee. This is not a status meeting.
- Defining “done” - Each Team is responsible for deciding when a backlog item is done. They can also define, “releasable”, “shippable” and “ready.”
- Development Team - This is the team responsible for developing backlog items during sprints.
- Emergence - New things that the Team learns as they move forward in development. These can later affect the development and may become backlog items in succeeding sprints.
- Empiricism - The core of Scrum is empiricism. Where knowledge comes from experience and making decisions based on what is known.
- Events - There are five scrum events: the Sprint, Spring planning, Daily Scrum, sprint review, and sprint retrospective.
- Increment - The increment is the sum of the completed product backlog items and completed sprint backlog items.
- Product Backlog - This is the list of items which need to be done for the product.
- Product backlog item - Individual items on the Product Backlog.
- Product backlog refinement - Adding detail and estimates to the individual items on the product backlog. The refinement process results in backlog items having more detail, and defined for “done.” Once the development team has decided if an item can be “done”, it is deemed as “ready” and included in the sprint planning.
- Product Owner - The person who is responsible for managing the product backlog. The Product owner is the client representative and sole contact person with the client. He is responsible for adding items to the Product backlog, organizing the order of development in the product backlog, He also ensures that the team understands the product backlog to the level that it can be developed.
- Scrum Board - A tool which organizes the product backlog items. The board is organized along swim lanes denoting the status of development for the product or sprint backlog.
- Scrum Events - These are regular activities which are analogous to work activities or meetings. These are timeboxed events with the goal of minimum time wastage, and preventing unnecessary meetings. Scrum events include the sprint, sprint planning, daily scrum, sprint review, sprint introspection.
- Scrum Master - The Scrum master is responsible for keeping the development of an agile/scrum project. He educates team members and stakeholders on the scrum process. He is also responsible for helping the team understand the product backlog items. He also facilitates scrum events as needed.
- Scrum Roles - There are three scrum roles: the Scrum Master, the product owner, and the development team.
- Scrum Team - The scrum team is composed of the Product Owner, Scrum Master, and the Development team.
- Self Organization - A characteristic of the Scrum Team. As self-organizing teams, the scrum teams choose their own way of doing things according to what they think will best accomplish their goals.
- Sprint - A sprint is the core activity of a scrum. Development is done within a sprint. A sprint is typically about 2 weeks in length. It can be up to a month in length, but seldom shorter than two weeks. The length is decided by the Scrum team.
- Sprint Backlog - The list of backlog items included in the development during a sprint.
- Sprint Backlog Item - A single item included in the sprint backlog.
- Sprint Goal - It is the goal of a particular sprint. It may include several items on the product backlog.
- Sprint Planning - An activity to plan developments for a sprint. It identifies what can be delivered in the sprint, as well as the work needed to deliver the sprint increment.
- Sprint Retrospective - Activity after the sprint, where lessons learned is dissected by the team in order to prevent these from happening again.
- Sprint Review - The review is conducted at the end of a sprint. Among things discussed is whether the increments are “ready”, “done”, “releasable” or “shippable.”
- Stakeholder - A person who would be affected by the Scrum product. These include the Scrum members, as well as the clients and vendors.
- Story - This is the attribute of the increment or the product backlog item. It describes how an item would be used and who would use it. The story details would be filled up by the Product Owner. However, it is up to the Development Team how they would approach its creation.
- Team Member - The team member is directly affected by the Scrum project. These are the Scrum Master, the Product Owner, and the Development Team. Alternatively, the development team is also composed of team members.
- Technical Debt - This is an unknown value which relates to the cost of maintaining the product after it has been released and already in use. It is debt because at the time of development, it is unknown if the finished or “done” product will fit the uses beyond what has been discovered.
- Timeboxing - Limiting the time in use for a particular event or activity. Typically, a Sprint meeting or standup is only 15 minutes long, while a sprint is normally timeboxed to only two weeks of development work.
- Values - Scrum adheres to the concept of commitment, focus, respect, openness, and courage. With these values, it is expected that the Scrum pillars will be realized.
- Velocity - Velocity is speed and direction. It refers to the average amount of work done or the increment in a sprint.
Scrum is a process framework. Development is within the prescribed events and done mostly by the Development team. The development is done within short iterations called sprints. In this manner, product development is incremental, leading to releases of fully functional products evolving with each subsequent iteration.
As a self-organizing process framework, the methodology details for a project is determined by the team members. If during the course of development, the team members would also be responsible for adjusting the processes if needed. There are a few caveats, especially considering that the sprint goals and sprint backlog would not change while the sprint is ongoing.
Revisions are also taken into account and are expected. However, during a sprint, the team works on only those items on the sprint backlog. Any additional item, including revisions, are added by the product owner to the product backlog. These are then included in the succeeding sprint planning.
Another crucial element of Scrum is its emphasis on timeboxing. This helps ensure that the project is kept within the deadlines, and under budget.
From a traditional project management point of view, Scrum delivers a product which is not fully detailed at the start. The details are threshed out according to new discoveries as well as feedback from prior increments and sprint experiences.
Why Scrum is an important Tool
Scrum is only one of several Agile frameworks and methodologies. It is the only one which emphasizes self-organization leading to unique Scrum implementations every time. Scrum is also able to scale down complex problems and create a working environment around groups of teams, or multiple iterations. It started out with software development teams and is now in use in other disciplines.
Although strictly speaking Scrum is not a methodology, but a framework, it is now one of the most popular methodologies as far as project management is concerned. Enrollment in Scrum classes has overtaken traditional PMO disciplines.
Scrum makes Agile feasible. It implements the major concepts of Agile. It delivers projects with a high rate of success in terms of keeping within the budget and being on schedule. This high rate of success has made it a viable methodology and implementation for a wide range of companies. The list of companies which use Scrum includes IBM, HP, Apple, Google, and others. It is now also being used outside of software development, and the IT industry.
The shortcomings of waterfall project management methods stem from the need to have everything documented, evaluated, and pass quality assurance before any work can begin. By the time the project has been awarded, the project requirements have already changed. Agile understands this problem and adopts an attitude where products are pushed out the door through multiple iterations.
One of the most famous lines of Agile is to “fail fast, fail often.” This implies that constant improvement may not pass product acceptance, but it can iterate fast enough to achieve success. The rapid development cycle of a sprint uses this concept to move products forward. Incremental development has a high probability with upgraded developments at the end of every sprint cycle.
In addition, the concept of self-organization ties in with a team which is responsible for its own project. The team is aware of the developments at every sprint. They also understand that events and forces external to the product backlog can change the acceptance of the sprint goals. A sprint can also be halted at any time, given the right conditions. These make it imperative for the short sprint life cycle to produce a working increment.
In structured design and development, the single point of contact is necessary for the project to continue. Stakeholders have been known to interfere directly with projects and go directly to the project manager and their development teams. This is a real threat to any project management. However, in Scrum, the Product Owner is assumed to be the champion for the project and is the only one with the authority to talk to the development team. This is a big factor for the success of the project. There is less interference from the clients when there is only one person on the client-side talking to the vendors/developers.
There is a scrum constraint that the sprint goals cannot be changed in the middle of a sprint. And yet, revisions are welcome at any time and can be introduced at the next sprint. This is a nod to the project as a moving target. It is acknowledged that there is no such thing as a fully discovered project. Instead, provisions are made to include new discoveries if and when these are needed. There is a mechanism for introducing these discoveries. In the end, these discoveries or product revisions are incorporated at the soonest available time. In doing so, the project does not become obsolete the moment it is finished.
Flexibility is a hallmark of Scrum development. This, however, does not extend to the timeframe and the budget. In most instances, the development would have a burndown chart, which shows the amount of financing or budget still available at any given time. At the same time, almost all elements and events in Scrum have strict timeboxing. The sprint lasts only for two weeks or a month, depending on prior arrangements. Standup meetings are held for only 15 minutes a day. Other events like the sprint review and the retrospective are also timeboxed, with limited preparation time. When working on a Scrum project, there is a sense that everything is under time pressure.
Scrum is not the only Agile methodology or approach. It is, however, easy to learn and could be used almost immediately, as long as there is a Scrum Master ready to keep the Scrum elements in line. It is flexible, and it helps meet time constraints and budget. It can also incorporate other Agile methodologies and tools. Companies looking for a quick and lean implementation tool would do well to study Scrum and use it for their processes.
Ready to increase your work productivity?
#1 rated scrum tool
Monday.com Project Management Tool
You may also be interested by: