Scrum Framework, Agile Principles Overview, Variability and Uncertainty







Scrum

Scrum is an easy-to-implement process framework for developing complex products in small, cross-functional, self-organized teams. As a result, it is a flexible framework that can be used and applied to the development initiatives in which the following criteria are met:

1. predefined deadlines that have been set.

2. need intricate requirements.

3. maintain a degree of individuality.


-Definition of Scrum-

"Scrum is the framework that allows a team to handle complicated challenges and come up with high-quality, productive, and innovative solutions. It is a framework that aids in the seamless and productive delivery of end products as well as the development of agile concepts."

-Scrum Values-

The Scrum framework is built around five Scrum Values, which are detailed further below. These ideals serve as a guideline for how we should conduct ourselves and our job. As a result, it's critical to continually reinforce these principles.

  • Commitment - This refers to a commitment to creating high-quality, functional software in a collaborative environment.

  • Courage - The ability to adapt to changing client needs and provide high-quality products in every iteration/sprint.

  • Focus - The ability to focus on current priorities and their implementation regardless of their high volatility.

  • Openness - Clear communication in working with stakeholders, coordination throughout the team, and willingness to adopt new modules are all examples of openness.

  • Respect - This refers to the many scrum partners' responsibilities, conventions, needs, and expectations.

source:www.toolsqa.com

The 5 Scrum Values

These are the values that Scrum team members adhere to, analogous to organizational or company values. Every team member must stay committed to supporting the Scrum team charter's values in order for products to attain their maximum potential and produce results.

Scrum Framework

Scrum framework is a heuristic framework, which recognizes that a team does not know everything at the outset of a project and that learning occurs throughout time. It's designed so that teams are constantly updating their priorities in response to end-user needs and adapting to changing circumstances.

Scrum, although is structured, but not rigid in its application. Adhering to the agile values, its application & execution can be customized to the needs of any organization.

The Scrum framework consists of the following major sections:

  • Scrum Artifacts

  • Scrum Roles

  • Scrum Meetings

  • Scrum Events

The Scrum Cycle

-Scrum Artifacts-


The Scrum artifacts aim to improve the three pillars of the Scrum process – transparency, inspection, and adaptation. These are used as a tool to resolve an issue or as a value that increases transparency. So, the basic goal of stating an artifact is to get everyone on the same understanding level in a team. The scrum team refers to these artifacts on a regular basis to ensure that the process runs well and that everyone in the group understands how to approach the inspection and adaption.

The major components under artifacts are-

Product Backlog, Product Backlog Item (PBI), Sprint Backlog, Sprint Burndown Chart, and Product/Release Burndown Chart.


1) Product Backlog

It is a prioritized list of work for the development team, constituted by the roadmap and associated requirements for the project. In the listings' order, the most critical things are displayed at the top of the product backlog, allowing the team to prioritize what should be delivered first. A single product backlog can serve the purpose for any of the scrum teams that are working on the same product.

It's critical to maintain the product backlog on a regular basis to stay on track with the programme. Before each iteration planning meeting, product owners should examine the backlog to confirm that the priority is right and that input from the previous iteration has been implemented. In agile circles, regular backlog maintenance is referred to as "backlog grooming" (some use the term backlog refinement).


2) Product Backlog Item (PBI)

The precisely stated items in a Product Backlog are known as Product Backlog Items. It is the unit of work that a Scrum Team must do in one Sprint iteration. The Team estimates the effort to be put into a Product Backlog Item in the form of user stories. However, in order to avoid technical debt, the Product Owner determines the economic value for this.


3) Sprint Backlog

The Sprint Backlog contains the Sprint's Product Backlog items and a strategy for reaching a specific goal or Sprint Goal. Only the Development Team has the authority to make this decision. The Sprint Backlog changes and evolves during the Sprint activity as new work requirements and adjustments are presented, and superfluous components are deleted as needed. In a nutshell, this is a physical task-board-like "information radiator."

source:manifesto.co.uk

A general representation of sprint

source:agiledigest.com

Sprint backlog from product backlog

4) Sprint Burndown Chart

The Sprint Burndown Chart highlights the Team's efforts. It is a graph that depicts the rate at which work is finished and the amount of work that remains to be done. The graph slopes downward as the Sprint progresses and the number of Story Points completed increases. The chart's effectiveness as a reporting tool stems from the fact that it depicts Team progress toward the Sprint Goal in terms of work remaining rather than time spent.

source: www.wikipedia.org

  • X-Axis - The project/iteration timeline

  • Y-Axis -The work that needs to be completed for the project. The time or story point estimates for the work remaining will be represented by this axis.

  • Project Start Point - This is the farthest point to the left of the chart and occurs at day 0 of the project/iteration.

  • Project End Point - This is the point that is farthest to the right of the chart and occurs on the predicted last day of the project/iteration

  • Number of Workers and Efficiency Factor - In the above example, there are an estimated 28 days of work to be done, and there are two developers working on the project, who work at an efficiency of 70%. Therefore, the work should be completed in (28 ÷ 2) ÷ 0.7 = 20 days.

  • Ideal Work Remaining Line - This is a straight line that connects the start point to the endpoint. At the start point, the ideal line shows the sum of the estimates for all the tasks (work) that needs to be completed. At the endpoint, the ideal line intercepts the x-axis showing that there is no work left to be completed.

  • Actual Work Remaining Line - This shows the actual work remaining. At the start point, the actual work remaining is the same as the ideal work remaining but as time progresses, the actual work line fluctuates above and below the ideal line depending on this disparity between estimates and how effective the team is.

5) Product/Release Burndown Chart

In Scrum, a release is the handover of a product from development to the end-user, and it usually consists of one or more equal-sized sprints. The remaining workload, also known as the remaining effort in Scrum, at the end of each sprint is plotted against the ideal workload to provide a view of the release's progress (or effort). The sprints are depicted on the x-axis, while the remaining effort is plotted on the y-axis. The Scrum master must update the release burndown chart with the actual progress accomplished at the conclusion of each sprint before the next sprint begins.

source: www.wikipedia.org

A Sample Release Burndown Chart

-Scrum Roles-

Scrum identifies and defines three roles. These three roles make a scrum team, which is a small and efficient, cross-functional team that is focused on delivering a valuable finished product. The three roles are as follows;

source: www.lemonyblog.com

1) Product Owner


The PO is in charge of increasing the return on investment (ROI) and accomplishes this by working with customers to understand their business needs and by prioritizing and reordering the product backlog in order of the highest business value.

2) Development Team


The Development Team works with the PO to develop the product vision and direction into a useful software product. The members of the development team are equally responsible for the product's creation, delivery, and support. Each member selects the task on which one will work, finalizes it, and receives certain credit for it. Scrum is like a team sport based on cross-functional and self-managing groups. Scrum empowers the team members and encourages them to take collective responsibility for value delivery.

source: www.lemonyblog.com

source: www.lemonyblog.com

3) Scrum master


The Scrum Master assists the PO in achieving product goals, the development team in becoming a high-performing team, and the company in becoming a learning organization. The Scrum Master serves as a team coach and servant leader. It is just like a Rugby coach who does not play the game but advises and instructs the group, assisting them in making their own judgments and allowing them to focus on the task by removing impediments.

-Scrum Rules-


As Ken Schwaber and Je Sutherland, the first conceivers of the scrum methodology, said,

“The methodology is founded on the ‘empirical process control theory' and three concepts act as pillars in upholding the implementation of this theory. They are –

Transparency, Inspection and Adaptation.”

source: www.medium.com

Three Pillars of Scrum

TRANSPARENCY

This term refers to the fact that significant components of the process should be visible to people in charge of the final product. This is critical because it establishes a uniform norm and ensures that all Scrum team members are on the same page.

Important Scrum choices are made depending on the state of the three formal objects. Low transparency artifacts can lead to judgments that reduce value and increase risk. Inspection is made possible by transparency. Inspection which is not transparent is deceptive and wasteful.


INSPECTION

When scrum users check scrum artifacts, they are attempting to cut down on unnecessary costs and time in order to meet the Sprint Goal in the time allotted. As it is a meticulous procedure to be undertaken at regular intervals, so much as part of the job, the inspection should ideally be conducted regularly and preferably by professional inspectors.

Scrum provides rhythm through its five events, that enhance inspection. Inspection allows for adjustments. Inspection without adaptation is considered worthless. Scrum events are designed to effect change.


ADAPTATION

When deviations above acceptable bounds occur, the principle of adaptation implies that changes to the processes or materials themselves are undertaken. This element contributes to one of the scrum methodology's best features, as it has a direct impact on the quality and quantity of product development.

When the people involved are not empowered or self-managing, adaptation becomes more challenging. When a Scrum Team learns anything new through inspection, it is expected to adjust.

-Scrum Events-

source: www.toolsqa.com

The Sprint Event Cycle

Scrum Events are pre-planned events that help to maintain consistency and reduce the requirement for meetings which aren't part of the Scrum framework. All scrums have a time limit.

  • The events are as follows :

1) Sprint.

2) Sprint planning.

3) Daily scrum.

4) Sprint Review.

5) Sprint-Retrospective.

1) Sprint:

The sprint is the most important work unit in a Scrum team. Scrum varies from other agile development methodologies in this regard.

2) Sprint planning:

Sprint planning determines what will be completed and how it will be accomplished during the Sprint. This meeting, held at the start of each Sprint, determines how the project will be approached in light of the Product Backlog phases and deadlines. Each Sprint has its own distinct feature.

3) Daily scrum:

Until the Sprint is completed, the Daily Scrum is used to analyze progress and trends, coordinate efforts, and plan the following 24 hours. During the Sprint phase, a short meeting is held every day. The following three questions can be answered one by one: What did I do the day before yesterday? Today, I'm not sure what I'm going to do. What kind of help am I looking for? The Scrum Master should handle any challenges or hurdles that occur.

4) Sprint Review :

The sprint review's purpose is to highlight the work done on the product backlog so that future delivery may be planned. The results of the sprint are analyzed, and the client should notice a visible and significant difference in the product.

5) Sprint Retrospective:

The team assesses the sprint's completed goals, noting what went well and what went poorly in order to avoid repeating the same errors. This stage is used to implement enhancements from the start of the development process. The goal of the sprint retrospective is to identify potential process changes and devise a strategy for implementing them in the next Sprint.

Agile Principles Overview

The original paper has since been utilized by a range of organizations, including sales, marketing, and restaurants. This universality is built on a set of notions that may be used broadly and generally, that are simple to teach, and that are rarely completely grasped. The Twelve Concepts are the guiding concepts of the approaches. They define a work atmosphere in which change is accepted and the client is prioritized.

The 12 principles are as follows;

source: www.toolsqa.com

Overview of 12 Agile Principles

  • Satisfy the customer.

Early and continuous software delivery ensures customer happiness. The customer's satisfaction is our top goal, thus we offer valuable software on time and on schedule.


  • Welcome Changing Requirements.

Adapt to changing requirements as they arise during the development process. Even in later stages of development, all changing requirements are always appreciated. Agile procedures take advantage of change to help customers gain a competitive advantage. Consumer feedback is collected after each feature delivery, and any improvements proposed by the customer are integrated in the following stage.


  • Deliver Working Software Frequently.

We must provide value to the consumer on a regular basis, which might range from one week to a few months; the shorter the term, the better. A sprint squad is in charge of this part. They must produce working software at the conclusion of each sprint so that the customer can see how far they've come. It's all about being accountable and managing your time.


  • Collaborate Daily.

Throughout the project, there will be collaboration between the business and the developer. Throughout the project, businesspeople and software developers collaborate on a daily basis. In Agile, communication is important, and the client and the developer are in constant contact, which sets it apart from traditional techniques.


  • Motivate Individuals.

Believe in the people involved, support them, and encourage them: Build a project that revolves around driven individuals, provide them the atmosphere and support they require, and then trust them with the task. Everyone involved in the project should be supportive of one another at all times.


  • Face-to-face Conversion.

Such an interaction is the most effective and successful way of communicating the details to and across development teams. Face-to-face engagement from business and within the organization takes place here.


  • Measure Of Progress Through Working Product.

The ability to measure progress is based on whether or not the software delivered is functional and performs properly. Our top aim is to deliver a working feature every period, and if we can achieve that, we'll be fine.


  • Promote Sustainable Development.

Agile Development Processes to Ensure Consistent Development Team sets or creates processes that support long-term development. To avoid any project delays, the customer, developer, and the user must be able to keep a consistent rate indefinitely.


  • Continuous Attention To Technical Excellence.

Agility is enhanced through attention to technical detail and smart design. The necessary talents and good design ensure that the team can keep up with the competition, enhance the product consistently, and adapt to change.


  • Simplicity Is Essential.

Simplicity is the skill of doing as little work as possible. Develop just enough to complete the task at hand. We don't have to make something that isn't required right now. Simplicity here refers to avoiding excessive documentation.


  • Self-organizing Team.

This promotes high-quality work. Self-organizing teams produce the finest architectures, requirements, and designs. When a team is organized within itself, faults and delays in the project are rare.


  • Regularity Reflect on Continuously Improving.

How to Boost Your Productivity? At regular intervals, the team considers how to improve its effectiveness and changes and adapts its actions accordingly. We are able to achieve it with the support of regular client feedback.

Variability and Uncertainty in Scrum


Scrum takes advantage of product development's diversity and uncertainty to generate new solutions. Variability and uncertainty are addressed in each of the four principles listed below.


  1. Embrace Helpful Variability:

Product manufacturing follows a set of steps that are designed to generate the same completed product over and over again. Product development necessitates a method that allows for the creation of a one-of-a-kind product. Companies need a method that encourages variety in order to build something new.

source: www.dribble.com

2. Use Iterative and Incremental Development:

Scrum is built on the notions of iterative and incremental development, which are two separate but complementary concepts. Iterative development is a method of planned rework in which teams use numerous passes to improve what they're building in order to arrive at a good solution. In incremental development, teams break the product into smaller pieces so they may construct a tiny chunk, learn how each piece behaves in the environment it must live in, modify, and then build more. Scrum's usage of timeboxed iterations (sprints) combines the advantages of iterative and incremental development while avoiding the drawbacks of each alone.

3. Leverage Variability with Inspection, Adaptation, and Transparency:

The principles of inspection, adaptation, and transparency are at the heart of Scrum. Scrum teams inspect and adapt not only what they're building (sprint reviews), but also how they're building it (retrospectives) (sprint retrospectives).


4. Simultaneously Reduce All Forms of Uncertainty:

Scrum teams don't aim to reduce ambiguity by providing detailed documentation upfront. Instead, they aim to eliminate modest amounts of all types of uncertainty at the same time by using incremental and iterative development, as well as inspection and adaptation.

Conclusion


Scrum organizes projects using cross-functional scrum teams, each of which has all of the skills required to deliver a feature from concept to completion. Scrum is a basic yet effective framework for assisting teams in the development of complex products. It directs the development of a product by emphasizing value and keeping progress visible. Using the scrum architecture to foster openness, inspection, and adaptation, a scrum team brings that product from an idea to life, working from a dynamic list of the most useful things to do. Scrum is effective because it is customer-centric, collaborative, and iterative.