An Ultimate Guide to the Scrum Project Management
A complete guide to understanding and using the Scrum methodology, including the history and definitions of the most commonly used Agile terms.
Join the DZone community and get the full member experience.Join For Free
If you've spent even a small amount of time in the field of digital project management then you must have heard about the Scrum methodology. Scrum, which was initially designed for software development teams now, finds its application across many other fields like marketing, project management, and many more.
According to a report by a Project Management Institute, more than half of the project managers who use the Agile framework uses the Scrum methodology. Not only this, but a PMI survey also shows that around a combined total of 55% of organizations "Sometimes", often", or "always" uses Scrum.
In this article, we'll provide you with a complete guide on Scrum methodology which would include:
What Is Scrum?
Scrum is a management framework that utilizes incremental processes in a larger framework that leverages cross-functional teams to achieve their goals along with adapting to changes. The main objective of Scrum is to establish small pieces of a release quickly rather than focusing on all the smaller steps that take place within each sprint and iteration.
Adopting Scrum project management results in lower costs of development, immediate returns, greater responsiveness to customers, and job satisfaction. Scrum is more like a fluid practice rather than a linear process which takes many moving teams, parts, and goals into consideration as it continues to progress.
Moreover, Scrum provides a targeted structure with the help of four ceremonies which are:
- Sprint planning
- Sprint demo
- Daily standup
- Sprint retrospective
This makes it a highly efficient and prescriptive process. We'll discuss these Scrum ceremonies in detail later.
A Brief History of Scrum
Two Japanese business experts - Hirotaka Takeuchi and Ikujiro Nonaka were the first to coin the term "Scrum" when they published their article " New New Product Development Game" in the Harvard Business Review. They called it a "rugby" style approach to the product development where the entire team moves forward while passing the ball back and forth.
In 1993, the first full implementation of Scrum occurred when John Scumniotales, Jeff Sutherland, and Jeff McKenna implemented Scrum at the Easel Corporation.
Sutherland and Ken Schwaber finally turned Scrum into a formal process in the year 1995 when they presented their paper "The SCRUM Development Process", at Object-Oriented Programming, Systems, Languages & Applications (OOPSLA) Conference '95 in Austin. This was Scrum's first public appearance for the outside world.
In 2001, Scwaber and Sutherland along with their 15 other software developer colleagues drafted Agile Manifesto which became a popular medium for many software developers across the world to pursue a different way of software creation.
In the next year, Scwaber founded the Scrum Alliance in which he started offering certification in various aspects of Scrum which included a ScrumMaster certification. To date, more than 100,000 people have received Scrum certification of some form.
In the year 2016, Scrum became fully formalized. Nowadays, Scrum understands the requirement for two product owners and distributed teams. This has resulted in more and more organizations willing to structure their team on Scrum.
How Does Scrum Work?
Scrum is a process framework that employs small teams to create products. Like XP, Kanban, and other methodologies of Agile, Scrum uses iterative, lightweight, and integrated development.
It's like an approach or a mindset more than a specific technique. Scrum is known for establishing working relationships that help many different people to manage complex projects collaboratively. These relationships can be categorized into ceremonies, artifacts, and roles. We'll discuss each of them later.
Scrum promotes self-organization instead of hierarchy. It offers a team the freedom to execute their work. This is the precise reason why interactions of Scrum team stands on three of its pillars which are:
All the important and significant aspects of the project must visible to every person who is responsible for the outcomes. Good Scrum teams ensure that they are sharing information constantly.
Each Scrum event offers an opportunity to analyze the process and its progress for improvements.
All the adjustments are made accordingly.
When to Use Scrum?
You can use Scrum for the projects that are flexible and easy, yet defined well enough to hit targets and achieve goals that the stakeholders and customers have set.
As we discussed above, Scrum can be defined by its sprints, so it can be best used for those kinds of projects that would gain benefit from an incessant re-evaluation of tasks, goals, and roles of the team.
Scrum comes with its set of prescribed roles that gives structure to a project and yet has enough room for accommodating any shifting of assignments that are based on timelines that keep evolving out of the process.Apart from that, you can use Scrum for the projects that:
- Needs quick feedback loop
- Have stakeholders who keep on changing their minds frequently
- Have a cross-functional team
- Don't receive that many interruptions from daily business
- Uses feedback from stakeholders to prioritize the next sprint
What Are the Principles of Scrum?
If you want to implement Scrum properly then its core principles must be followed. Some of these principles are applicable for agile as a whole and others are just unique to Scrum methodology. Below is the breakdown of all core principles of Scrum.
Interactions and Individuals Over Tools and Processes
Its first principle is that it focuses more on interactions and individuals rather than the tools and processes. In Scrum methodology, communication plays a bigger role than the processes than run the project.
Goes for Working Software Over Comprehensive Documentation
Scrum methodology focuses more on creating products that are shippable instead of spending a huge amount of time simply writing down various requirements. In this methodology, the time-boxed sprints of work run with an increment that is shippable which are produced at the end of all sprint.
Collaboration with a Customer Over Contract Negotiation
The Scrum methodology values customer collaboration as it has consistent and regular client involvement. Throughout the entire process, the client is heavily involved.
Effectively Responding to a Change Over Simply Following a Plan
Scrum methodology doesn't see change as their enemy; instead, it perceives change as a good thing. Scrum constantly believes in embracing change and evolving requirements.
The Three Artifacts of Scrum
Scrum artifacts are essential as they communicate key information to the Scrum team that they must be aware of during product development.
The product backlog lists all the requirements, functions, and features of the product. It's important to note that it's quite common to have a product's requirements being changed during development. This happens either due to market trends or to reflect business needs. To reflect such changes, product backlog constantly keeps on updating itself.
Product Backlog Item
These are items that a product backlog consists of. These items detail the changes that are to be made for the desired outcome.
"User stories" is a simple way to express the desired outcome to the development team in which a simple sentence explains what a user or a business is looking for in the product. The structure of User stories is like this: "As an [blank] I want to [blank] so that I can [blank]."
These are the product backlog items that are selected for the sprint. This includes a plan for the production of an increment when the sprint ends.
The sprint backlog indicates the amount of work that the development team will do in the next sprint. It also defines the items that are required to produce an increment that meets the done' definition.
What are the different Scrum roles?
Scrum methodology is defined by various roles in which certain members are designated with a particular part of the process in which they oversee certain variables and then contribute at the end of the product. These roles consist of:
Scrum Development Team
A Scrum development team is nothing but a group of professionals that are responsible for the delivery of a release increment of "Done" at the end of every sprint.Let's see some other salient features of the Scrum development team:
- Development teams are highly self-organizing in nature. This is because no one in the Scrum team (which includes the Scrum Master too) is permitted to tell the team as to how to turn the Product Backlog into Increments.
- Scrum development teams are cross-functional and require all members to possess skills to create an Increment.
- The team takes all the responsibility for the successes and the failures. Even if the team misses out on an Increment at the end of the sprint due to a mistake of a single member, it accepts the responsibility as a whole.
The Scrum Master has the responsibility of leading the Scrum team. They must ensure that everyone has a crystal-clear understanding of the Scrum principles. They also offer teaching and guidance whenever necessary.
The Scrum Master leads the entire team through the daily Scrum. However, it's important to note that the Scrum Master is not the ultimate leader of the Scrum team. The Scrum Master is not directly responsible for the outcomes as we earlier discussed that the entire team takes responsibility for the result whatever it may be.
The Scrum Master also works with the Product Owner to ensure that the project is on the right track. They do tasks like:
- Organizing Scrum events
- Optimizing Product Backlog Management
- Helping the Scrum team to clearly understand the requirements of a concise product backlog items.
The product owner represents the customer base or business. Their purpose is to ensure that other members of the Scrum don't forget the main objective of the sprint. Product owners possess a strong understanding of user's requirements as they have a wide variety of potential customers and business users.
The product owner prioritizes the features and requirements of the product to the development when each sprint starts. Their job is to answer all the questions that the development team might have about requirements and specifications. It's important to note that the product owner is not involved with development whatsoever.
Scrum Events (Ceremonies)
There are four major kinds of Scrum meetings which are are also known as Scrum ceremonies or events. Some types of Scrum events take place at a specific time during the development process. Let's see each type one by one.
Sprint can be defined as a time-boxed period in which some specific work is completed and subsequently prepared for the review. Generally, sprints are 2-4 weeks long; however, in a few cases, they can be as short as one week.
Sprint Planning Sprint
Planning team meetings are also time-boxed events that decide how the work will be completed and which product items shall be delivered.
The Daily Stand-Up
It's a short communication meeting of fewer than 15 minutes in which every team member covers their progress since the last stand-up quickly and transparently. They also share their planned work before the next meeting and discuss roadblocks if any that are blocking their progress.
The Sprint Review
The Sprint Review is a demonstration event which is also known as a "show-and-tell" event where the team presents their work which they completed during the sprint.
This is followed by Product Owner checking the work against their pre-defined acceptance criteria and based on it they either accepts or rejects the work. The client and the stakeholders also give feedback to make sure that the delivered increment meets all the business needs.
The Retrospective which is also called Retro is the final team meeting of the sprint which determines what went well and what didn't. It also focuses on how the team can perform better in the next sprint. The retrospective meeting is attended by the ScrumMaster and the team.
This meeting offers the team an important opportunity to focus on its performance along with identifying various strategies that can bring continuous improvements in their processes.
What Are the Pros of Scrum?
We discussed various elements of Scrum. Now, let's have a look at a few major advantages that Scrum provides you with.
Enhanced Project Visibility and Transparency
Scrum methodology eliminates all kinds of misunderstandings and problems with routine check-ins, daily meetings, and other well-defined roles that offer insights into the project for the entire team.
In Scrum, all the issues are identified well before they pose a threat of causing delays hence helping teams to keep processes in motion and time in check.
All the members of the team collectively decide the work that they are going to complete in each sprint. All the opinions and concerns are raised, listened, and resolved throughout each step.
It's important to note that there's no single project manager who directs the entire team which means that there is enhanced empowerment and collaboration across the entire team.
Easy Accommodation of Changes
Due to constant feedback and short iterations, it's easy to accommodate changes. Moreover, work execution and continuous reflection on sprints enable refinement during Scrum meetings.
Scrum results in increased quality of products and lower expenses as all the changes and issues are addressed in a way that they are properly visible and communicated as soon as they arise. Short sprints break down the processes into small fragments where mistakes can be rectified timely.
These were some of the main advantages of using Scrum. However, Scrum also comes with few cons that you must be aware of.
What Are the Cons of Scrum?
Scrum is a robust project management methodology; however, it does come with its share of disadvantages. Let's have a glimpse at the cons of Scrum.
As in Scrum, the goals are fluid and changes are openly encouraged, scope creep can emerge as a real problem. Often stakeholders try to introduce more changes in the goals and processes regularly and rapidly by adding more functionality.
Difficulty in Managing Large Teams
It's difficult to manage large teams with Scrum as it's designed specifically for small teams. All its roles, processes, and artifacts are made by keeping a small team in mind.
Requires Commitment and Experience
Since scrum teams are small and the roles are well-defined, every member of the team must be experienced and familiar with all the Scrum principles to succeed. Team members with less technical knowledge and commitment can cause problems for the entire team.
Undefined tasks can cause inaccuracies
If the tasks are not defined accurately during the meetings then that lack of accuracy would reflect in the costs and the project timelines. If the initial goals and task lists are unclear then it makes planning more difficult and causes sprints to take more time.
In a nutshell, Scrum is about ensuring that your team works on a valuable project together in a sustainable manner. Sometimes you might indeed feel frustrated due to the intense work but in the long term, it will provide you with guaranteed productivity.
Scrum is exciting and fun. If you don't believe me then ask anyone who has successfully used Scrum for their company and they'll always describe Scrum to be "exciting", "thrilling', "proud", and "fun".
Published at DZone with permission of Ubaid Pisuwala, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
How to Use an Anti-Corruption Layer Pattern for Improved Microservices Communication
Top 10 Pillars of Zero Trust Networks
Unlocking Game Development: A Review of ‘Learning C# By Developing Games With Unity'
Authorization: Get It Done Right, Get It Done Early