If you've ever researched the software development process, you've probably heard of many software development models, such as Waterfall, V model, spiral model, or iterative approach model... And recently, we've been hearing a lot about Scrum. So, what exactly is Scrum? What makes the Scrum software development model so appealing to so many software companies? In order to answer these questions, we will learn about Scrum in two sections. And in this first section, I'd like to introduce the fundamental concepts of Scrum, as well as application areas, properties, and roles in a scrum team.
1. What is Scrum ?
Scrum is a framework that helps people solve complex adaptation problems and add the most value to a product in the most efficient and innovative way possible. Scrum is not a method, process, or technique. Scrum is a framework for implementing various processes and techniques. Scrum clarifies the relative effectiveness of your product management and work techniques, allowing you to continuously improve your product, team, and workplace. A Scrum team and its associated roles, events, and principles are present in a scrum framework. Each component serves a specific purpose and is required for Scrum to be successful.
2. Where is Scrum being used?
We frequently come across scum in the software development industry. However, Scrum is used in many fields other than software development, including hardware development, embedded software, networks of interactive functions, autonomous vehicles, schools, government, marketing, and managing organizational activities.
3. Scrum Components
Scrum, which employs an iterative and incremental approach, aids in the optimization of predictability and risk control. Scrum has three distinguishing characteristics: transparency, testability, and adaptability. These are the three pillars that aid in the control of the implementation process. Transparency: Critical aspects of the process are defined by a common standard and must be transparently visible to those accountable for the outcomes. Testability: Regular testing is critical for detecting unexpected errors. Adaptability: Following testing, if one or more aspects are found to be incorrect, deviate from the sprint goal, and possibly render the product unacceptably flawed, the aspects should be changed as soon as possible. good.
4. Scrum Team
Whereas other software development models have roles such as BA, Developer, QA, Tester, Project manager, etc., Scrum teams only have three: Product owner, Development team, and Scrum master. The team model in Scrum is intended to maximize creativity, flexibility, and productivity. As a result, the Scrum team possesses two distinguishing characteristics: self-organization and cross-functionality.
4.1 Product Owner
The product owner is the person in charge of the product vision and is accountable for the highest value of the development team's product results. The product owner is in charge of the product backlog:
- Clearly describe each item on the backlog.
- Backlog items should be properly prioritized.
- Increasing the value that the Development team provides
- Ascertain that the product backlog is clear and transparent.
- Ascertain that the Development team is aware of the product backlog.
4.2 Development team
The development team is made up of product development professionals. The development team is designed to self-organize and manage their own work. The following characteristics are shared by the development team:
- The development team self-organizes by planning, estimating, and managing its own work.
- Cross-functional: The development team possesses all of the skills required by a team for product expansion.
- We don't recognize subteams in the Development team in Scrum, regardless of what needs to be solved, such as testing, structural design, operations, or business analysis.
- Each member of the Development team may have their own specialized skills and only focus on certain things, such as coding or testing, but the responsibility is shared by the entire Development team.
- A development team of 3 to 9 people is ideal. There should be no fewer than three and no more than nine members.
4.3 Scrum Master
The Scrum Master is in charge of assisting the Scrum team in understanding the theory, practice, principles, and values of Scrum. The Scrum Master assists organizations outside of the Scrum team in determining which interactions with the Scrum team are beneficial and which are not. The Scrum Master facilitates the transformation of those interactions in order to maximize the value created by the Scrum team.
Scrum master SUPPORT product owner
- Ensure that the Scrum team members understand the goal, scope, and product area as completely as possible.
- Find techniques to assist the Product Owner in effectively managing the Product Backlog.
- Assist the Scrum team in clearly and succinctly understanding the Product Backlog items.
- Learn about product planning in an experimental setting.
- Ascertain that the Product Owner understands how to organize the Product Backlog to maximize value.
- Recognize and practice flexibility.
- Facilitate the smooth running of Scrum events as needed.
Scrum master SUPPORT development team
- Coaching self-organizing and cross-functional development teams.
- Help Development team create high value products.
- Remove obstacles affecting the progress of the Development team.
- Facilitate the necessary Scrum events to run smoothly as required.
- Coach the development team in an organizational environment where Scrum is not yet fully accepted and understood.
Scrum master SUPPORT organization
- Lead and coach the organization's Scrum adoption.
- Scrum implementation in an organization should be planned.
- Assist employees and stakeholders in understanding, implementing, and developing actual products in accordance with Scrum.
- Make organizational changes to boost the Scrum team's productivity.
- Collaborate with other Scrum Masters to improve the effectiveness of Scrum adoption in a company. Above, I discussed the fundamental concepts of Scrum, as well as the areas of application, nature, and roles in a scrum team. The following section will go over scrum events, scrum rules, and how to use scrum in the software development process.