Scrum - Agile project delivery approach
Developed by Mateusz Onyszkiewicz
The article provides useful guidelines and information helpful to better understand the implementation of Scrum methodology – one of the most popular Agile product development and project delivery approach. Scrum is a framework that may be applicable to projects, programs, or portfolios of different complexity and size. It is worth noting that it can be used to create a service, product, or other purpose in any industry. These can be small projects on which several people work or large, complex projects requiring the involvement of up to several hundred people. [1]
Contents |
Introduction
A Scrum project requires joint involvement in creating a new service, product, or different result. Projects are affected by several major constraints such as time, cost, quality, resources, scope, and organizational capabilities. In addition, there are also other limitations that interfere with proper execution, planning, and management which has an impact on the final success of the project. Agile has several methods, however, Scrum is one of the most popular. The main features of this framework are iteration, adaptation, flexibility, and efficiency with the main focus being the rapid delivery of value throughout the project. Scrum provides clear communication and makes an environment of collective responsibility and continuous improvement. [1] In order for Scrum projects to be successful, its principles must be strictly followed. The six Scrum principles are as follows:
- Empirical Process Control - Inspection, transparency, and adaptation are the three main ideas on which Scrum is based.
- Self-organization - Today's employees deliver much better value when they are self-organized, which in turn results in better team involvement and co-ownership.
- Collaboration - Articulation, awareness, and assimilation are the three fundamental dimensions of collaborative work and this principle focuses on them. The idea is to see project management as a collaborative process of creating value. Teams should work together and interact to deliver the best value.
- Value-based Prioritization - This principle focuses on delivering the highest possible business value from the very beginning of the project and throughout its entire cycle
- Time-boxing - Time is the crucial constraint in Scrum. Properly managed, it will help to plan and execute projects successfully. Sprints, Sprint Planning Meetings, Daily Standup Meetings, and Sprint Review Meetings are Time-boxed elements in Scrum.
- Iterative Development - Customer satisfaction is one of the most important factors in a successful project. Iterative development is helpful in building projects and managing changes to meet the needs of customers. It also identifies the organization's and the Product Owner's responsibility in regards to iterative development. [1]
History
The story of Scrum began with an article published in 1896 by Hirotaka Takeuchi and Ikujiro Nonaka. The article is titled "The New New Product Development Game" and describes how companies such as Canon, Honda, and Fuji-Xerox have delivered the highest quality results using a team-based and scalable approach to all-inclusive product development strategy. The article highlights the importance of an independent, organized team and outlines the role of management in the development process. This work had a great impact on combining concepts into one whole, which initiated the present-day Scrum.
To describe product development Nonaka and Takeuchi used the trope of rugby and Scrum: "The traditional sequential or “relay race” approach to product development ... may conflict with the goals of maximum speed and flexibility. Instead, a holistic or “rugby” approach—where a team tries to go the distance as a unit, passing the ball back and forth—may better serve today’s competitive requirements."
The Scrum process for use in software development was created by Jeff Sutherland and his team in 1993 by combining the principles and concepts from the above-mentioned article with the empirical process control, iterative, object-oriented development, and incremental concepts. [2]
The difference between Scrum and Traditional Project Management
Nowadays organizations need to be flexible to meet the customer's demands and be competitive in the marketplace. Agile Project Management comes in handy here, helping to meet challenges and a rapidly changing business environment. There are several key differences between an Agile and a traditional approach to project management. [3]
The first clear difference is that Scrum Methodology pays more attention to people than to processes as in the case of Traditional Project Management (TPM). Comprehensive documentation, which is necessary for the traditional approach to project management for Scrum, is minimized only to the required. The linear process style is replaced by iterative. Traditional Project Management focuses on high-level upfront planning, on the other hand, upfront planning in Scrum is low. When it comes to Prioritization of Requirements it is not fixed in the project plan as for TPM, however, based on business value and is regularly updated. Quality assurance for Scrum is customer-oriented, while for TPM it is process-oriented. In terms of organization, Scrum is self-organized with a decentralized management style and Traditional Project Management is managed with a centralized management style. Another difference is the approach to change where Formal Change Management System has been replaced with Updates to Productized Product Backlog. Leadership for Scrum is about collaboration, servant leadership while for TPM it is command and control. Performance measurements are done using business value not plan conformity as for TPM. Last but not least, return on investment for Scrum is early, throughout the project life. Customer involvement is also high from the beginning to the end of the project. On the other hand for Traditional Project Management return on investment is the end of project life and customer involvement varies depending on the project lifecycle.[1]
Why use Scrum?
Using Scrum has several key benefits in projects. Some of them are presented below:
- Adaptability - Projects are open to change and adaptable thanks to iterative delivery and empirical process control.
- Continuous Feedback - Conducting Daily Standup and Demonstrating and Validating Sprint processes ensure continuous feedback.
- Transparency - Tools for exchanging information and controlling progress such as Sprint Burndown Chart and Scrumboard are shared, which creates an open work environment and has an impact on productivity
- Continuous Improvement - With each successive sprint, the results delivered are improved.
- Sustainable Pace - People are able to work at a sustainable pace thanks to the way in which Scrum processes are designed.
- Early Delivery of High Value - The Create Prioritized Product Backlog process is responsible for ensuring customer critical requirements first.
- Continuous Delivery of Value - According to the customer's request, further values are delivered through the Ship Deliverables thanks to iterative processes.
- Efficient Development Process - The high level of efficiency is ensured by time constraints and minimizing activities that do not add value.
- Faster Problem Resolution - Cross-functional teams work together to provide faster problem resolution.
- Motivation - Retrospect Sprint processes and The Conduct Daily Standup have an impact on the increased motivation of employees.
- Effective Deliverables - Satisfying deliverables for the customer are ensured by regular reviews and The Priority Product Backlog creation.
- Customer-Centric - A customer-oriented framework is ensured by an appropriate stakeholder approach and focus on business value.
- Collective Ownership - Team members are able to take the project's ownership thanks to The Commit User Stories which ultimately results in better quality.
- High Trust Environment - Team members have a high trust work environment based on transparency and collaboration which are promoted by Retrospect Spring and Conduct Daily Standup.
- Innovative Environment - Nowadays creative work and an innovative environment are crucial. Such conditions are created thanks to The Retrospect Project and Retrospect Sprint processes.
- High Velocity - High velocity and the full potential of cross-functional teams might be achieved by a collaborative framework.[1]
Scrum Roles
Scrum has several important roles. Core roles include Product Owner, Scrum Master, Scrum Team. Profitable implementation of Scrum projects requires understanding defined responsibilities and roles. There are also non-core roles such as, among others, Stakeholder (s), Vendors, Users, and Sponsors. Non-core roles are not necessarily required for a Scrum project and may not be constantly involved in the process. Nevertheless, it is important to know as much as possible about them as they can be an essential part of Scrum projects.
Product Owner
The Product Owner's task is to maximize the value of the product that is created through the work of the Scrum Team. The way it is done depends on the organization, individuality, or Scrum Team. Effective Product Backlog management is one of the Product Owner's accountability and includes:
- Development and clear communication of the Product Goal.
- Ordering Product Backlog items.
- Creation and clear communication of Product Backlog items.
- Assurance of the transparency, comprehensibility, and visibility of the Product Backlog.
The Product Owner may commission the work to other people or do it on his own, however, it is the Product Owner's accountability to make sure that work is done properly. Product Owners need the respect of the entire organization in terms of their decisions to be successful. The important point is that the Product Owner is one person which represents many stakeholders' needs in the Product Backlog. If someone wants to change the Product Backlog it is possible only by convincing the Product Owner. [4]
Scrum Master
The role of the Scrum Master is to follow the rules as defined in the Scrum guide. They help others in the organization and Scrum Team to better understand Scrum theory and practice. One of the most important tasks of the Scrum Master is to ensure the effectiveness of the Scrum Team. It is possible by improving Scrum Team practices within the Scrum framework. The Scrum Master should be a true leader who works for the benefit of both the Scrum Team and the larger organization. Below are presented the most important ways in which Scrum Master serves the Scrum Team:
- As cross-functionality and self-management are key factors in Scrum, the role of the Scrum Master is to coach team members in this area.
- The Scrum Team receives Scrum Master's support to better focus on developing high-value increments that fulfill the Definition of Done.
- The Scrum Master takes care that obstacles to the progress of the Scrum Team are removed.
- The Scrum Master ensures that all Scrum events are productive and in a positive atmosphere, and take place within the Time-box.
Below are presented the most important ways in which Scrum Master serves the Product Owner:
- The Scrum Master helps with finding appropriate techniques for efficient Product Backlog management and Product Goal definition.
- The Scrum Master makes Scrum Team aware of the necessity of clear concise Product Backlog items.
- The Scrum Master helps with setting up empirical product planning for different environments.
- The Scrum Master facilitates the needed and desired stakeholder collaboration.
Finally, the most important ways in which the Scrum Master serves the organization are presented:
- The Scrum Master Conducts, trains, and coaches organizations in the implementation of Scrum.
- The Scrum Master advises on the adaptation of Scrum in the organization.
- The Scrum Master helps both stakeholders and employees understand an empirical approach to work.
- The Scrum Master is accountable for clear contact between Scrum Teams and stakeholders.[4]
Scrum Team
The Scrum Team is also called the Development Team because it is responsible for service, development of a product, or another result. In the Scrum Team, a group of people work on the User Stories in the Sprint Backlog and their goal is to create the Deliverables for the project purposes.
References
- ↑ 1.0 1.1 1.2 1.3 1.4 1.5 SCRUMstudy™, a brand of VMEdu, A Guide to the SCRUM BODY OF KNOWLEDGE (SBOK™ GUIDE) Third Edition (2017)
- ↑ Kenneth S. Rubin, Essential Scrum: A Practical Guide to the Most Popular Agile Process, July 2012
- ↑ Danijela Ciric, Bojan Lalic, Danijela Gracanin, Nemanja Tasic, Agile vs. Traditional Approach in Project Management: Strategies, Challenges, and Reasons to Introduce Agile, January 2019
- ↑ 4.0 4.1 Ken Schwaber and Jeff Sutherland, The Scrum Guide™, The Definitive Guide to Scrum: The Rules of the Game, November 2020