What is Scrum?
10th Feb, 2020
Scrum is an empirical process framework designed to solve complex problems. Scrum helps in maximizing the Return on Investment for the products in the complex domain by reducing the Cost of Delay and Cost of Production.
Scrum uses a timeboxed approach called Sprint. Sprint is a safe to fail experiment that starts with a business hypothesis and ends with validating the hypothesis with feedback from customers.
History of Scrum
The word "Scrum" is derived from the game, Rugby. In Rugby, Scrum is a method that involves the players sticking very closely together with their heads down to get the possession of the ball.
The concept of Scrum is a cross-functional team working together to pass the ball back and forth and reach a distance to win.
In the year 1986, Hirotaka Takeuchi and Ikujiro Nonaka introduced the word Scrum in context to Product Development in the article "The New New Product Development Game" appeared in Harward Business Review.
They described a new approach to traditional product development based on their case studies that enhance speed and flexibility.
In the early 1990s, Ken Schwaber and Jeff Sutherland worked together to integrate their ideas into a single framework and named it Scrum. In 1995, Jeff and Ken presented a paper describing the Scrum framework at the OOPSLA '95 (Object-oriented Programming, Systems, Languages, and Application) conference in Austin, Texas.
After that, Ken Schwaber and Jeff Sutherland refined the framework further with their combined experience. That framework developed to became what we know now as Scrum.
Take the example of constructing a house. Consider, an under-construction house is handed over to you with the foundation and pillar set. You can start building it further with the groundwork laid, but you cannot begin living in the house.
You will need walls, rooms, interiors, and furniture to live in. You will be provided with the guidelines to construct the rooms, windows, etc. The choice of building it as per your choice in making it a better place to live in lies with you.
You have the groundwork, guidelines, and choice. How it turns out to be lies in the hands of you. That's called a framework.
Scrum is a framework, which can be used by product development teams to self-organize to solve complex and adaptive problems. The idea is to build complex products.
Product Owner: A Product Owner is like the CEO of the product. They represent the business and the users to the Scrum team. They are responsible for maximizing the value of the product.
Development Team: The team which contributes to the development of the product. They could be a Programmer, Test Engineer, Build & Release Engineer, Technical Architect, Technical Writer, etc. They are responsible for turning the needs of the users to a solution that fulfills it.
Scrum Master: The Scrum Master is a systems coach. They are responsible for maximizing the effectiveness of the Scrum Team by helping them improve the system, like
- The process and tools the team use
- The way the teams are structured
- How they interact with their dependencies
- Organizational Policies.
All three roles together are called the Scrum Team.
Any product development starts with creating a product vision. Vision is an image of the future. The Product Owner collaborates with the stakeholders like the users, investors, buyers, sponsors, subject matter experts, and anybody who can contribute to the vision and crafts a Product Vision.
The Product Owner does a competitor analysis to create
- Product Positioning
- Promotion Strategy
- Pricing Strategy
User research will happen next to understand how users do the job today, pains they face in doing their job, and creatively come up with the list of product features to solve their problems. This list in Scrum named Product Backlog.
Product Owner then works with the sponsors to understand the revenue and margin goals to prioritize the Product Backlog such that the features which solve the user problem while helping the business succeed.
The Market research, User research, and the Business Model Design together called as Product Discovery. Scrum does not prescribe how do you make the discovery. In the case of complex products, you do not have to spend more time on Product Discovery as it will be an ongoing activity.
The Product Backlog is one of the primary artifacts in Scrum. Each item in the Product Backlog is called a Product Backlog Item (PBI). Each of these items could be a
- Functional requirement
- Non-functional requirement
- Change Request
and anything that impacts the product that goes into the Product Backlog.
The whole Scrum Team (Product Owner, Development Team, and the Scrum Master) collaborates to add more details to the top priority Product Backlog Items. We call this Product Backlog refinement.
The purpose of this activity is to have just enough details for PBIs for the first few sprints. Refinement is an ongoing activity that should happen in every Sprint, as Scrum suggests.
A Sprint is a timebox. In history, from sunrise till sunset, the wars happened as a timebox. During those ancient times, two groups fight each other from dawn till dusk. They will then take a break to reflect on the progress made and also on how they waged war.
A Sprint is something like that when you are building solutions to complex problems. Sprints are short safe-to-fail experiments to uncover problem/solution fit iteratively. The Goal of the Sprint is to create a Product Increment that will help the product teams understand that they are building the right product.
You can name a Sprint as 0 or 1, Stem or root, Arnold or Stallone, the goal of the Sprint is to build a working product increment.