Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development...

46
Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager

Transcript of Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development...

Page 1: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

Context Driven Agile Leadership Managing Complexity and Uncertainty

Todd Little

Sr. Development Manager

Page 2: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

Managing the Coming Storm Inside the Tornado

When will we get the requirements?All in good time, my little pretty, all in good timeBut I guess it doesn't matter anyway

Doesn't anybody believe me?

You're a very bad man!

Just give me your estimates by this afternoon

No, we need something today!

I already promised the customer it will be out in 6 months

No, we need it sooner.

Not so fast! Not so fast! ... I'll have to give the matter a little thought. Go away and come back tomorrow

Ok then, it will take 2 years.

Team Unity

Project Kickoff

Page 3: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

We’re not in Kansas Anymore

My! People come and go so quickly here!

I may not come out alive, but I'm goin' in there!

The Great and Powerful Oz has got matters well in hand.

"Hee hee hee ha ha! Going so soon? I wouldn't hear of it! Why, my little party's just beginning!

Developer HeroReorg

Testing

Page 4: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

Landmark sells shrink wrap software for Oil and Gas Exploration and Production

• Users are Geoscientists and Engineers

• Subsidiary of Halliburton Energy Services

• Integrated suite of ~60 Products

• ~50 Million lines of code• Some products 20+

years old• 80+% of project team

stays on same product

Common Model Representation

Well data

Production data

Seismic data

Velocity data

Reservoir /Fluid data

Structural /Stratigraphic data

Common Model Representation

Page 5: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

Landmark wanted to understand and improve our software development process

• Maximize our Value Delivery• Scaling to project conditions • Manage Uncertainty and Complexity• Organizational commonality without being

overly prescriptive– Core processes– Adaptive processes– What is “barely sufficient?”

Page 6: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

Agile 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.

Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas

Page 7: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

Auditor Manifesto

We are uncovering painful ways of auditing software teams and enjoy making others do what we tell them. Through this work we have come to value:

– Processes and tools over individuals and interactions – Comprehensive documentation over working software – Contract negotiation over customer collaboration – Following a plan over responding to change

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

Page 8: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

Number of people involved

C

riti

cali

ty(d

efec

ts c

ause

loss

of.

..)

Comfort(C)

Essentialmoney

(E)

Life(L)

+20%

. . . Prioritized for Legal Liability

1 - 6 - 20 - 40 - 100 - 200 - 500 - 1,000

C6 C20 C40 C100 C200 C500 C1000

D6 D20 D40 D100 D200 D500 D1000

E6 E20 E40 E100 E200 E500 E1000

L6 L20 L40 L100 L200 L500 L1000

Prioritized for Productivity & Tolerance

Cockburn’s Crystal Methodology according to (project size, system criticality, team priorities)

Discretionarymoney

(D)

Agile SweetSpot

Page 9: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

Balancing Agility and DisciplineBoehm and Turner

Personnel

Dynamism (% Requirements-change/month)

Culture (% thriving on chaos vs. order)

Size (# of personnel)

Criticality (Loss due to impact of defects)

5030

105

1

90

70

50

30

10

3

10

30

100

300

35

30

25

20

15

Essential Funds Discretionary

Funds Comfort

Single Life

Many Lives

(% Level 1B) (% Level 2&3)

0

10

20

30

40

Agile

Disciplined

Page 10: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

Boehm and Turner Observations on Balancing

• Neither agile nor plan-driven methods provide a silver bullet

• Agile and plan-driven methods have home grounds where each clearly dominates

• Future developments will need both agility and discipline

• Some balanced methods are emerging

• It is better to build your method up than to tailor it down

• Methods are important, but potential silver bullets are more likely to be found in areas dealing with – People– Values– Communications– Expectations

management

Page 11: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

Agile Manifesto 5 Years Later: Dealing with the Right

• Processes and tools that support agility and individuals and interactions (e.g. wikis, collaboration environments, etc.)

• Documentation that leads to working software.  A focus on documentation as a consumable rather than as a deliverable.

• Contracts that are written in a manner consistent with collaboration and agile delivery

• Plans that anticipate and expect change

Page 12: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

Landmark studied its project portfolio and identified several project and team attributes

• Project Complexity– Team size– Mission criticality – Team location– Team capacity– Domain knowledge gaps– Dependencies

• Uncertainty– Market Uncertainty– Technical Uncertainty– Project Duration– Dependents

Page 13: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

We scored the Complexity Attributes on a scale from 1 to 10

Attribute 1 10

Team Size 1 100

Mission Critical SpeculativeSafety Critical with

significant exposure

Team Location Same Room Multi-site, World Wide

Team CapacityEstablished Team of

expertsNew team of mostly

novices

Domain knowledge gapsDevelopers know the

domain as well as expert users

Developers have no idea about the domain

Dependencies No dependenciesTight Integration with

several projects

Page 14: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

And we scored the Uncertainty Attributes

Attribute 1 10

Market UncertaintyKnown deliverable,

possibly defined contractual obligation

New market that is unknown and untested

Technical UncertaintyEnhancements to existing

architecture

New technology, new architecture. May be

some "R"

Project Duration 1-4 week 24 months

Dependents/ Scope Flexibility

Well defined contractual obligations or Infrastructure

Independent

Page 15: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

0.0

2.0

4.0

6.0

8.0

10.0

12.0

0.0 5.0 10.0 15.0 20.0 25.0 30.0

Project Complexity

Un

ce

rtai

nty

We cross plotted the results and divided the chart into four quadrants

ixComplexity 10log2 iytyUncertain 10log

2

Page 16: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

Refactored for Simplicity

0.0

1.0

2.0

3.0

4.0

5.0

6.0

7.0

8.0

9.0

10.0

0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0

Project Complexity

Un

ce

rta

inty

)(ixgeomeanComplexity )( iygeomeantyUncertain

Page 17: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

This looked a lot like the Boston Matrix

Boston Matrix

Market Share

Ma

rk

et

Gro

wth

Low

High

Dogs

Cash Cows

StarsQuestion Marks

Low High

???

Page 18: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

So we named it the Houston Matrix and gave animal names to the quadrants

0.0

2.0

4.0

6.0

8.0

10.0

12.0

0.0 5.0 10.0 15.0 20.0 25.0 30.0

Project Complexity

Un

cert

ain

ty

Simple, young projects. Need agilityTight Teams

Skunks

Dogs

Complex, mature marketNeed defined interfaces

Cows

Bulls

Agility to handle uncertaintyProcess definition to cope with complexity

laissez faire

Colts

Page 19: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

We looked at an overall process flow and how it would be adaptable.

Adaptive ActivitiesInputs

Pre-conditions

Project Sanction

RTM

Outputs

Post-conditions

•Released Software

CORE Activities

Iterations

Page 20: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

We Identified a set of Core Processes for all projects to use

• Aggregate Product Plan

• A/B/C List

• Quality Agreement

• Continuous Integration

• Expert User Involvement

• Project Dashboard

Page 21: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

The Aggregate Product Plan sets the high level vision and expectations

Project: OpenWells Davenport Project Code: 010265

Product: OpenWells Target Date: 3/30/2004

Version: 2003.11.0.0 Release Date: 3/31/2004

Product Manager: Marcus Ridgway SDD: David Field

Vision:Version 2.0 of the new Well Operations reporting and data analysis application. Will bring powerful new query, graphing and reporting capabilities. Comprehensive D&WS input data and output reports will be supported including integration to Production suite.

Platforms:Windows 2000 /Oracle 8.1.7Windows XP / Oracle 9i Windows 2000 & XP /MSDE

Features:18 additional reportsAddtnl apps - Data Anlyzr, NG Profile, AutoprintExtended Rig Equipment supportKnowledge Management - Technical limit drilling,lessons learned, non-productive time, and equipment failuresApplication enhancements (spreadsheet support andtailored well services tab and others)

Strategic Fit:IntegrationWorkflow ( Prototype, plan, actual)Top quartile technology

Target Markets:Existing DIMS customersUS IndependentsNOCsGovernment and regulatory organizationsCompanies requiring integrated offering w/decent wellbore schematic requirementsService companies

Page 22: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

The A/B/C List sets proper expectations

A MUST be completed in order to ship the product.

B SHOULD be completed in order to ship the product.

C MAY be completed prior to shipping the product if time allows.

Only “A” features may be committed to customers.

“A” features must fit in a p90 confidence schedule. No more than 50% of the planned effort can be allocated to “A” items

Page 23: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

A

A/B/C List

B

C

A

B

CD

50

%

10

0%

Backlog Plan Typical Delivery

50

%2

5%

25

%

Page 24: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

A/B/C List

P10 P50 P901 A Honor common login Recognize and support the EDM common login information 5 10 20 M

2 A Certify against old data model

Formally test the new ARIES product against the old ARIES database. If successful, this will ease the transition by giving customers flexibility and enabling them to easily evaluate acquisition databases 10 20 40 L

3 B User group requestsImprove decline calculations to a reserve limit when using hyp/exp switchover 15 30 60 L

4 B Fill RMS functionality gapsProvide multi-level approval and freeze process. Allowing multiple sets of reserve values. 30 60 120 XL

5 C Fill RMS functionality gapsCurrent reconciliation is by EIA or SEC change codes. Need ability for more detail and or user defined arrangements. 35 70 140 XL

6 C User group requestsSTART date with option for a variable DELAY/SHIFT period (number of months) including use with ENDDATE 5 10 20 M

7 C User group requestsExpand range in which we solve for an unknown decline rate in a hyperbolic equation 5 10 20 M

Oxbridge - P&E Systems Requirements

ARIESEstimates

# Rank Name Notes/Purpose/Description T-Shirt

Page 25: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

We use a Quality Agreement similar to Thomsett

Attribute

“A” Very

Important

“B”

Important

“C”Not Very Important

Completeness of Functionality    X  

Completeness of Testing    X     

Reliability    X      

Performance        X

Installation    X    

Usability      X  

Integration    X    

On Line Help        X

Training      X  

Page 26: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

So we named it the Houston Matrix and gave animal names to the quadrants

0.0

2.0

4.0

6.0

8.0

10.0

12.0

0.0 5.0 10.0 15.0 20.0 25.0 30.0

Project Complexity

Un

cert

ain

ty

Simple, young projects. Need agilityTight Teams

Skunks

Dogs

Complex, mature marketNeed defined interfaces

Cows

Bulls

Agility to handle uncertaintyProcess definition to cope with complexity

laissez faire

Colts

Page 27: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

Don’t throw novice project managers at a bull project

Page 28: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

Brooks’ law in action: throw a developer at a late bull project

Page 29: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

Project Complexity and Uncertainty influence how to scale our agile process

• One size doesn’t fit all• The assessment tool is a guide• Landmark’s portfolio balance

– 10% Bulls– 10% Cows– 20% Colts– 60% Dogs

Page 30: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

Product Innovation Flow

Adaptive Activities Pro

ject

Sanct

ion

RTM

CORE Activities

Idea Filter

Hot Items

ABacklog Burnup

Sales

Services

Customer Support

ProductBacklog

A Items

IterationBacklog

Flexible ScopeBacklog

New

ly D

isco

vere

d

It

em

s

Most Items for consideration in next release

B & CReleaseBacklog

B/C/D

Page 31: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

Nickoliasen Model for Idea Filter(Executive Summit ADC 2004)

Mar

ket

Dif

fere

nti

atin

g

High

Low

Mission CriticalLow High

PartnerOr convert

To Mission Critical

Focus andAllocateResources

Who Cares?AchieveParity

Page 32: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

Products Tend to follow a Lifecycle path

Product Lifecycle

Complexity

Un

cert

ain

ty

Low

High

Dogs

Cows

Low High

Bulls

Skunks

Colts

AB

C

Page 33: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

Business Process Value Chain

MarketProduct

DevelopmentSales

Specifications Development Delivery

Business Need Development Delivery Internal IT

Product Company

Contract Model

Page 34: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

Business Process Value Chain   

InnovationDiscovery of unanticipated features or other innovative ways of improving the product C C A

Integration Attention to cross product integration issues C B B

Development Velocity Speed of development of new product features C B A

Quality Product reliability B A B

Customer Responsiveness

Business agility - ability to respond quickly to new customer needs C C B

Predictability Focus on accuracy of release date A B B

Project traceability

Audit ability of project process. Traditionally very important for outsourcers. A B C

Cost Importance of a low Cost structure A A C

Page 35: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

Portfolio Management and Dealing with Darwin (G. Moore)

Mar

ket

Dif

fere

nti

atin

g

High

Low

Mission CriticalLow High

Invent Deploy

ManageOffload

Create Change

Embrace Change

Eliminate Change

Control Change

Ad Hoc Agile

Outsource Structured

Page 36: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

Follow the Yellow Brick Road

Oz never did give nothing to the tin man, that he didn’t, didn’t already have

Page 37: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

Early Release of Bull Project

Page 38: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

Bull Program, Dog Project

Page 39: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

Don’t mistreat your cows

Page 40: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

The Agile Project Leadership Network Declaration of Interdependence

(www.apln.org)• We increase return on investment by making continuous flow of value our focus.

• We deliver reliable results by engaging customers in frequent interactions and shared ownership.

• We expect uncertainty and manage for it through iterations, anticipation and adaptation.

• We unleash creativity and innovation by recognizing that individuals are the ultimate source of value, and creating an environment where they can make a difference.

• We boost performance through group accountability for results and shared responsibility for team effectiveness.

• We improve effectiveness and reliability through situationally specific strategies, processes and practices.

David Anderson, Sanjiv Augustine, Christopher Avery, Alistair Cockburn, Mike Cohn, Doug DeCarlo, Donna Fitzgerald, Jim Highsmith, Ole Jepsen, Lowell Lindstrom, Todd Little, Kent McDonald, Pollyanna Pixton, Preston Smith and Robert Wysocki

Page 41: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

Software Beyond Software

Pro

ject

Le

ader

ship

Pro

ject

E

xecu

tion

Pair Programming

Continuous Build

TDD

Collaboration

Change

Empowerment

APLN

Relationship of the APLN to the AgileAlliance

Page 42: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

Interdependence and Leadership

• Context• Uncertainty• Value• Customers• Individuals• Teams

Page 43: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

Boehm and Turner Observations on Balancing

• Neither agile nor plan-driven methods provide a silver bullet

• Agile and plan-driven methods have home grounds where each clearly dominates

• Future developments will need both agility and discipline

• Some balanced methods are emerging

• It is better to build your method up than to tailor it down

• Methods are important, but potential silver bullets are more likely to be found in areas dealing with – People– Values– Communications– Expectations

management

Page 44: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

Security and Value(Great Boss, Dead Boss)

+ Tribal Security -

Individual

Security

Civil Service Purpose

Outcasts Anarchy

+ Tribal Value -

Individual

Value

Page 45: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

Agile Leadership

Page 46: Context Driven Agile Leadership Managing Complexity and Uncertainty Todd Little Sr. Development Manager.

Don’t over stereotype:e.g. Not all dogs are the same