rescuing a troubled project with agile - softwarevalue.com...•self organizing –no titles...

29
Measure. Optimize. Deliver. Phone +1.610.644.2856 Rescuing a Troubled Project with Agile Pat Eglin, Agile Coach [email protected] Tom Cagley, CFPS, Agile Practice Lead [email protected]

Upload: others

Post on 18-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Rescuing a Troubled Project with Agile - softwarevalue.com...•Self organizing –No titles –Everyone will wear multiple hats (developers test) ... transitions to Scrum Master and

Measure. Optimize. Deliver.

Phone +1.610.644.2856

Rescuing a Troubled Project

with Agile

Pat Eglin, Agile Coach

[email protected]

Tom Cagley, CFPS, Agile Practice Lead

[email protected]

Page 2: Rescuing a Troubled Project with Agile - softwarevalue.com...•Self organizing –No titles –Everyone will wear multiple hats (developers test) ... transitions to Scrum Master and

©2013 David Consulting Group

Troubled Projects

• Is the project really in trouble?

– Tolerances

• Budget

• Calendar

• Quality

• Satisfaction

• Incompatibilities

1

Ok Disaster

Page 3: Rescuing a Troubled Project with Agile - softwarevalue.com...•Self organizing –No titles –Everyone will wear multiple hats (developers test) ... transitions to Scrum Master and

©2013 David Consulting Group

Assessing Typical Sources of Problems

• Poor Planning

– Lack of Correct Resources

• Poor Scope Management

– Scope Creep

– Scope Churn

– Building the Wrong Thing

• Not Managed Well

– Wrong People Doing The Right Things

• Poor Communications

– Lack of Involvement

• Poor Quality

– Trade-offs

– Defects Dominating

2

Page 4: Rescuing a Troubled Project with Agile - softwarevalue.com...•Self organizing –No titles –Everyone will wear multiple hats (developers test) ... transitions to Scrum Master and

©2013 David Consulting Group

Turn Around or Reset?

• Is there a coherent vision of the project’s goal?

– No? Reset.

• Does an external estimate to complete indicate

humans can actually deliver?

– No? Reset.

• Can the organization afford what is required to

deliver?

– No? Reset.

3

Ok Disaster Turn

Around

Page 5: Rescuing a Troubled Project with Agile - softwarevalue.com...•Self organizing –No titles –Everyone will wear multiple hats (developers test) ... transitions to Scrum Master and

©2013 David Consulting Group

Why Agile

4

“Agile projects are successful three times

more often than non-Agile projects.”

- 2011 CHAOS Manifesto from the Standish Group

• Agile enhances the team’s ability to

deliver through:

– Involving the whole team in planning and meeting

the business need

– Focuses on defining what is needed then

controlling the “backlog”

– Utilizing a structure that allows the team to control

their process to meet the environment

– Short cycles, constant feedback and close

engagement with the product owner

Page 6: Rescuing a Troubled Project with Agile - softwarevalue.com...•Self organizing –No titles –Everyone will wear multiple hats (developers test) ... transitions to Scrum Master and

©2013 David Consulting Group

The Process

1. Assess The Project

– In trouble?

– Turn around or restart

2. Plan The Intervention

– Prep the teams

– Re-organize

– Decide who does what

3. JumpStart

4. Coach

5. Celebrate

5

Page 7: Rescuing a Troubled Project with Agile - softwarevalue.com...•Self organizing –No titles –Everyone will wear multiple hats (developers test) ... transitions to Scrum Master and

©2013 David Consulting Group

Assess: The Project

6

Process:

• Satisfaction

• Change

Management

• SDLC

Model:

• CMMI

• IT-CMF

• Cobit

Quantitative:

• Dates

• Defects

• Cost

• Productivity

• Effort

• Budget

Quantitative and

Process assessment

techniques compared

to implicit or explicit

tolerances are the

most common

troubled project

assessment

techniques.

Page 8: Rescuing a Troubled Project with Agile - softwarevalue.com...•Self organizing –No titles –Everyone will wear multiple hats (developers test) ... transitions to Scrum Master and

©2013 David Consulting Group

Reorganize / Form Teams: Capability Teams

Capability Team

Product

Owner

Scrum

Master Business

Analyst

Tester

Tester

Developer

Developer

Developer

/ Tester

Value (Work) Flow

1. Form teams around organizational

capabilities

2. Team size of five to nine, including all

disciplines needed to deliver

3. Projects become less important than a

Flow of Value (Karl Scotland)

7

Page 9: Rescuing a Troubled Project with Agile - softwarevalue.com...•Self organizing –No titles –Everyone will wear multiple hats (developers test) ... transitions to Scrum Master and

©2013 David Consulting Group

Three “Typical” Agile Team Roles

Scrum Master

• Coach and facilitator

• Impediment

remover

The Team

• Developers, Testers, Business

Analysts/SMEs, Architects,

Data Analysts, etc.

• Frame, design, build and test

Product Owner

• Provides business

acumen and

support

• Owns and

prioritizes

backlog, answers

questions and

makes decisions

PO

SM

8

Page 10: Rescuing a Troubled Project with Agile - softwarevalue.com...•Self organizing –No titles –Everyone will wear multiple hats (developers test) ... transitions to Scrum Master and

©2013 David Consulting Group

Roles & Responsibilities – Key Participants

Product Owner

• Ensures backlog is visible to everyone;

• Makes decisions;

• Defines the product vision and the

features of the product;

• Prioritizes user stories according to

market value;

• Grooms the product backlog every

iteration;

• Accepts or rejects work results;

• Calls for and plans the releases;

• Involves customers, users, and other

stakeholders;

• Prepares for the product launch;

• Attends the Scrum meetings; and

• Collaborates with the team.

Scrum Master

• Responsible for ensuring that the Scrum

practices and rules are followed;

• Teaches the team by coaching and

leading;

• Helps the team understand and use self-

organization and cross functionality;

• Removes impediments;

• Ensures that the team is functional and

productive;

• Enables close cooperation across all roles

and functions; and

• Shields the team from external

interferences

9

Page 11: Rescuing a Troubled Project with Agile - softwarevalue.com...•Self organizing –No titles –Everyone will wear multiple hats (developers test) ... transitions to Scrum Master and

©2013 David Consulting Group

Coach: Attributes and Roles

• Role includes helping the team(s) to use

Agile techniques via:

– Teaching

– Demonstrating

– Pressure

– Observation

• Attributes:

– High levels of emotional intelligence

– Serves in a coaching role only

– From outside the organization

– Provides objective guidance, without

personal or political considerations

– Is an Agile expert

– Has successfully run Agile projects

10

Page 12: Rescuing a Troubled Project with Agile - softwarevalue.com...•Self organizing –No titles –Everyone will wear multiple hats (developers test) ... transitions to Scrum Master and

©2013 David Consulting Group

Outside Support Roles

• Business

– Provide subject matter expertise

– Support Product Owner

• IT Leads

– Provide standards

– Provide technical expertise

• Program Management

– Big picture coordination

– Remove external impediments

Frequent

support and

encouragement

11

Page 13: Rescuing a Troubled Project with Agile - softwarevalue.com...•Self organizing –No titles –Everyone will wear multiple hats (developers test) ... transitions to Scrum Master and

©2013 David Consulting Group

Final Notes On The Team . . .

12

Saving a

problem

project

cannot be a

hobby!

• Cross functional

• Shares the knowledge

• Generally full-time members

• Membership only changes

between iterations

• Self organizing

– No titles

– Everyone will wear multiple hats (developers test)

– Roll-up your sleeves – see something that needs to be done?

Do it.

– Agree to disagree – everyone's commitment to team decision is

important

Page 14: Rescuing a Troubled Project with Agile - softwarevalue.com...•Self organizing –No titles –Everyone will wear multiple hats (developers test) ... transitions to Scrum Master and

©2013 David Consulting Group

Why Agile JumpStart?

• The goal of the JumpStart Process in restarting or

turning around a project is to radically rearrange

how a project is run through an accelerated Agile

adoption. It provides an environment where

individual teams can quickly learn and apply Agile

methods to transform their projects. In other

words:

– One-on-one external coaching

– Show how by doing then transferring

knowledge

– Immediate process feedback

– Just-in-time training

– Coach withdraws as team gains confidence

13

Page 15: Rescuing a Troubled Project with Agile - softwarevalue.com...•Self organizing –No titles –Everyone will wear multiple hats (developers test) ... transitions to Scrum Master and

©2013 David Consulting Group

Sample Iteration Zero Agenda – Restart

9. Release

Planning

11. Iteration

Planning

Estimate

User Story

Backlog &

Assign

Value

Develop

Release

Plan

Develop

Iteration

Plan

Monday 4 hours

Tuesday 4-8 hours

Wednesday 8 hours

Thursday 4 hours

Friday 4 hours

Create

User Story

Backlog

10. Demos and

Retrospectives

8. Story

Points &

Estimating

Create

Project

Vision &

Team

Charter

6. User

Story Value

5. Writing

User Stories

4. Building

the Product

Backlog

3. Agile

Roles

2. Project

Vision &

Charter

1. Agile

Values &

Principles &

Scrum

7. Test-driven

Development

14

Page 16: Rescuing a Troubled Project with Agile - softwarevalue.com...•Self organizing –No titles –Everyone will wear multiple hats (developers test) ... transitions to Scrum Master and

©2013 David Consulting Group

Introduce Test-driven Development

During Rescue

Coding and Testing With TDD:

Starting with a test means that you have to describe what the story wants

to achieve before considering “how.” This focus helps to maintain the

right level of abstraction.

To ensure that you say what you mean:

1. Start with an English description

2. Write the code from the description

3. Translate the code back to English

4. Compare 3 to1

15

Pair Testers

or BAs with

Developers

when writing

tests!

TDD helps insure that as stories are written and accepted into the sprint,

they are understood (reducing defects and rework).

Page 17: Rescuing a Troubled Project with Agile - softwarevalue.com...•Self organizing –No titles –Everyone will wear multiple hats (developers test) ... transitions to Scrum Master and

©2013 David Consulting Group

TDD: Simple Process

Steps:

1. Design: Figure out what you want to do

2. Test: Write a test to express the design

– It should FAIL

3. Implement: Write the code

4. Test again

– It should PASS

– Repeat writing code until the test passes

16

Page 18: Rescuing a Troubled Project with Agile - softwarevalue.com...•Self organizing –No titles –Everyone will wear multiple hats (developers test) ... transitions to Scrum Master and

©2013 David Consulting Group

TDD: Limit Scope

Keep tests understandable and maintainable by limiting their scope.

Tests that are dozens of lines long mean the component being tested is

too large and needs to be broken up into smaller components.

• Every function should have:

– A single specific purpose

– If possible, a generally useful purpose

– A meaningful name

– A structure that is simple to understand

– An interface that is simple yet general enough

17

Page 19: Rescuing a Troubled Project with Agile - softwarevalue.com...•Self organizing –No titles –Everyone will wear multiple hats (developers test) ... transitions to Scrum Master and

©2013 David Consulting Group

Iteration Zero – Expectations and Deliverables

• Expectations

– Time boxed

– Resources dedicated to Agile transformation during time allocated

• Deliverables

– Concise project vision

– Point-specific training

– User Story backlog; estimated and prioritized

– Initial release plan created

– Team charter

18

Page 20: Rescuing a Troubled Project with Agile - softwarevalue.com...•Self organizing –No titles –Everyone will wear multiple hats (developers test) ... transitions to Scrum Master and

©2013 David Consulting Group

Agile Processes At A Glance

0

50

100

150

200

250

300

350

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41

Days

Burn - up Chart Example

Done

24 Hours

1-2 Weeks

Daily

Standup

Iteration

Backlog Product

Backlog

Continuous

Reporting

Demo

Iteration

Planning

Potentially

Shippable

Retrospective

19

Page 21: Rescuing a Troubled Project with Agile - softwarevalue.com...•Self organizing –No titles –Everyone will wear multiple hats (developers test) ... transitions to Scrum Master and

©2013 David Consulting Group

Maximum

90 Minutes

Getting Started

Prior to the Agile JumpStart process:

• Confirm and get commitments on availability of key participants for

Iteration Zero and subsequent sprints

– Product Owner (PO)

– Scrum Master

– Team

– Coach

• Coach: Meet with POs and Scrum Master(s)

– Set expectations

– Review Agile overview, JumpStart, and role training

– Assess team dynamics

– Establish trust relationship

– Schedule JumpStart

20

Page 22: Rescuing a Troubled Project with Agile - softwarevalue.com...•Self organizing –No titles –Everyone will wear multiple hats (developers test) ... transitions to Scrum Master and

©2013 David Consulting Group

Coach

Transformation Coaching

Coach as leader

transitions to Scrum

Master and Product

Owner as Leaders

Attributes of JumpStart Coach: • Aggressive Facilitator

• Leader

• High-Touch People Person

• 110% Self Starter Attributes of Scrum Master: • Aggressive Facilitator

• Owns the Scrum Process

• Leader

• High-Touch People Person

• 110% Self Starter

Transition Zone

Begins

Iteration 0 Iteration 1 Iteration 2

Attributes of Product Owner: • Understands the Business

• Owns the Product Backlog

• Leader

• High-Touch People Person

• 110% Self Starter

Scrum

Master

Product

Owner

Relative Levels

of Effort

21

Page 23: Rescuing a Troubled Project with Agile - softwarevalue.com...•Self organizing –No titles –Everyone will wear multiple hats (developers test) ... transitions to Scrum Master and

©2013 David Consulting Group

Case - Restarting

Large Alternate Asset Management Company with a multiple vendor, technology and project environment

Large critical project, six project teams, four delivery dates missed, 80% complete for six months, reporting green status

One Program Manager and six Project Managers assigned, little business involvement

Significant requirements were still being discovered leading to four hour change management “debates”

Experienced-based estimation based on bottom-up task planning with large MS Project schedule

22

Page 24: Rescuing a Troubled Project with Agile - softwarevalue.com...•Self organizing –No titles –Everyone will wear multiple hats (developers test) ... transitions to Scrum Master and

©2013 David Consulting Group

Case One

Large software development firm, hierarchical culture, and one very large project and many smaller

Mixed Scrum/XP (recent addition) and Plan-based project environment

Strenuous budgeting process with tax accruals

Significant discovery was required to define, design and develop the large project

Experienced-based estimation based on bottom-up task planning – questionable on the large project!

23

Page 25: Rescuing a Troubled Project with Agile - softwarevalue.com...•Self organizing –No titles –Everyone will wear multiple hats (developers test) ... transitions to Scrum Master and

©2013 David Consulting Group

The Process

1. Assess The Project

– In trouble?

– Turn around or restart

2. Plan The Intervention

– Prep the teams

– Re-organize

– Decide who does what

3. JumpStart

4. Coach

5. Celebrate

24

Page 26: Rescuing a Troubled Project with Agile - softwarevalue.com...•Self organizing –No titles –Everyone will wear multiple hats (developers test) ... transitions to Scrum Master and

©2013 David Consulting Group

The Answer, Part 1

25

Assessment

• Teams were too large

• Vendors were leading teams

• Project was not 80% done

• Functionality marked complete had not been tested

Impact

• Project managers were dismissed

• Teams were consolidated to 7 members each, with an internal Scrum master, business product owner and a coach

• Teams were co-located (3 geo-locations)

• All teams were tasked with rebuilding their backlogs

• A one week sprint zero was decided upon

Page 27: Rescuing a Troubled Project with Agile - softwarevalue.com...•Self organizing –No titles –Everyone will wear multiple hats (developers test) ... transitions to Scrum Master and

©2013 David Consulting Group

The Answer, Part 2

26

JumpStart

• All teams went through a standard JumpStart

• Decided on team norms and completed Agile Chartering

• Introduced Test-driven Development (Light)

• Each team built an initial backlog

• Program Manager facilitated developing an initial release plan

• Each team planned and estimated their first iteration and publicly committed to the plan (as a team)

• Completed team building

Coaching

• External coach facilitated each team

• Hands-on training for product owners and Scrum masters

• Facilitated Scrum of Scrum and external weekly status meeting

• Evangelized and trained external stakeholders

Page 28: Rescuing a Troubled Project with Agile - softwarevalue.com...•Self organizing –No titles –Everyone will wear multiple hats (developers test) ... transitions to Scrum Master and

©2013 David Consulting Group

Agile JumpStart Process Summary

• Agile JumpStart is designed to quickly and efficiently start the Agile

transformation with coaching and just-in-time training and workshops.

• Agile JumpStart intercepts a project as requirements or user stories are being

framed and coaches the team in how to use specific techniques as closely as

possible to the time the team needs to use the technique.

• An individual coach assigned to the project travels with the team through the

first few iterations until the team has learned to run.

• The process will begin with a ½ day session in which the basic principles and

techniques are reviewed and all participants agree upon their roles and

responsibilities.

• The “Agile JumpStart” projects will feed the process personnel in the standard

transformation path, specific process requirements and change management

data.

• Intimate, hands-on coaching will be required for three to four sprints before

entering a standard coaching stream.

27

Page 29: Rescuing a Troubled Project with Agile - softwarevalue.com...•Self organizing –No titles –Everyone will wear multiple hats (developers test) ... transitions to Scrum Master and

©2013 David Consulting Group

Contact Us

Pat Eglin:

[email protected]; (484) 889-9474

Tom Cagley:

[email protected]; (440) 668-5717

http://www.davidconsultinggroup.com

28

@DavidConsultGrp

/DavidConsultGrp

/company/David-Consulting-Group Measure. Optimize. Deliver.

Phone +1.610.644.2856