45
From Waterfall to Agile & touching on Scrum From predictive to adaptive methods December 2010 Björn Brynjar Jónsson

From Waterfall to Agile - from predictive to adaptive methods

Embed Size (px)

DESCRIPTION

In this introduction into Agile methods, the background and environment of Software Development is discussed. Results of the 1995 Chaos report are mentioned, as well as interests in adaptive "lightweight" methods. Agile methods are explained in general and Scrum method taken as a concrete sample.

Citation preview

Page 1: From Waterfall to Agile - from predictive to adaptive methods

From Waterfall to Agile & touching on Scrum

From predictive to adaptive methodsDecember 2010

Björn Brynjar Jónsson

Page 2: From Waterfall to Agile - from predictive to adaptive methods

From Waterfall

Page 3: From Waterfall to Agile - from predictive to adaptive methods

1970 Winston Royce introduces the Waterfall model

“I am going to describe my personal views about managing large software developments. I have had various assignments during the past nine years..”, Winston Royce (1970)

Page 4: From Waterfall to Agile - from predictive to adaptive methods

Underlying Assumption

Page 5: From Waterfall to Agile - from predictive to adaptive methods

Underlying Assumption

Predictability

Page 6: From Waterfall to Agile - from predictive to adaptive methods

Underlying Assumption

Predictability(low) uncertainty - project estimates are within fixed boundary set by the golden triangle

Page 7: From Waterfall to Agile - from predictive to adaptive methods

Underlying Assumption

Predictability(low) uncertainty - project estimates are within fixed boundary set by the golden triangle

Does this assumption hold for all IT Projects?

Page 8: From Waterfall to Agile - from predictive to adaptive methods

Underlying Assumption

Predictability(low) uncertainty - project estimates are within fixed boundary set by the golden triangle

Does this assumption hold for all IT Projects?Is this assumption in place in your field?

Page 9: From Waterfall to Agile - from predictive to adaptive methods

Underlying Assumption

Predictability(low) uncertainty - project estimates are within fixed boundary set by the golden triangle

Does this assumption hold for all IT Projects?Is this assumption in place in your field?Does it hold for projects all in our field?

Page 10: From Waterfall to Agile - from predictive to adaptive methods

The Chaos Report

1995

Page 11: From Waterfall to Agile - from predictive to adaptive methods

31% of IT Projects cancelled

69%

31%

Not Cancelled

Cancelled

Page 12: From Waterfall to Agile - from predictive to adaptive methods

53% will cost over 189% of original estimates

47%53%

189% Overbudget

0

48

95

143

190

Page 13: From Waterfall to Agile - from predictive to adaptive methods

16% on time and on budget

84%

16%

Not on timeNot on budget

On timeOn budget

Page 14: From Waterfall to Agile - from predictive to adaptive methods

Large Organizations even worse

91%

9%

Not on timeNot on budget

On timeOn budget

0 50 100

42Features complete

Page 15: From Waterfall to Agile - from predictive to adaptive methods

Small Organizations are better

78%

22%Projects complete

and put in use

On timeOn budget

0 50 100

72Features complete

Page 16: From Waterfall to Agile - from predictive to adaptive methods

Two questions:

Why do IT projects fail?What makes them successful?

Page 17: From Waterfall to Agile - from predictive to adaptive methods

Why do IT projects fail?

Lack of User InputIncomplete Requirements

Changing Requirements

Lack of Executive Support

Technology incomplete

Lack of ResourcesUnrealistic Expectations

Unclear Objectives

Unrealistic Time Frames

New Technology

Page 18: From Waterfall to Agile - from predictive to adaptive methods

What makes them successful?

User InvolvementExecutive Support

Clear Requirements

Proper PlanningRealistic Expectations

Smaller Project Milestones

Competent StaffOwnership

Clear VIsion & Objectives

Page 19: From Waterfall to Agile - from predictive to adaptive methods

Highly Complex Environment

“Adding manpower to a late software project makes it later”, Frederick Brooks (1975)

• Detailed Requirements are difficult to capture upfront

• Requirements change after project is started

• New technologies appear and old loose ground quickly

-Concrete Examples-

Furthermore

Page 20: From Waterfall to Agile - from predictive to adaptive methods

Bridge metaphor

“..in today's fast moving business environment, a frozen design does not accommodate changes in the business practices. Therefore a more flexible model must be used.

Page 21: From Waterfall to Agile - from predictive to adaptive methods

to Agile

Page 22: From Waterfall to Agile - from predictive to adaptive methods

SCRUM

eXtremeProgramming

DSDM

CrystalClear

Feature Driven

Development

Lean Software

Development

Adaptive Software

Development

1995+ lightweight methods resurface

Page 23: From Waterfall to Agile - from predictive to adaptive methods

Feb 2001 Snowbird ski resort in mountains of Utah

“..seventeen people met to talk, ski, relax, and try to find common ground.. .What emerged was the Agile Software Development Manifesto. Representatives from Extreme Programming, SCRUM, DSDM, Adaptive Software Development, Crystal, Feature-Driven Development, Pragmatic Programming, and others sympathetic to the need for an alternative to documentation driven, heavyweight software development processes convened.”, www.agilemanifesto.org

Page 24: From Waterfall to Agile - from predictive to adaptive methods

Agile Software Development Manifesto

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

Page 25: From Waterfall to Agile - from predictive to adaptive methods

Principles behind the Agile Manifesto

Working software is the primary measure of progress.

Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a

constant pace indefinitely.

Continuous attention to technical excellence and good design enhances agility.

Simplicity--the art of maximizing the amount of work not done--is essential.

The best architectures, requirements, and designs emerge from self-organizing teams.

At regular intervals, the team reflects on how to become more effective, then tunes and adjusts

its behavior accordingly.

Page 26: From Waterfall to Agile - from predictive to adaptive methods

Principles behind the Agile Manifesto

Our highest priority is to satisfy the customer through early and continuous

delivery of valuable software.

Welcome changing requirements, even late in development. Agile processes harness change

for the customer's competitive advantage.

Deliver working software frequently, from a couple of weeks to a couple of months, with a

preference to the shorter timescale.

Business people and developers must work together daily throughout the project.

Build projects around motivated individuals. Give them the environment and support they

need, and trust them to get the job done.

The most efficient and effective method of conveying information to and within a

development team is face-to-face conversation.

Page 27: From Waterfall to Agile - from predictive to adaptive methods

Visually Agile Development

Page 28: From Waterfall to Agile - from predictive to adaptive methods

Key Characteristics successful Agile Projects share

Releases and Fixed length iterations

Running, tested software

Value Driven Development

Continuous Adaptive Planning

Small, Cross functional Teams

Emergent Feature

Discovery

Page 29: From Waterfall to Agile - from predictive to adaptive methods

Underlying Assumption

Page 30: From Waterfall to Agile - from predictive to adaptive methods

Underlying Assumption

Adaptability

Page 31: From Waterfall to Agile - from predictive to adaptive methods

Underlying Assumption

Adaptabilityuncertainty is part of the environment, adapting to change rather than follow a plan

Page 32: From Waterfall to Agile - from predictive to adaptive methods

Underlying Assumption

Adaptabilityuncertainty is part of the environment, adapting to change rather than follow a plan

Are projects in your field that would benefit from making this assumption rather than assuming predictability?

Page 33: From Waterfall to Agile - from predictive to adaptive methods

Differencebetween predictive and adaptive methods worth noting

Page 34: From Waterfall to Agile - from predictive to adaptive methods

touching on Scrum

Page 35: From Waterfall to Agile - from predictive to adaptive methods

Scrum Process

Page 36: From Waterfall to Agile - from predictive to adaptive methods

Scrum Team• 5-10 people• Cross Functional Team• Self organizing• Team commits to deliver sprint goals

Scrum Master• Facilitates the Scrum process• Manages daily Scrum meetings• Works with management• Removes impediments to progress• Protects team from outside

Product Owner• Key stakeholder• Represents users, customers and other stakeholders• Defines requirements in collaboration with other stakeholders• Prioritizes the Product Backlog (requirements)

Scrum Roles

Page 37: From Waterfall to Agile - from predictive to adaptive methods

Scrum Roles

Page 38: From Waterfall to Agile - from predictive to adaptive methods

Scrum Process

Sprint Planning Meeting

Sprint

Daily Scrum

Sprint Review Meeting

Page 39: From Waterfall to Agile - from predictive to adaptive methods

Sprint Planning Meeting

Sprint

Daily Scrum

Sprint Review Meeting Sprint planning

Collaborative meeting to kickoff each Sprint

First Part:• Determine Sprint Goals• Review the Product Backlog• Clarify Requirements and Reestimate effort

• In details what is planned to be complete? • Participants: Product Owner, Scrum Master, Scrum Team

Second Part• Create the sprint backlog

• What Stories can realistically be complete at the Sprint end?• Team commits to completing all tasks they estimate can be completed• Participants: Product Owner, Scrum Master, Scrum Team

Page 40: From Waterfall to Agile - from predictive to adaptive methods

SprintTeam collaboratively works towards fulfilling Sprint Goals

• Sprint Duration 2-4 weeks

• Team is committed to completing all tasks rather than individuals members

• Team is protected from outside disturbances

• Sprint Starts with Sprint planning

• Sprint delivers product functionality in small increments

• Sprint ends with Sprint Review and Sprint Retrospective

Sprint Planning Meeting

Sprint

Daily Scrum

Sprint Review Meeting

Page 41: From Waterfall to Agile - from predictive to adaptive methods

Daily Scrum meeting

Short 15minutes meeting held every day• Participants: Scrum Master, Team, (and Product Owner)

• Every team member answers 3 questions:

• What did you do since last Scrum meeting?

• What are you going to do until next Scrum meeting?

• What is stopping you from getting on with the work?

• The meeting is all about keeping everyone up to date on what is being worked on

• Identifies questions, issues to be resolved

Sprint Planning Meeting

Sprint

Daily Scrum

Sprint Review Meeting

Page 42: From Waterfall to Agile - from predictive to adaptive methods

Sprint review meeting

• Demonstration of Business Value created during the sprint• Is held at the end of each Sprint• Participants: Scrum Team, Scrum Master, Product Owner (any interested stakeholder)• Typically takes 1 hour• Team members themselves present the demo

• Answer questions about implementation details• Often discussions about next steps, what to improve. New tasks added to backlog

• The review meeting if typically followed by a Sprint Retrospective meeting

Sprint Planning Meeting

Sprint

Daily Scrum

Sprint Review Meeting

Page 43: From Waterfall to Agile - from predictive to adaptive methods

tracking Progressusing Burndown charts

Page 44: From Waterfall to Agile - from predictive to adaptive methods

Can methods that stress Adaptability over Predictability work in your environment?

Question and Questions

Page 45: From Waterfall to Agile - from predictive to adaptive methods

ReferencesWikipedia

http://en.wikipedia.org/wiki/Agile_software_developmenthttp://en.wikipedia.org/wiki/Winston_W._Roycehttp://en.wikipedia.org/wiki/Waterfall_modelhttp://en.wikipedia.org/wiki/Fred_Brookshttp://en.wikipedia.org/wiki/Brooks's_law

Standish Grouphttp://www.it-cortex.com/Stat_Failure_Rate.htm

Otherhttp://agilemanifesto.orghttp://www.versionone.com/Agile101/Agile_Hallmarks.aspÞorvaldur Örn Arnarsson (MPM 2009)