• Ei tuloksia

4 Theory

4.1 Understanding of Agile Processes

4.1.3 SCRUM: An Important Agile Practice

SCRUM is such an agile process that can help a team to use above-mentioned agile val-ues and principles in software development and delivery. It can help the team to work with other business stakeholders e.g. customers, businesspeople and engage them in every stage of software development process. This practice helps the team to become innova-tive and adaptable to changes. This practice helps in reducing defects, making operation lean, eliminating wastes and developing a culture of innovation and productivity. It is an iterative and incremental agile framework that is used in software projects development. In this framework the team works as a unit. It helps a self-organized development team to by using face-to-face or online communication within team. In this process, a small team works cohesively for 2-4 weeks’ time period over a specified duration. This period is called a Sprint. The main pillars of SCRUM are transparency, inspection and adaptation.

SCRUM requires constant inspection of status and adaptation to changes. Inspection helps in assessing the situation and comparing it with the goal. Transparency helps in progressing towards achieving goal in iterative and incremental manner by developing features and functionality in piecewise manner. (Stellman and Greene, 2015; Manfield, 2014: Scrumguides.org, 2020)

30

Generally, the SCRUM team follows practice of using Product Backlog, Sprint backlog, Sprint, Sprint Burndown and Definition of Done. The Product Backlog contains User Sto-ries as items. User StoSto-ries are functional unit of the work in a SCRUM. These user stoSto-ries are first recorded in Product Backlog and then imported into Sprint Backlog to be done in each Sprint. The Product Backlog contains a list of items of features and functionalities of a product that is going to be implemented. Generally, Product Backlog should be dynamic, prioritized, progressively refined and should be updated in every sprint. Items of a product backlog can be further broken down into tasks that need to be completed and put into Sprint Backlog. The team work on these tasks collectively. During a Sprint, team members meet with each other daily and discuss their progress. Team can use Sprint Burndown chart to monitor the progress of team and remaining items to be finished. Sprint Burndown Chart predicts three important concepts: Velocity, Effort, and Done. Velocity measures the work done in a Sprint. Effort is a time independent measure for estimating effort required to accomplish the task. Effort is generally measured in Fibonacci series 1,2,3,5,8, …etc.

Done ensures completion of task. Definition of Done is applicable to completed and tested tasks, refactored tasks or potentially shippable deliverables. (Stellman and Greene, 2015;

Manfield, 2014; Scrumguides.org, 2020)

Three main actors play important role in effecting SCRUM activities: Product Owner (PO), Scrum Master (SM) and Development Team. It is important for a team, following SCRUM practices, should understand roles and responsibilities of these actors.

Roles Responsibilities Product

Owner

the empowered central point of product leadership

the authority responsible for tasks to be done in prioritized man-ner.

maintains and communicates to all other participants a clear vi-sion and objective of SCRUM

responsible for the overall success of product development.

Scrum Master

helps team to understand and embrace the Scrum values, princi-ples, and practices

acts as a coach, providing development process leadership

as a facilitator, helps the team to resolve issues and make im-provements using SCRUM

responsible for protecting the team from outside interference

leads in removing impediments that inhibit team productivity

has no authority to exert control over the team, functions as a leader, not a manager.

31 Development

Team

Self-organizes to determine the best way to accomplish the goal set out by the product owner

Consists of five to nine people in size typically

Team members possess all skills needed to produce good quality, working software.

Table 10. SCRUM Roles and Responsibilities. (source: David, 2017)

These actors participate in various activities and creation of artefacts. An ideal SCRUM follows the following practices. It becomes necessary to discuss a common Sprint Lifec-yle.

Figure 4. SCRUM activities and artefacts (source: David, 2017)

In a sprint, a team generally follows some specific events. These events help the team to follow agile values and principles in software development and services delivery. These events can be discussed as follows.

Product Backlog: It is a list of prioritized items or features required for a software product developed by product owner. It may contain new features, changes to existing features, defects, needing repair, technical improvements, etc. It presents the vision of product owner about product. The product owner collaborates with internal and external stake-holders to gather and define the product backlog items. He ensures that product backlog items are placed in the prioritized sequence. Items can be added, deleted, and revised by

32

the product owner as business conditions change. The overall activity of creating and re-fining product backlog items, estimating them, and prioritizing them is known as grooming.

The size of item equates to cost and measured in terms of story points. (Green, 2016;

Manfield, 2014; Scrumguides.org, 2020)

Sprints: In SCRUM, work is performed in iterations made of cycles of 2-4 weeks called Sprints. The work completed in each sprint should create something of tangible value to the customer. Sprints are timeboxed so they always have a fixed start and end date. (Green, 2016; Manfield, 2014; Scrumguides.org, 2020)

Sprint Planning: A product backlog may represent work done in long duration, which is much more than can be completed in a single, short sprint. the development team reviews the product backlog and determines the high priority items that the team can realistically accomplish in the upcoming sprint while working at a sustainable pace. The Product Owner, development team and Scrum Master plan to complete a list of items in a sprint.

This activity is called Sprint Planning. During sprint planning, the product owner and de-velopment team agree on a sprint goal that defines what should be achieved in upcoming sprint. (Green, 2016; Manfield, 2014; Scrumguides.org, 2020)

Sprint Execution: Once the Scrum team finishes sprint planning and agrees on the con-tent of the next sprint, the development team, guided by the ScrumMaster’s coaching, try to complete the defined tasks. Team members define their own task-level work and then self-organize in any manner they feel is best for achieving the sprint goal. (Green, 2016;

Manfield, 2014; Scrumguides.org, 2020)

Daily Scrum: Each day of the sprint, the development team normally spends a specified time (approximately 15 minutes). This activity is called Daily SCRUM. In this time-boxed session, the development team performs inspect and adapt activity to achieve the sprint goal. (Green, 2016; Manfield, 2014; Scrumguides.org, 2020)

A common approach to performing the daily scrum has the ScrumMaster facilitating and each team member taking turns answering three questions for the benefit of the other team members: (Green, 2016; Manfield, 2014; Scrumguides.org, 2020)

What is accomplished since the last daily scrum?

What will be done by the next daily scrum?

What are the obstacles or impediments that are preventing in making progress?

Definition of Done: The outcome of SCRUM is a potentially shippable product that is developed in incremental and iterative manner. Whatever the Scrum team agreed to do is

33

really done as agreed in planning then it is considered Definition of Done. (Green, 2016;

Manfield, 2014; Scrumguides.org, 2020)

Sprint Review: At the end of the sprint there are two additional inspect-and-adapt activi-ties. One is called the Sprint Review. The goal of this activity is to inspect and adapt the product that is being built. Critical to this activity is the conversation that takes place among its participants, which include the Scrum team, stakeholders, sponsors, customers, and interested members of other teams. The conversation is focused on reviewing the just-completed features in the context of the overall development effort. (Green, 2016;

Manfield, 2014; Scrumguides.org, 2020)

Sprint Retrospective: The second inspect-and-adapt activity at the end of the sprint is the Sprint Retrospective. Whereas the sprint review is a time to inspect and adapt the product, the sprint retrospective is an opportunity to inspect and adapt the process. During the sprint retrospective the development team, ScrumMaster, and product owner come together to discuss what is and is not working with Scrum and associated technical prac-tices. At the end of a sprint retrospective the Scrum team should have identified and committed to a practical number of process improvement actions that will be undertaken by the Scrum team in the next sprint. (Green, 2016; Manfield, 2014; Scrumguides.org, 2020)

Event Inspection Adaptation

Sprint Planning • Product Backlog

• Commitments Retrospection

• Definition of Done

• Sprint Goal

• Forecast

• Sprint Backlog Daily Scrum • Progress towards sprint goal • Sprint Backlog

• Daily plan Sprint Review &

Demo

• Product Increment

• Product backlog

• Market-business condition

• Product backlog

Sprint Retro-spective

• Team & Collaboration

• Technology & Engineering

• definition of Done

• Actionable Improve-ments

Table 11. Summary of an ideal sprint events (Green, 2016)