Waterfall meets Disciplined Agile

44
* Waterfall Meets Disciplined Agile Waterfall meets Disciplined Agile A real world example of Agile transformation Richard McMullin, Agile Transformation Specialist [email protected] Etienne Laverdière, Agile Practitioner [email protected] February 20 th 2013 A Real World Example of Agile Transformation

description

Waterfall meets Disciplined Agile A real world example of Agile transformation Agility is still just a buzzword in many large organizations. That is slowly starting to change and we are seeing larger companies beginning to take their first tentative steps towards agility. Culturally the shift towards Agility is a big challenge. The change management required cannot be overstated. It is critical to be able to respect the organizational history and processes while enabling agile innovation. This presentation is about an example project in a typical large company. The project was running in a waterfall process and was converted to a more agile process. Several core agile practices were adopted. In order to respect the organizational structure and expectations, some interfaces were developed to bridge between the agile and waterfall processes. These interfaces were neither pure agile nor pure waterfall, but allowed the different teams to work together. This presentation shows one example of how agility was introduced in a waterfall organization. This is not a presentation aimed at the already converted, nor will it appeal to either Agile or Waterfall purists. In this presentation we look at the business challenges, the business context, and the concrete actions taken to respect the waterfall environment and drive disciplined agile practices.

Transcript of Waterfall meets Disciplined Agile

Page 1: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

Waterfall meets Disciplined Agile A real world example of Agile transformation

Richard McMullin, Agile Transformation Specialist

[email protected]

Etienne Laverdière, Agile Practitioner

[email protected]

February 20th 2013

A Real World Example of Agile Transformation

Page 2: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

Industry Context Agile Transformation

A Real World Example of Agile Transformation

Agility is still just a buzzword in many large organizations. That is slowly starting to change and we are

seeing larger companies beginning to take their first tentative steps towards agility.

Culturally the shift towards Agility is a big challenge.

The change management required cannot be overstated. It is critical to be able to respect the

organizational history and processes while enabling agile innovation.

Page 3: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

Warning: This presentation is NOT for Agile or Waterfall purists.

Presentation Statement

A Real World Example of Agile Transformation

Page 4: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

This presentation is about

Working Together

for success.

Using Process Innovation and RTC Tooling to help create

Agility

in a

Waterfall World

Presentation Statement

A Real World Example of Agile Transformation

Page 5: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

Richard McMullin

Richard McMullin has been leading software innovation for more than 20 years in the financial,

medical and education sectors. He has been a principal founder of multiple startup companies.

You can follow Richard on twitter at r_mcmullin or at [email protected]

Etienne Laverdière

Etienne is a project management lead, a senior system architect and agile practitioner. Over

the past 14 years, Etienne has lead software development teams in North America and Europe.

He has worked in both large and small companies leading innovation and process

improvements. He has PMP, PMI-ACP (Agile Certified Practitioner) designations and is a

Certified Scrum Master. He is also a partner of Digital Tango ltd.

Introduction

A Real World Example of Agile Transformation

Page 6: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

Context

• high risk project

• financial institution

Agile Restructuring

• Agile principles

• Waterfall interfaces

Implementing Agile Delivery

• Agile practices

• RTC Tooling

• Automated testing and continuous

integration

Pitfalls

• Closing the loop

Conclusions and Why Agility?

• Closing the loop

Questions

Outline

A Real World Example of Agile Transformation

Page 7: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

Large – non-IT company

• Canadian financial institution

Waterfall Processes

• Traditionally waterfall, limited Agile exposure

High Risk Project

• Financial IT restructuration

• R&D project Introducing core technologies

• Skill gap – lack of experience

• Using deterministic waterfall approach (risk mismatch)

• Aggressive timeline

• BAUF (Big Architecture Up Front) – limited prototyping

From wikipedia

Context

A Real World Example of Agile Transformation

Page 8: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

…Spells Trouble

there is no more time/money/patience!

Context

A Real World Example of Agile Transformation

Page 9: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

Extreme Complexity / R&D Project • Lack of experience with new technologies being introduced (Master Data Management) • Part of a SAP integration project and a IT Foundation restructuration. • Move from Data warehousing to real-time integration • Needed a multidisciplinary team to solve complex integration challenges

Analysis Paralysis & Changing Requirements • Difficult to complete analysis before development using a Big Architecture Up Front

(BAUF) approach

Highly Structured Processes and Documents • Work focused on checklists and delivery of feature documents • Weak inter-discipline (architecture, build, test) and inter-team collaboration

No early demonstration of working systems

• Frustration of management

Out of money

BIG Challenges

A Real World Example of Agile Transformation

Page 10: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

Status Quo is not an option

• Something must be done

Restrictions

• There is no more money until there is progress

• Progress must be demonstrated

Cannot change everything

• Must respect the existing governance processes

Change Management Context

A Real World Example of Agile Transformation

Page 11: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

• Analysis Paralysis

• Single-discipline teams

• Ineffective Bureaucracy

• Changing requirements

• Change management concerns

• Time Box

• Whole Team

• Waterfall interfaces

• Prioritization processes

Challenges Guiding Principles

Restructuring for Agility

A Real World Example of Agile Transformation

Page 12: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

• Analysis Paralysis

• Single-discipline teams

• Ineffective Bureaucracy

• Changing requirements

• Change management concerns

• Time Box

• Whole Team

• Waterfall interfaces

• Prioritization processes

Challenges Guiding Principles

Challenges Agile Practices

• Bureaucratic processes

• Unclear timing requirements

• Weak collaboration between

roles

• No task tracking tools

• No Incremental Working

Software

• Daily Stand up

• Increased urgency and empowerment

• RTC Tooling for plan tracking

• Task board, Sprint Detail Planning

• Sandbox environment - continuous

integration

• Automated Testing

Restructuring for Agility

Implementing Agile Practices

A Real World Example of Agile Transformation

Page 13: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

Restructure for Agility

• Time Box

• Whole Team

• Waterfall interfaces

• Prioritization processes

Implement Agility to Deliver

• Task board, Sprint Detail Planning

• Daily Stand up

• Automated Testing

• Sandbox environment - continuous

integration

• RTC Tooling for change tracking

Closing the loop for Business Value

• Closed loop testing

• Retrospective - continuous improvement

Restructure

Engage

Deliver

Guiding Principles & Agile Practices

A Real World Example of Agile Transformation

Page 14: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

Business Value Ratings

A Real World Example of Agile Transformation

Page 15: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

Restructuring for Agility

Restructure

A Real World Example of Agile Transformation

Page 16: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

Core Agile Practices

• Time box

• Whole Team

Key Waterfall Interfaces

• T-30 Sprint Approval Process

• Long Term Sprint Roadmap

• Prioritization Process with Sign-off

• Architecture and Design are deliverables

Restructure

Restructuring for Agility

A Real World Example of Agile Transformation

Page 17: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

Time boxed deliverables

• Break the deliverables into time boxes that allow incremental

working delivery of high level business features

Time boxing delivers:

• Cadence: delivery of new functionality every two months

• Complexity Reduction: each sprint is focused on smaller deliveries

• Re-Prioritization: since the entire project cannot be delivered in one sprint, requirements

must be prioritized focusing on the highest value deliverables early in the project

• Change/Injection Points: a fixed schedule and process for the client to adjust the scope

and focus of the project

• Continuous Completion: functionality and working software must be closed at the end of

the sprint and deliverables are not left dangling or partially complete

The time box enables cultural change !

Restructure

TIME BOX

A Real World Example of Agile Transformation

Page 18: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

Whole team

• All of the roles in the company, architects, developers,

designers, testers work as a team

• Teams co-located

Whole team allows:

• Leaner documentation: teams work together to produce minimal artifacts to satisfy the needs of

the delivery.

• Fewer handoffs: understanding and collaboration create fewer handoffs and greater information

flow from requirements through delivery.

• Greater Collaboration: teams learn quickly what information is required by the other team

members and adjust to deliver information of maximum value sooner.

Co-location also enables cultural change!

Restructure

WHOLE TEAM

A Real World Example of Agile Transformation

Page 19: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

The Agile / Waterfall Interfaces T-30 Sprint Approval Process Long Term Sprint Roadmap Prioritization Process with Sign-off Architecture and Design are deliverables

Restructure

A Real World Example of Agile Transformation

Page 20: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

Waterfall

Project

Waterfall

Project

Waterfall

Project

Agile Project

Lots of project interdependencies • Need to communicate clearly

Restructure

Context Inter-project dependencies

A Real World Example of Agile Transformation

Page 21: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

T-30 (T minus 30 days)!!!!!

• 30 day approval process on a 2 months sign-off

• 50% of the sprint elapsed time overlaps with preparing for the next Sign-off

• Will not fit with the Agile process mentality

• Time required: 5 day exercise for 1 person, plus some meetings

Plan using the Backlog and the Roadmap

• Review the plan for the next 2 sprints

• Make sure the plan is reasonable and still makes sense given the current project realities

Negotiate

• Negotiate – the clients will always want more than can be delivered

A lengthy planning cycle is required to interface to Waterfall Projects!

Restructure

Innovation 1 T-30 Sprint Approval Process

A Real World Example of Agile Transformation

Page 22: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile Restructure

Innovation 1 T-30 Sprint Approval Process

A Real World Example of Agile Transformation

Page 23: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

Lay out a long term roadmap

• 6-12 months

• Make agile development comfortable for people with Waterfall

expectations

• Recognize that change happens

• Involve the customer in deciding the long term vision and

direction

Refer to the Roadmap often

• Key part of any planning discussion, especially the T-30 process

• Use the roadmap for long term capacity planning

Strict formalization allows Waterfall PMs to confidently work with the milestones of the

Agile project

Discipline reduces the perceived Cowboy effect

Restructure

Innovation 2 Long Term Roadmap

A Real World Example of Agile Transformation

Page 24: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

Data

Integration

Support

Mar May July Sept Nov

•Feature

•Feature

•Feature

•Feature

•Feature

•Feature

•Feature

•Feature

•Feature

•Feature

•Feature

•Arch

Feature

•Feature

•Feature

•Feature

•Key

Feature

•Feature

•Feature

•Feature

•Key Security

Feature

•Feature

•Feature

•Feature

•Feature

•Feature

Restructure

Innovation 2 Long Term Roadmap Example

A Real World Example of Agile Transformation

Page 25: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

Qualified and Unqualified Backlogs

• Requests for features are captured in the backlog (business or

architectural)

• When requirements are signed off, they are moved to the

qualified backlog

• Only qualified requirements are available for the T-30 sprint

planning process

Scope control

• Ensures you are not working on things the client does not want/need.

• Industry estimates are that 80% of all software features rarely (if ever) get used by the

business

• Don’t work on these features unless someone from the business side signs off

Formalization is respected by the Waterfall organization

Restructure

Innovation 3 Signed Off Requirements

A Real World Example of Agile Transformation

Page 26: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

There are 2 main deliverables for a software project

• Requirements, Architecture and Design

• Tested, working software

Both are important and should be scheduled within sprints

• Do not make working code your only benchmark

• Use the sprint planning to break analysis paralysis

Make the sprint model work for you

• Time box the design, not only the development!

• Make everyone understand the impact/benefit of delivering during a sprint

Respect the organization – include big architecture/design in the process!

Restructure

Innovation 4 Architecture and Design are Deliverables

A Real World Example of Agile Transformation

Page 27: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile Restructure

The Agile-Waterfall Interface

A Real World Example of Agile Transformation

Page 28: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

Implementing Agility to Deliver

Engage

A Real World Example of Agile Transformation

Page 29: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

• Bureaucratic processes

• Unclear timing requirements

• Weak collaboration between

roles

• No task tracking tools

• No Incremental Working

Software

• Daily Stand up

• Increased urgency and

empowerment

• RTC Tooling for plan tracking

• Task board, Sprint Detail Planning

• Sandbox environment - continuous

integration

• Automated Testing

Challenges Agile Practices

Engage

Implementing Agile Delivery

A Real World Example of Agile Transformation

Page 30: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

15 min Daily Scrum Meetings

• Inject a real sense of urgency

Information radiators

• Helped to focus on priorities

and communicate timeframes

• Burn down chart

• Calendar

• Task Boards

• RTC Reports

Dependencies between teams

were managed by sharing resources

To be improved: "Circus phenomena"

too many "witnesses" leads to unfocused scrums

Engage

Agile Practice 1 Daily Scrum Meeting

A Real World Example of Agile Transformation

Page 31: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

RTC is an Agile application lifecycle management (ALM) solution

• RTC is the Source Collaboration repository

• Manages all work items: Release Plans, Iteration Plans, Epics, Stories, Tasks,

Defects, Risks. RTC is a powerful collaboration tool.

• Capturing real-time estimates to completion (ETC)

• Plan is not fixed, every team member can reevaluate the ETC of its task.

• Every day the team can see real-time progress

• Dashboards to management

• Daily burn down

• Any gaps in delivery can be identified.

Engage

Agile Practice 2 Agile Planning and collaboration with RTC

A Real World Example of Agile Transformation

Page 32: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

• With the DSM, our main tool for collaboration,

planning and reporting.

• Implemented during the delivery phase.

It was a necessary tool.

• Fully adopted by data warehousing and Integration teams

• Fully transparent to any stakeholders. Gives a real-time indicator on our progress.

• Cultural Clash: The Real-time Agile Transparency may overexpose project issues

and delays versus a static Waterfall plan where everything may be green until the

final integration.

Engage

Agile Practice 2 Agile Planning and collaboration with RTC

A Real World Example of Agile Transformation

Page 33: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

Each Team has: • A Team Area

•Team Dashboard

Each group of Teams has: • Group Dashboard

Key work/progress is captured in RTC

Engage

RTC Team Area and Team Empowerment

Page 34: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

Work Items

• New unassigned

• To be validated

• To be tested

Sprint planning

• Sprint burn down

• Sprint planning

• Sprint Stories

Risks and Defects

• Obstacles, Risks, Issues

• Defects

Engage

RTC Team Dashboard

A Real World Example of Agile Transformation

Page 35: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

• Use the Burn Down Chart to show progress

• Communicate the burn down chart with any dependent Waterfall projects

• Keep Management in the loop

• Use the burn down to keep management in the loop

• Instills confidence that the process is working

• Admit failures

• It is not going to be perfect the first time

• 100 percent delivery is not the goal, delivering value in the time box is the goal

• Spread the success – respect everyone’s contribution!

Engage

RTC Showing Progress

A Real World Example of Agile Transformation

Page 36: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile Engage

RTC Showing Progress

A Real World Example of Agile Transformation

Page 37: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

If something is hard, do it more often so that you get good at it and thereby make it easy.

• Sandbox testing

using VmWare to emulate the

production servers

• DevOps, Tests, CPR, Integration tests

• Automated Testing framework

Integration tests (1500+ tests)

implemented in SoapUI Pro

• Eliminate the need for massive inspection

by building quality into the product (Demings)

• Nightly & Automated Deployment

• One Button deployment scripts

Engage

Agile Practice 3 Continuous Integration

A Real World Example of Agile Transformation

Page 38: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

Challenges and Pitfalls

A Real World Example of Agile Transformation

Page 39: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

Challenges of integration

• Delivered iteratively but integrated sequentially

• Architectural risks cannot be eliminated without participation of the consuming project

• Agility cannot be delivered without cooperation of other projects

• Residual risk is maintained until the integration is tested

Return of Waterfall and command-and-control processes

• Dominant business processes returned as the project was integrated into the larger business

context

Benefits were confined to the single project

• Agile practices were not widely adopted

Organization Culture Clash

• On large projects consulting firms may push waterfall approaches for their own benefits

• Departmental responsibilities - organization is structured by job function

• Organization was stressed by implementing many large projects at once - makes it difficult to be

open to change.

Closing the loop Challenges and Pitfalls

Deliver

A Real World Example of Agile Transformation

Page 40: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

Conclusions

A Real World Example of Agile Transformation

Page 41: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

BIG Ideas Addresses

Restructure for Agility

• Time Box

• Whole Team

• Waterfall interfaces:

• Roadmap, T-30, Prioritization,

• Architecture deliverables

Implement Agility to Deliver • Daily Stand up

• Increased urgency and empowerment

• RTC Tooling for plan tracking

• Task board, Sprint Detail Planning

• Sandbox environment - continuous integration

• Automated Testing

Closing the loop for Business Value • Integration: challenges and pitfalls

• Analysis Paralysis

• Multi-disciplinary team

• Ineffective Bureaucracy

• Change management concerns

• Better focus

• Bureaucratic processes

• Unclear timing requirements

• Weak collaboration between roles

• No task tracking tools

• No Incremental Working Software

A Real World Example of Agile Transformation

Page 42: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

Why Agility ?

A Real World Example of Agile Transformation

Page 43: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

Complexity

• Whole team

• Experimentation

• Engagement

Changing requirements

• Clearly defined lightweight process for integrating changes

• Eases critical decision making

Building Trust

• Needed to show incremental progress

• Delivery of working code

Why Agility Disciplined Agility

A Real World Example of Agile Transformation

Page 44: Waterfall meets Disciplined Agile

*

Waterfall Meets Disciplined Agile

Questions?

A Real World Example of Agile Transformation

Feel free to contact us:

Richard McMullin, Agile Transformation Specialist

[email protected]

Etienne Laverdière, Agile Practitioner

[email protected]

www.digitaltango.ca

You would like that we help you implement Agility in your Organization?