Top Banner
Being agile while standing in a Waterfall Mike Edwards [email protected] Twitter: @mikeeedwards Blog: www.mikeeedwards.ca References: agilewaterfall.ca
52
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Being agile while standing in a waterfall

Being agile while standing in a Waterfall

!Mike Edwards

!!!!

[email protected] Twitter: @mikeeedwards

Blog: www.mikeeedwards.ca References: agilewaterfall.ca

Page 2: Being agile while standing in a waterfall

OBLIGATION

RESPONSIBILITY

SHAME

The Responsibility Process™

JUSTIFYLAY BLAME

DENIAL

QUIT

ChristopherAvery.com©1991-2012. International trademarks and copyrights apply. Leadership Gift™ is a trademark of Christopher Avery. Responsibility Process™ and Keys to Responsibility™ are trademarks of Christopher Avery and Bill McCarley. Permission is hereby granted to duplicate and distribute only in its entirety without changes or deletions.

CHRISTOPHER AVERY& THE LEADERSHIP GIFT

Page 3: Being agile while standing in a waterfall

Agile will fail at my workplace because of ...

• The concept of dedicating to one task at a time is not supported

• Because of our culture

• They won’t change

• Of me

• It’s counterintuitive and hard to practice

• Too focused on mechanics

• Ridiculous product owners

• What we do already works

• Not everyone on our team understands it

• We only fund capital projects

• My boss who manages with fear

( Taken from Agile 2013 )

Page 4: Being agile while standing in a waterfall

Agenda

Stories

What worked for me

Views & experiences

Where to from here

Page 5: Being agile while standing in a waterfall

Does Waterfall work?

Page 6: Being agile while standing in a waterfall

“I believe in this concept, but the implementation described above is risky and invites failures” -- Winston Royce (August 1970)

I SYSTE M

I ANALYSIS

PROGRAM DESIGN

I c o o , . o

TESTING

I OPERATIONS

Figure 2. Implementation steps to develop a large computer program for delivery to a customer.

I believe in this concept, but the implementation described above is risky and invites failure. The problem is illustrated in Figure 4. The testing phase which occurs at the end of the development cycle is the first event for which timing, storage, input /output transfers, etc., are experienced as distinguished from analyzed. These phenomena are not precisely analyzable. They are not the solutions to the standard partial differential equations of mathematical physics for instance. Yet if these phenomena fail to satisfy the various external constraints, then invariably a major redesign is required. A simple octal patch or redo of some isolated code wil l not f ix these kinds of diff iculties. The required design changes are l ikely to be so disruptive that the software requirements upon which the design is based and which provides the rationale for everything are violated. Either the requirements must be modif ied, or a substantial change in the design is required. In effect the development process has returned to the origin and one can expect up to a lO0-percent overrun in schedule and/or costs.

One might note that there has been a skipping-over of the analysis and code phases. One cannot, of course, produce software wi thout these steps, but generally these phases are managed wi th relative ease and have l i tt le impact on requirements, design, and testing. In my experience there are whole departments consumed with the analysis of orbi t mechanics, spacecraft att i tude determination, mathematical opt imizat ion of payload activity and so forth, but when these departments have completed their di f f icul t and complex work, the resultant program steps involvea few lines of serial arithmetic code. If in the execution of their d i f f icul t and complex work the analysts have made a mistake, the correction is invariably implemented by a minor change in the code with no disruptive feedback into the other development bases.

However, I believe the illustrated approach to be fundamental ly sound. The remainder of this discussion presents five addit ional features that must be added to this basic approach to eliminate most of the development risks.

329

Page 7: Being agile while standing in a waterfall

Computing: Then & Now

IBM System/360

.034 MIPS max 16MB memory 225MB Disk $50k/month to lease $15mm to buy

Page 8: Being agile while standing in a waterfall

What is Agile?

Page 9: Being agile while standing in a waterfall

Saying you do one of these ...

Agile

Lean

ScrumXP

Kanban

DADRUPFDD

DSDM

Crystal

RAD

SAFe

Page 10: Being agile while standing in a waterfall

... can be like carrying one of these

Page 11: Being agile while standing in a waterfall

Story time!

Page 12: Being agile while standing in a waterfall

The situation

• Towards end of a larger troubled project (we kept dropping scope)

• Team only available for 3 more months

• Budget defined by available people and time

• Low key enhancement project

• Waterfall was best described as a religion

Page 13: Being agile while standing in a waterfall

Go!

• Secured a war ‘area’

• Given free reign to ‘try something different’

• Simple one sentence scope statement

• No authority to NOT do something in the department’s process

• Executive sponsorship watched closely

Page 14: Being agile while standing in a waterfall

The Result!

• Finished early

• Finished slightly under budget

• Features delivered exceeded customer expectation

• No quality issues after go-live

• Happy customer!

Page 15: Being agile while standing in a waterfall

Ideas for being Agile?

Page 16: Being agile while standing in a waterfall

Describe the characteristics of a successful project?

Page 17: Being agile while standing in a waterfall

Agile Manifesto

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

Individuals and interactions over processes and toolsWorking software over comprehensive documentation

Customer collaboration over contract negotiationResponding to change over following a plan

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

Page 18: Being agile while standing in a waterfall

Ideas

Make it about principles

Page 19: Being agile while standing in a waterfall

LearningWe can learn the mechanic didn’t latch the cowling

Feel better?

What does it mean to improve?

vs. Improving

Page 20: Being agile while standing in a waterfall

Improve how you Improve

• Conduct regular retrospectives throughout the project

• Empower teams to improve

• Make room for ongoing improvements

• Make improvement an objective for teams

Page 21: Being agile while standing in a waterfall

Ideas

Make it about principles

Conduct regular Retrospectives & Improve

Page 22: Being agile while standing in a waterfall

People• Support those who deliver value

• Motivate them

• Trust them

• Create sustainable pace

• Foster responsibility

• Have fun!

Page 23: Being agile while standing in a waterfall

Collaborate!

• Examine the value of your weekly status meetings

• Tear down the walls

• Eliminate the hierarchy

• Make information visible

• Build a cross functional team

• Build a high performing team

Page 24: Being agile while standing in a waterfall

Ideas

Make it about principles

Conduct regular Retrospectives & Improve

Create a high performance team

Page 25: Being agile while standing in a waterfall

“The customer just asked for a couple changes”

Page 26: Being agile while standing in a waterfall

Why do we need Change Management?

Decisions are made prematurely!

Our customers cannot possibly know what they want in detail at the start of a project

Page 27: Being agile while standing in a waterfall

Scope

! In Scope " Blah blah blah blah blah blah blah " Blah blah blah blah blah blah blah Blah blah blah blah blah blah blah " Blah blah blah blah " Blah blah blah blah blah blah blah blah " Blah blah blah blah blah blah blah " Blah blah blah blah blah blah blah " Blah blah blah blah blah blah blah blah blah blah blah blah blah " Blah blah blah blah blah blah blah !

! Out of Scope " Blah blah blah blah blah blah blah " Blah blah blah blah blah blah blah Blah blah blah blah blah blah blah " Blah blah blah blah " Blah blah blah blah blah blah blah blah " Blah blah blah blah blah blah blah " Blah blah blah blah blah blah blah " Blah blah blah blah blah blah blah blah blah blah blah blah blah " Blah blah blah blah blah blah blah

O

Page 28: Being agile while standing in a waterfall

Scope

!Scope Statement !

! In Scope " Add a feature <to the system> and

supporting functionality !

! Out of Scope

Page 29: Being agile while standing in a waterfall

Create a story map

!

!

!

!

!

!

User Story format:

As a <user>, I want <some goal>, so that <some reason>

Page 30: Being agile while standing in a waterfall

Scope ManagementFront Burner Back Burner Fridge Freezer

User Stories

Scope

Page 31: Being agile while standing in a waterfall

What can you do about change?

Embrace it! Welcome changing requirements, even late in

development. Agile processes harness change for the customer's competitive advantage.

(Agile Manifesto - Principle #2)

!!!!!

Create an environment allowing everyone to learn

Page 32: Being agile while standing in a waterfall

Ideas

Make it about principles Conduct regular Retrospectives & Improve Create a high performance team Defer decisions until the last responsible moment

Page 33: Being agile while standing in a waterfall

Why do we schedule?

Page 34: Being agile while standing in a waterfall

An effective schedule?An ineffective schedule

Page 35: Being agile while standing in a waterfall

Schedule

Page 36: Being agile while standing in a waterfall

Ideas

Make it about principles Conduct regular Retrospectives & Improve Create a high performance team Defer decisions until the last responsible moment ‘Deliver’ frequently Simplicity

Page 37: Being agile while standing in a waterfall

Status Reporting

• Start ALL projects red

• Check the politics at the door

• Honesty & Transparency

• Put your status on the wall

• Build plans allowing for clearer reporting

Page 38: Being agile while standing in a waterfall

Ideas

Make it about principles Conduct regular Retrospectives & Improve Create a high performance team Defer decisions until the last responsible moment ‘Deliver’ frequently Simplicity Start ALL projects red!

Page 39: Being agile while standing in a waterfall

Tracking ProgressCritical Path Actual vs Target Hours

Hou

rs

0

3

6

9

12

8-Mar 15-Mar 22-Mar 29-Mar 5-Apr 12-Apr 19-Apr

Daily burn

Burn up

0

450000

900000

1350000

1800000

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

Budget Cumulative Actuals Cumulative Planned

Page 40: Being agile while standing in a waterfall

Be careful what you measure ...

You might just get it!

MeasurementsTime sheets

OPM3

CMMI ITIL

COBIT

Schedule Accuracy

Page 41: Being agile while standing in a waterfall

The importance of timeliness!

Hermann Ebbinghaus

Page 42: Being agile while standing in a waterfall

Some words of wisdom!

a.k.a. Things I’ve learned the hard way

Page 43: Being agile while standing in a waterfall

Things I’ve learned

• Culture cannot be changed - change how the work is done and culture will follow

• Start from where you are today and never be satisfied

• Improve the whole

• Improve one step at a time

• Iterate (Build Measure Learn)

• Have fun!

Page 44: Being agile while standing in a waterfall

Thanks!

For more Information: http://agilewaterfall.ca

http://bit.ly/VKyFD5 !

Stay in Touch! [email protected]

Twitter: @mikeeedwards Blog: www.mikeeedwards.ca

My upcoming LeanPub book: Being agile while standing in a waterfall!

Page 45: Being agile while standing in a waterfall
Page 46: Being agile while standing in a waterfall
Page 47: Being agile while standing in a waterfall
Page 48: Being agile while standing in a waterfall
Page 49: Being agile while standing in a waterfall

Once upon a time ...

• Final component of a larger program

• Estimated at 1200 days

• Drop dead date of 3.5 months

• Highly visible if we failed

• Core team assigned of 5 IT people

• Waterfall was all we knew

Page 50: Being agile while standing in a waterfall

Go!

• 15 contractors in the door within 2 weeks

• Secured a team room

• Broke the work out into projects

• Published a team manifesto • Developed a mantra: “Failure is not an

option”

• Strong executive sponsorship

Page 51: Being agile while standing in a waterfall

The Result!

• Delivered on the date we said we would

• Actuals came in $8000 under budget

• Delivered all key scope items

• No significant quality issues after go-live

• Happy customer!

Page 52: Being agile while standing in a waterfall

Another story!