30
06/06/22 1 Scrum (An Agile Methodology) Girraj Prasad Sharma

Scrum Introduction

Embed Size (px)

Citation preview

Page 1: Scrum Introduction

04/07/23 1

Scrum (An Agile Methodology)

Girraj Prasad Sharma

Page 2: Scrum Introduction

04/07/23 2

What is Scrum?

Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time.

It allows us to rapidly and repeatedly inspect actual working software (every two weeks to one month).

The business sets the priorities. Our teams self-manage to determine the best way to deliver the highest priority features.

Every two weeks to a month anyone can see real working software and decide to release it as is or continue to enhance for another iteration.

Inventors: - Ken Schwaber, Mike Beedle and Jeff Sutherland in early 1990s.

Page 3: Scrum Introduction

04/07/23 3

Agile Approaches

• Scrum• DSDM (Dynamic Systems Development Method)• Crystal Methods• FDD (Feature Driven Development)• Lean Development• XP (eXtreme Programming)• Adaptive Software Development

Page 4: Scrum Introduction

04/07/23 4

Agile Manifesto says

Top level: Uncovering the better ways of developing software by doing it and helping others do it.

2nd level:“Through this work, we have come to value…

Individuals and actions over Processes and toolsWorking software over Comprehensive

documentation

Customer collaboration over Contract negotiationResponding to change over Following plan

Page 5: Scrum Introduction

04/07/23 5

Scrum follows common ISV (Independent Software Vendor's) rules:

• Always have a product you can theoretically ship • Speak a common language on a single development site • Continuously test the product as you build it .

Page 6: Scrum Introduction

04/07/23 6

The key principles of the Scrum development process are: • Small working teams that maximize communication,

minimize overhead, and maximize sharing of tacit, informal knowledge.

• Adaptability to technical or marketplace (user/customer) changes to ensure the best possible product is produced.

• Frequent "builds", or construction of executables, that can be inspected, adjusted, tested, documented, and built on.

• Partitioning of work and team assignments into clean, low coupling partitions, or packets.

• Constant testing and documentation of a product-as it is built.• Ability to declare a product "done" whenever required

(because the competition just shipped, because the company needs the cash, because the user/customer needs the functions, because that was when it was promised...).

Page 7: Scrum Introduction

04/07/23 7

Benefits of Scrum

• The key to the success of Scrum is using measurements to maximize flexibility and risk while maintaining control.

• Most projects try to avoid risk. Yet, risk is an inherent part of software development. Scrum embraces risk by identifying and managing risk-so that the best possible product can be built.

• Applicable to Small Simple and Large Complex Software Systems

• Productivity gains of 600% have been seen repeatedly in well executed projects.

• It breaks down large products into manageable chunks - a few product features that small teams can create in a few months.

Page 8: Scrum Introduction

04/07/23 8

Benefits of Scrum contd…

• It allows large teams to work like small teams by dividing work into pieces, proceeding in parallel but synchronizing continuously, stabilizing in increments, and continuously finding and fixing problems.

• Careful control mechanisms are used to assure on-time delivery of a high quality product, while allowing maximum flexibility of small, tightly coupled development teams. It requires a well motivated team and good leadership to implement effectively.

• It facilitates competition based on customer feedback, product features, and short development times by providing a mechanism to incorporate customer inputs, set priorities, complete the most important parts first, and change or cut less important features.

Page 9: Scrum Introduction

04/07/23 9

Defined vs. Empirical • Defined Process:- If a process can be fully defined, with all

things known about it so that it can be designed and run repeatedly with predictable results, it is known as a defined process, and it can be subjected to automation.

• Empirical Process:- If all things about a process aren't fully known -- only what generally happens when you mix these inputs and what to measure and control to get the desired output -- these are called empirical processes.

• The primary difference between the defined lower curve (waterfall, spiral and iterative) and empirical upper curve is that the empirical approach assumes that the development process is unpredictable and chaotic. Controls are used to manage the unpredictability and control the risk. Flexibility, responsiveness, and reliability are the results.

Page 10: Scrum Introduction

04/07/23 10

Defined vs. Empirical Success

Page 11: Scrum Introduction

04/07/23 11

Scrum Main Components

Product Backlog – A product backlog is a prioritised list of project requirements with estimated times to turn them into completed product functionality. Estimates are in days and are more precise the higher the item is in the Product Backlog priority. Priority should be assigned based on the items of most value to the business or that offer the earliest Return on Investment. This list should evolve, changing as the business conditions or technology changes.

Product Burndown- The Product Burndown chart gives an indication of how quickly the team are "Burning" through the work and delivering Product Backlog requirements. It is a useful tool for helping to plan when to release or when to remove requirements from a release if progress is not rapid enough.

Page 12: Scrum Introduction

04/07/23 12

Page 13: Scrum Introduction

04/07/23 13

Scrum Main Components contd…

Sprint Backlog- The Sprint backlog is a list of tasks that defines a Team's work for a Sprint. The list emerges during Sprint planning. The tasks on the Sprint backlog are what the Team has defined as being required to turn committed Product Backlog items into system functionality. Each task identifies who is responsible for doing the work and the estimated amount of work remaining on the task on any given day during the Sprint.

Sprint Burndown Chart- Chart showing sprint backlog burndown.

Impediment List- Anything around a Scrum project that impedes its productivity and quality is an impediment. It is the responsibility of the ScrumMaster to remove any impediment that is stopping the team from producing production quality code. The impediment list is simply a set of tasks that the Scrum Master uses to track the impediments that need to be solved.

Page 14: Scrum Introduction

04/07/23 14

Page 15: Scrum Introduction

04/07/23 15

Scrum Main Components contd…

Page 16: Scrum Introduction

04/07/23 16

Scrum Implementation

Product Owner:- The 'Product Owner' is responsible for the ROI of the project. So this is the person who is investing or representing everyone's interest in the project and is responsible for the project delivering a value greater than the money that's been sunk into it.

• Defines the features of the product, decides on release date and content.

• Aggregates input from users, stakeholders and other interested parties to form a single view of the prioritised requirements for the system.

• Is responsible for the profitability of the product (ROI) • Prioritizes features according to market value • Can change features and priority every 30 days• Accepts or rejects work results

Page 17: Scrum Introduction

04/07/23 17

Scrum Implementation contd…

Team Members:- This is a cross-functional group of people with all the different skills that are needed to turn requirements into something that is an increment of potentially shippable functionality. So it often consists of an analyst, designer, QA person, a coder, a documentation person, all the skills that are needed to turn the requirements into something that is done.

• Cross-functional • Seven plus or minus two members • Selects the iteration goal and specifies work results • Has the right to do everything within the boundaries of the

project guidelines to reach the iteration goal • Organizes itself and its work • Demos work results to the Product Owner and stakeholders

Page 18: Scrum Introduction

04/07/23 18

Scrum Master :-The person responsible for the scrum process, its correct implementation, and the maximization of benefits.

• Improving the lives and productivity of the development team by facilitating creativity and empowerment and any other way possible.

• Enabling close cooperation across all roles and functions and removing barriers

• Shielding the team from external interferences and removing "Impediments"

• Ensuring that the process is followed • Inviting appropriate people to the daily scrum, iteration

review and planning meetings

Scrum Implementation contd…

Page 19: Scrum Introduction

04/07/23 19

Scrum Implementation contd…

• Removing the barriers between development and the customer so that the customer directly drives the functionality developed

• Teaching the customer how to maximise ROI and meet their objectives through Scrum

• Improving the engineering practices and tools so each increment of functionality is potentially shippable.

Page 20: Scrum Introduction

04/07/23 20

Scrum Implementation contd…

Sprint Planning meeting:- A one-day, 8 hours meeting. 4 hours for product backlog by product owner. 4 hours for team to prepare sprint backlog. Attendees are product owner, scrum master, team member, partly domain expert etc.

Daily Scrum Meeting:- Time boxed to 15 mins• What have you done since the last daily scrum meeting

regarding this project?• What will you do between now and the next daily scrum

meeting regarding this project?• What impedes you from performing your work as

effectively as possible (road blocks )?

Page 21: Scrum Introduction

04/07/23 21

Scrum Implementation contd…

Sprint:- A time-box of 30 consecutive calendar days during which a team works to turn the product backlog it has selected into an increment of potentially shippable product functionality.

Sprint Review Meeting:- A meeting time-boxed to 4 hours at the end of every Sprint at which the team demonstrate to the product owner and any other interested parties what it was able to accomplish during the sprint. Only completed product functionality can be demonstrated.

Sprint Retrospective Meeting:- A meeting time-boxed to 3 hours and facilitated by the Scrum Master at which the team discusses the just-concluded Sprint and determines what could be changed that might make the next Sprint more enjoyable or productive.

Page 22: Scrum Introduction

04/07/23 22

Page 23: Scrum Introduction

04/07/23 23

1. Planning and System ArchitectureWhat differentiates the Scrum Planning and System Architecture process from other methodologies is:

• Controls are established : backlog (requirements) for this project is established and prioritized, risks are defined, objects for implementing backlog are identified, and problems are stated for implementing the backlog into the related objects.

• Team assignments : backlog is assigned to teams of 7 developers, maximizing communication bandwidth and productivity.

• Prioritization: backlog items are prioritized for teams to work on, starting with infrastructure, then most important functionality to least important functionality in Sprints (consisting of multiple sprints).

Scrum Implementation contd…

Page 24: Scrum Introduction

04/07/23 24

However, compared to other methodologies, this planning phase is conducted relatively quickly because it assumes that pragmatic managers and the course of events will require that any or all of these initial parameters will be changed during the Sprint phase.

2. Closure The Closure phase removes the final product (executable and documentation) and prepares it for shipment.Finally, Scrum ends with the Closure phase. Closure consists of finishing system and regression testing, developing training materials, and completing final documentation. Approved modifications to the original planning and systems architecture are lumped into a category called backlog and assigned to the

Scrum Implementation contd…

Page 25: Scrum Introduction

04/07/23 25

teams (whose resources may also be changed to reflect the new objectives) at the beginning of the next Sprint period.

3. ConsolidationThe Consolidation Phase cleans up the pressure cooker and ingredients for the next batch.

Scrum Implementation contd…

Page 26: Scrum Introduction

04/07/23 26

Scrum Flow

Page 27: Scrum Introduction

04/07/23 27

How can it help us (TCS)?

• To manage critical and close deadline projects.• Deliveries can be on scrum principle (small working

deliveries frequently)• Where requirements are changing frequently, all are not clear

at the beginning.• Where all system (complex, too big, changing need, very new

system) design can’t be designed at the beginning. They can be evolved.

• Better productivity, low risk easy to sell idea to customer. Very helpful and lucrative to customer.

• Customer preference in choosing such vendor and team convenience in working with customer.

Page 28: Scrum Introduction

04/07/23 28

References

• Controlled Chaos : Living on the Edge Ken Schwaber [email protected] Copyright 1996 Advanced Development Methods, Inc. A published version of this article appears in Ed Yourdon's American Programmer

• URL http://www.controlchaos.com• http://www.agilealliance.org• Agile Software Development, Principles, patterns and

practices. By Robert C. Martin• “Best Practices in Scrum Project Management and XP Agile

Software Development” by Object Mentor Inc.• Agile Project Management with Scrum by Ken Schwaber

Page 29: Scrum Introduction

04/07/23 29

• “Best Practices in Scrum Project Management and XP Agile Software Development” by Linda Levine, Software Engineering Institute.

• http://scrumforteamsystem.com/ProcessGuidance/Scrum/Scrum.html

Page 30: Scrum Introduction

04/07/23 30

Thanks!