Popularity and application of the Scrum framework in the software product development field is ubiquitous. Broader success of Scrum has made it important and worthwhile to understand the Scrum framework. In this article, we explore the Scrum Framework and understand the meaning of Scrum, the values that Scrum is based on and why Scrum framework has been successful in the software product development field?
Read: Scrum framework Timeline
What does Scrum mean?
The word “Scrum” comes for Rugby – the sport. The dictionary meaning of this word is “An ordered formation of players”. When “Scrum” framework was envisioned by Jeff Sutherland and Ken Schwaber, they took this ownership of each player in the team to tackle the incoming ball in such a way that the players coordinate as a team. Each player contributes by supporting the other player to help “The Team” win. The team inspects the moves of the opposition and adapts rapidly. The coach of the team, on the other hand, is not allowed to play the game herself. Yet, being an expert educates and guides the team on how they can handle the incoming ball. She empowers the team to make decisions by themselves.
The coach of the team, on the other hand, is not allowed to play the game herself. Yet, being an expert educates and guides the team on how they can handle the incoming ball. She empowers the team to make decisions by themselves.
What is Scrum Framework?
The Scrum framework is a light weight framework for developing and sustaining complex products. Foundation of Scrum is Lean Thinking and Empirical process control, that is, transparency, inspection, and adaptation. Scrum is a set of rules and guidelines that provide just enough structure to help the team cut down on the technical, business and interpersonal complexity of software development as a whole and empowers the team to achieve large goals. Scrum’s approach to product development is iterative and incremental with multiple feedback loops – also called inspect and adapt loops, inbuilt with the process. With each time-boxed iteration focused on delivering an increment of
Scrum’s approach to product development is iterative and incremental with multiple feedback loops – also called inspect and adapt loops, inbuilt within the Scrum framework’s design. With each time-boxed iteration focused on delivering a potentially shippable product increment. Scrum framework directly attacks the wasteful effort on non-essential feature development by calling the need to work on the highest (customer) value features first.
Scrum can be used as an organizational debugging tool that will highlight every deficiency and impediment that the enterprise has. In other words, Scrum exposes organizational dysfunctions that already exists. Scrum doesn’t fix these impediments. If the organization chooses to fix these impediments, they benefit and improve their product development and management.
Foundation of Scrum
Scrum is based on three pillars. Transparency, Inspection, and Adaptation.
Transparency: Transparency allows everyone on the Scrum Team and outside to align and optimize the goals of the Scrum Team, self-organize based on the available information and adapt based on the feedback. Transparency improves decision making, removes duplication and wasteful efforts and reduces silo behavior.
What are the Scrum Roles?
Scrum recognizes and describes 3 roles. The Product Owner, the Development Team, and the Scrum Master. All these three roles make a Scrum team. A Scrum team is a small, cross-functional team focused on delivering a valuable product.
Product Owner: The PO is responsible for maximizing the Return on investment (ROI). The Product Owner does so by collaborating with the customer to understand business needs and setting the direction of the product by ordering the product backlog with respect to highest business value.
Development Team: The Dev Team follows product vision and direction set by the Product Owner and helps translate it into a valuable software product. The development team members share the ownership and contributions to build, deliver and support the product. Each team member chooses the task that s/he will work on, owns it and is given due credit for the same. Traditionally tasks were assigned to the team hierarchically, whether a team member is willing to work on the task was never the point of consideration. Scrum is a team sport, that is based on cross-functional and self-managing teams. Scrum empowers the team members and promotes the collective ownership of value delivery.
Scrum Master: The Scrum Master serves the Product Owner to achieve the product goals, the development team to become a high-performance team and the organization to become a learning organization. The Scrum Master acts as a servant leader and team coach. Like a Rugby coach who does not play the game herself, but educates and coaches the team, helps them make decisions for themselves and helps the team focus on the game by removing impediments.
What are the Scrum Values?
Scrum values determine success, which cannot be bought, instead must be earned the old fashioned way hard work. Scrum framework is based on five core values:
- Focus: Focus on delighting the customer by delivering highest value features first.
The focus is really on delivering a product that will delight the customer, although not in one big bang release but in increments lined up in such a way that the customer gets the most important features first. The framework gives the end customer the authority to prioritize the increments as they will be delivered to them.
- Openness: Being open to all stakeholders with information about the work.
At every step of the development of the software, the customer (or a representative of the customer), in the form of Product Owner is involved and kept informed. The Product Owner keeps the information available and transparent with the team such as – customer feedback, the order of the product backlog items etc. Scrum emphasizes that people are the most important asset. It nurtures experimentation and creativity through shared values in small cross-functional teams focused on transparency.
- Respect: Respect for people and their freedom to express.
The Scrum framework emphasizes respect for people. The biggest beneficiary of respect IMO is the development team members, who help build and deliver a quality software product. Scrum empowers the development team to make decisions and through its rules encourages everyone to respect team’s decisions.
- Courage: Being courageous to challenge mediocrity, the status quo, top-down command, and hierarchy.
Scrum by design exposes dysfunctions, promotes self-organization and challenges status-quo. It’s important for practitioners to show courage to accept that problems exist and that they’ve to do something about it. Courage allows the product owner to experiment break-through ideas that may invite failures. Courage empowers the development team to challenge the wrong decisions taken by anybody that can go wrong and that rather than focusing on the “who made the wrong decision”, the focus is on course correction.
- Commitment: Committing to serving customers through valuable and quality products.
Commitment comes from the appreciation/feeling that the team is making a difference to the quality of software developed and the timeliness of delivery by focusing on delighting the customer. Commitment towards vision by every member of the Scrum team also brings better alignment, collaboration, and co-creation.
What makes the Scrum framework successful?
- Scrum is simple to understand and offers just enough structure to address complex product development challenges.
- It’s derived from real world successful teams, rather than from a hypothesis or academic research.
- Scrum helps teams to remarkably improve their ability to adapt to the rapidly changing business environment.
- Due to built-in inspect and adapt loops, Scrum is particularly best suited for high-risk and complex product development environment.
- Scrum helps to improve ROI. Scrum explicitly identifies Product Owner role who is responsible to improve ROI.
- Scrum enhances alignment of product development with customer needs.
- Scrum optimizes the effectiveness of the Scrum team in translating ideas to products.
- By time-boxing events, that create subtle pressure to deliver the valuable products – Scrum benefits from the sense of urgency to get things done.
- Scrum removes the analysis-paralysis and gets teams focused on delivering highest customer value every Sprint.
- Recurring and fixed time-boxes – called Sprints, and smaller-broken-down features that are ordered by customer value, help the team focus on the small yet measurable increment of the software product.
- Most of the elements of Scrum are linearly scalable and can be applied to large-scale product development environment.
- Scrum is derived from real world successful team, rather than from a hypothesis or academic research.
- Scrum explicitly calls for identifying and removing impediments to improve the pace of product development. Scrum Master is made responsible to ensure the impediments are busted.
- Scrum increases the decision making speed by empowering the Scrum Team.
- By identifying the Scrum Master role that is responsible for increasing the value delivered by the Scrum Team, implementing Scrum framework significantly improves Scrum Team’s effectiveness.
No wonder Scrum is the most widely used Agile framework worldwide.
What are the most common impediments to benefiting from Scrum?
Top-down hierarchical organization: Hierarchy slows down the information flow within the organization, resulting in slower decision making. Contrary to the hierarchy, the design of Scrum requires fast decision making at the ground, to be able to adapt to changing situations.
Predictive thinking: The traditional waterfall project management is built on predictive thinking and following the predicted direction. For example, the product manager identifying requirements to be built with an underlying assumption that the user will buy this product, the user will pay for these features, these features will make the product more valuable, etc. Whereas, the Scrum Framework is built based on inspect the data/facts and adapt the direction accordingly. Test the assumptions, fail-fast, build features as a hypothesis, conduct experiment is a way of agile mindset and being agile.
Big upfront planning: Traditional program managers, project managers, spend months planning the project, architects spend weeks and months designing the system and analyzing it. The reality of the product development world is that in the beginning of every product development, the users and the product managers in most cases, have little idea about the end result they want from the product. While the product is being developed there are insights and data being generated that help shape the direction of the product as well as the changing market impacts the requirements. Due to changing requirements, the plans that are made up front, the architecture that’s is designed no longer holds good and must be changed. The Scrum framework encourages little but frequent planning at regular intervals. It allows for the user feedback, data and reality to shape the future course of the product. Every sprint the product owner to fine-tune the direction of the product development by ordering the features that will be most valuable to the customer(s).
Willingness to cut quality to meet dates: The pressure of meeting artificial deadlines and always increasing scope is to cut quality – unknowingly. Scrum puts a full stop on this by breaking down the product delivery in smaller usually 2-week increments. As the product owner can decide to ship the product into production, the quality expectation is high.
Check Out: lucky patcher for android
In the end, I would like to state that Scrum will serve you if you embrace its values, and rely on people working together as a team to create valuable products. It is important to implement the roles, artifacts, events, and rules of the Scrum framework correctly to truly benefit from it.
Just like Scrum encourages seeking feedback regularly, I am up for your feedback. Please leave your comments and suggestions below.