What is ScrumScrum is a lightweight framework that helps people, teams, and organizations generate value through adaptive solutions to complex problems.In short, Scrum requires a Scrum Master to foster an environment where:1. A Product Owner orders the work for a complex problem into a Product Backlog.2. The Scrum Team turns a selection of the work into an increment of value during a Sprint.3. The Scrum Team and its stakeholders inspect the results and adjust for the next Sprint.4. RepeatScrum is simple. Try it as is and determine whether its philosophy, theory, and structure help achieve goals and create value. The Scrum framework is intentionally incomplete, only defining the parts necessary to implement Scrum theory. Scrum is built on the collective intelligence of the people who use it. Instead of providing people with detailed instructions, the rules of the Scrum Guide guide their relationships and interactions.Various processes, techniques, and methods can be employed with the framework. Scrum integrates with existing practices or makes them unnecessary. Scrum makes visible the relative effectiveness of current management, environment, and work techniques, so that improvements can be made.Scrum TheoryScrum is based on empiricism and lean thinking. Empiricism states that knowledge comes from experience and decision-making based on what is observed. Lean thinking reduces waste and focuses on the essentials.Scrum employs an iterative and incremental approach to optimize predictability and control risk. Scrum involves groups of people who collectively possess all the skills and knowledge necessary to do the work and share or acquire those skills as needed.Scrum combines four formal events for inspection and adaptation, contained within one event, the Sprint. These events work because they implement Scrum’s empirical pillars: transparency, inspection, and adaptation.Scrum TeamsThe fundamental unit of Scrum is a small team of people, a Scrum Team. The Scrum Team consists of a Scrum Master, a Product Owner, and Developers. Within a Scrum Team, there are no sub-teams or hierarchies. It is a cohesive unit of professionals focused on one objective at a time, the Product Goal.Scrum Teams are cross-functional, which means that members have all the skills necessary to create value each Sprint. They are also self-managing, which means they internally decide who does what, when, and how.The Scrum Team is small enough to remain agile and large enough to complete significant work within a Sprint, typically 10 or fewer people. In general, we have found that smaller teams communicate better and are more productive. If Scrum Teams become too large, they should consider reorganizing into multiple cohesive Scrum Teams, each focused on the same product. Therefore, they should share the same Product Goal, Product Backlog, and Product Owner.The Scrum Team is responsible for all product-related activities, from collaboration with stakeholders, verification, maintenance, operation, experimentation, research and development, and anything else that may be required. They are structured and empowered by the organization to manage their own work. Working in Sprints at a sustainable pace improves the Scrum Team’s focus and consistency.The entire Scrum Team is responsible for creating a valuable and useful Increment each Sprint. Scrum defines three specific accountabilities within the Scrum Team: the Developers, the Product Owner, and the Scrum Master.DevelopersDevelopers are the people on the Scrum Team who are committed to creating any aspect of a usable Increment each Sprint.The specific skills needed by the Developers are usually broad and vary according to the domain of work. However, Developers are always responsible for:● Creating a plan for the Sprint, the Sprint Backlog;● Gradually introducing quality by adhering to a Definition of Done;● Adapting their plan each day toward the Sprint Goal; and,● Holding each other accountable as professionals.Product OwnerThe Product Owner is responsible for maximizing the value of the product resulting from the Scrum Team’s work. How this is done may vary widely across organizations, Scrum Teams, and individuals.The Product Owner is also responsible for effective Product Backlog management, which includes:● Developing and explicitly communicating the Product Goal;● Creating and clearly communicating Product Backlog items;● Ordering Product Backlog items; and,● Ensuring that the Product Backlog is transparent, visible, and understood.The Product Owner may do the above work or may delegate the responsibility to others.Regardless, the Product Owner remains accountable.For Product Owners to succeed, the entire organization must respect theirdecisions. These decisions are visible in the content and order of the Product Backlog and through the inspectable increment in the Sprint Review.The Product Owner is one person, not a committee. The Product Owner may represent theneeds of many stakeholders in the Product Backlog. Those who wish to change theProduct Backlog may do so by trying to convince the Product Owner.Scrum MasterThe Scrum Master is responsible for establishing Scrum as defined in the Scrum Guide.They do this by helping everyone understand Scrum theory and practice, both within the Scrum Team and the organization.The Scrum Master is responsible for the effectiveness of the Scrum Team. They do this by enabling the Scrum Team to improve its practices within the Scrum framework. Scrum Masters are true leaders who serve the Scrum Team and the organization as a whole.The Scrum Master serves the Scrum Team in several ways, including:● Train team members in self-management and cross-functionality;● Help the Scrum Team focus on creating high-value increments that meet the Definition of Done;● Causing the removal of impediments to the Scrum Team’s progress; and,● Ensure that all Scrum events take place and are positive, productive, and keptwithin the Timebox.The Scrum Master serves the Product Owner in several ways, including:● Helping find techniques for effective Product Goal definition and Product Backlog management;● Helping the Scrum Team understand the need for clear and concise Product Backlog items;● Helping establish empirical product planning for a complex environment;and,● Facilitating stakeholder collaboration, as requested or needed.The Scrum Master serves the organization in several ways, including:● Leading, training, and guiding the organization in adopting Scrum;● Planning and advising Scrum implementations within the organization;● Helping employees and stakeholders understand and apply an empirical approach to complex work; and,● Removing barriers between stakeholders and Scrum Teams.Scrum Events: SprintSprints are the heart of Scrum, where ideas are turned into value. They are fixed-length events of one month or less to create consistency. A new Sprint begins immediately after the conclusion of the previous Sprint.All the work necessary to achieve the Product Goal, including Sprint Planning, Daily Scrums, Sprint Review, and Sprint Retrospective, happens within Sprints.During the Sprint:● No changes are made that endanger the Sprint Goal;● Quality does not decrease;● The Product Backlog is refined as needed; and,● Scope may be clarified and renegotiated with the Product Owner as more is learned.Sprints enable predictability by ensuring inspection and adaptation of progress toward a Product Goal at least once a month. When a Sprint’s horizon is too long, the Sprint Goal may become invalid, complexity may increase, and risk may increase. Shorter Sprints can be employed to generate more learning cycles and limit the risks of cost and effort to a smaller time period. Each Sprint can be considered a short project.There are several practices for forecasting progress, such as burn-downs, burn-ups, or cumulative flows. Although proven useful, they do not replace the importance of empiricism. In complex environments, what will happen is unknown. Only what has already happened can be used for future-oriented decision-making.A Sprint can be canceled if the Sprint Goal becomes obsolete. Only the Product Owner has the authority to cancel the Sprint.Scrum Events: Sprint PlanningSprint Planning initiates the Sprint by defining the work to be performed in the Sprint. This resulting plan is created through the collaborative work of the entire Scrum Team.The Product Owner ensures that participants are prepared to discuss the most important Product Backlog items and how they map to the Product Goal. The Scrum Team may also invite other people to participate in Sprint Planning to provide advice.Sprint Planning addresses the following topics:Topic One: Why is this Sprint valuable?The Product Owner proposes how the product can increase its value and usefulness in the current Sprint. The entire Scrum Team then collaborates to define a Sprint Goal that communicates why the Sprint is valuable to stakeholders. The Sprint Goal must be finalized before the end of Sprint Planning.Topic Two: What can be done in this Sprint?Through discussion with the Product Owner, the Developers select Product Backlog items to include in the current Sprint. The Scrum Team may refine these items during this process, which increases understanding and confidence.Selecting how much can be completed in a Sprint can be challenging. However, the more the Developers know about their past performance, their future capacity, and their Definition of Done, the more confident they will be in their forecasts for the Sprint.Topic Three: How will the chosen work be done?For each selected Product Backlog item, the Developers plan the work necessary to create an Increment that meets the Definition of Done. This is usually done by decomposing Product Backlog items into smaller work items of one day or less. How this is done is at the sole discretion of the Developers. No one else tells them how to turn Product Backlog items into increments of value.The Sprint Goal, the Product Backlog items selected for the Sprint, plus the plan for delivering them are together called the Sprint Backlog.Sprint Planning has a set Timebox with a maximum duration of eight hours for a one-month Sprint. For shorter Sprints, the event is usually shorter.Scrum in AgileOne of the most popular software testing methodologies (used by 58% of organizations that have adopted Agile, according to VersionOne), Scrum takes a highly iterative approach that focuses on defining the main features and objectives before each sprint. It is designed to reduce risk while providing value quickly.Furthermore, Scrum begins with a requirement or user story that describes how the features should be executed and tested. Then, the team goes through a series of sprints to deliver small bursts of value quickly. To help the team work in this flexible way and avoid shifting priorities, Scrum requires that questions be answered from the start.How is this different from Waterfall?While it includes several cycles of testing and bug fixing before launching a product, Scrum is much more collaborative and iterative. One of the biggest differences is that Waterfall requires heavy documentation from the start, which makes it difficult to change resources as the process progresses. This can be negative in some environments (such as consumer software) and positive in others (such as those where the team is trying to launch a rocket; no one wants requirements for something dangerous changing frequently).That said, you can think of Scrum as many “mini waterfalls.” Since the requirements are well defined at the beginning of each sprint and should not change within it. The difference is that the detailed requirements for the next sprint are not defined months in advance.Going deeper, Scrum requires more regular collaboration between testers, developers, and BAs. After all, in the form of daily tests and sprint reviews, to ensure proper communication and alignment.In addition, there is a Scrum Master, who helps keep the project on task by removing blockers from the team to ensure they are more effective. The Scrum Master can be anyone on the team, such as a developer or a tester.What does adoption involve?Scrum offers one of the easiest transitions for teams coming from a Waterfall environment. Since it is time-based with sprints, and releases can still be planned in advance. That said, it requires faster interactions and stronger collaboration.Who is it recommended for?Because of its fast iterations, Scrum is best suited for teams whose customers and stakeholders want to be highly involved. In addition, frequently reviewing work products in demo meetings.This collaboration causes the team to make changes for the next showcases. The key team members who should be involved when adopting a Scrum approach include:Product Owner;Scrum Master;Developers;Automation Engineers;Testers;Stakeholders.What are the best practices?In addition to strong communication, collaboration, and adaptability, other best practices for testers following a Scrum methodology include:Determining the acceptance criteria based on communication (typically in the form of a user story) from a sales representative or customer;Note: This direct connection should help reduce communication failures.Using the acceptance criteria to develop code and ensure its approval by the team.Testing the code in sandbox-like environments, as well as in production-like environments. Before deploying it to production.Waterfall model or agile model?It may be easier to understand the waterfall model when you compare it with another software development process called Agile. Waterfall and Agile are two very different project management methodologies, but both are equally valid depending on the project context.The biggest difference between Agile and Waterfall is that, typically, in Agile, the product is produced and accepted incrementally, around short iterations or equivalents (usually 2 to 4 weeks). In addition, using Agile, requirements are typically fully defined around each iteration, rather than at the beginning of the project in a single requirements phase. Before that, higher-level items, such as features, will generally be identified. They will be broken down into discrete items to be fully defined and developed in the iterations.One of the main objectives of Agile is to try to maintain as much flexibility as possible throughout the development cycle. Certain types of projects never fit a true agile approach. For example, if the main project deliverable cannot be defined, produced (and accepted) sequentially and incrementally, it is unlikely that the core of Agile can be used. However, any project can benefit from some of the practices commonly found in Agile, especially in communication.
— Comments 0
, Reactions 1
Be the first to comment