39
Confidenti al smart.proven.bankable. Polish Agile Users Group Agile Customer Collaboration Jay Packlick June 22, 2006

Polish Agile Users Group Agile Customer Collaboration

  • Upload
    anisa

  • View
    38

  • Download
    0

Embed Size (px)

DESCRIPTION

Customer Expectations Delivered. Polish Agile Users Group Agile Customer Collaboration. Jay Packlick June 22, 2006. Schedule. Resources. Scope. Quality. Product under development. Customer. In Agile we manage the plan using 3 Variables of project Control. - PowerPoint PPT Presentation

Citation preview

Page 1: Polish Agile Users Group Agile Customer Collaboration

Confidential

smart.proven.bankable.

Polish Agile Users Group

Agile Customer Collaboration

Jay Packlick

June 22, 2006

Page 2: Polish Agile Users Group Agile Customer Collaboration

Confidential 2

In Agile we manage the plan using 3 Variables of project Control

Schedule

Product under development

Customer• When a compromises is necessary but not made…• We consciously or unconsciously introduce a fourth

variable of control• Treating quality as a variable of control is an example of

short term thinking (since it increases ‘true’ cycle time)

Resources

Scope

Quality

Page 3: Polish Agile Users Group Agile Customer Collaboration

Confidential 3

Quality -What is it? IEEE definition: The degree to which a system, component or process is "measurably meeting customer expectations and conforming to requirements

Establishing the context

Page 4: Polish Agile Users Group Agile Customer Collaboration

Confidential 4

Setting the Context

Agile -What is it?

Page 5: Polish Agile Users Group Agile Customer Collaboration

Confidential 5

Two Paradigms

• Agile / Lean• Focus on intelligence, knowledge,

and discipline of front line workers

• Traditional methodologies• Focus on process and conformity to

process

Page 6: Polish Agile Users Group Agile Customer Collaboration

Confidential 6

Two Paradigms

• Agile / Lean• Steering through continuous

planning, feedback and communications

• Traditional methodologies• Steering through detailed predictions

and documentation

Page 7: Polish Agile Users Group Agile Customer Collaboration

Confidential 7

Two Paradigms

• Agile / Lean• Embraces change through

partnership and collaboration with customers (and other team members)

• Traditional methodologies• Attempts to minimizes change

through contract negotiations

Page 8: Polish Agile Users Group Agile Customer Collaboration

Confidential 8

The Uncertainty Dynamic

• “If Las Vegas sounds too tame for you, software might be just the right gamble.”

– Steve McConnell, Rapid Development

Page 9: Polish Agile Users Group Agile Customer Collaboration

Confidential 9

Capers Jones Requirements Change Study

Page 10: Polish Agile Users Group Agile Customer Collaboration

Confidential 10

Agile goal: Thrive in the face of uncertainty

uncertainty

flexibilityChange

Random-ness

Page 11: Polish Agile Users Group Agile Customer Collaboration

Confidential 11

Change Harnessing Model

flexibility

Frequentfeedback

Smallbatchsizes

ContinuousImprovementSimplicity

Values &Principles

driven

Decidelate

knowledge& creativityof peopleFrequent

Planning

Communi-cations

Page 12: Polish Agile Users Group Agile Customer Collaboration

Confidential 12

Establishing the Context

But what is a Customer?

and why do we want them around?

Page 13: Polish Agile Users Group Agile Customer Collaboration

Confidential 13

Page 14: Polish Agile Users Group Agile Customer Collaboration

Confidential 14

•Written communications is inherently more wasteful than direct human connection

•When you encounter a problem, ask yourselves if the problem was caused by a failure in communication.

"Problems with projects can invariably be traced back to somebody not talking to somebody else about something important" –Kent Beck

Key agile value = Communication

Page 15: Polish Agile Users Group Agile Customer Collaboration

Confidential 15

Some BIG question about customers…

• How do we get the customers to want to be involved?• Aren’t real customers too busy to waste time with developers?• Do I really want them in my hair?

• Won’t scope creep kill us? • Won’t they create chaos by changing their minds all the time?

• Do we really want them to see how the sausage is made? <<

Page 16: Polish Agile Users Group Agile Customer Collaboration

Confidential 16

Mind reading doesn’t work

Some projects seem to rely on telepathy as the mechanism for communicating requirements from users to developers, despite considerable evidence that it doesn’t work.

Page 17: Polish Agile Users Group Agile Customer Collaboration

Confidential 17

Requirements - The current state for many projects

It’s much worse for remote development team members who don’t have physical or timely access to subject matter experts (customers)

Page 18: Polish Agile Users Group Agile Customer Collaboration

Confidential 18

The problem with control (at first)

Agile puts scope control in the hands of customers ( they’re usually not used to it! )

Page 19: Polish Agile Users Group Agile Customer Collaboration

Confidential 19

Getting Customer Buy-in

• Interview them• Listen! Try to understand their perspective• Let them tell you what they don’t like about Agile (if anything)

• Educate them• The business case for the Agile model• Show how easy it is to track projects• How to write stories and acceptance criteria• How to participate in planning meetings• Agile planning and estimation• Roles & Responsibilities

• Publicize successes• Tour the open spaces and talk with proficient Agile developers

<<

Page 20: Polish Agile Users Group Agile Customer Collaboration

Confidential 20

•Having a problem does not uniquely qualify you to solve it…• Customers don’t magically transform into business analysts

Don’t underestimate the skill side

Page 21: Polish Agile Users Group Agile Customer Collaboration

Confidential 21

The Agile Customer – Some Common Problems

1. Failure to Identify one!It is often not clear who the Customer is for a project (multiple roles)

2. No clear roles and responsibilitiesThere is no consistent understanding of what the Customer role is

3. Skills• Customers often lack the skills and knowledge necessary

to execute their roles and responsibilities.• Expecting Customers to suddenly become Interaction

Designers / Business Analysts

4. AvailabilityIt can be difficult to get them to work with the team.

Page 22: Polish Agile Users Group Agile Customer Collaboration

Confidential 22

Customer Team

So what’s needed? - Skilled Customer Team

Operations

Documentation

Marketing

Management

Analysts

Project Management

Testers

Customer Support

Sales

Developers

Competitors

Market Place

End Users

Media

Partners

Shareholders

Industry Groups

Stakeholder Community

ProgrammingTeam

On-siteCustomer

Page 23: Polish Agile Users Group Agile Customer Collaboration

Confidential 23

But we still need a single strong voice!

• Agile values simplicity …

Customer TeamCompetitors

Market Place

End Users

Media

Partners

Shareholders

Industry Groups

Stakeholder Community

ProgrammingTeam

Operations

Documentation

Marketing

Management

Analysts

Project Management

Testers

Customer Support

Sales

Developers

ProxyFor the

rest

On-siteCustomer

On-site Customer is the voice of the community

Page 24: Polish Agile Users Group Agile Customer Collaboration

Confidential 24

On-Site Proxy Customer Role

• Responsible for ensuring product meets the end user needs - fulfills the business goals of the organization.

• Represents the actual consumers of the software. Interacts with real users to understand their needs.

• Decides the order in which features are implemented in the software.

• Makes priority calls when there are conflicting deliverable goals.• Has authority to make decisions that ensure that features are

aligned with the end user’s needs• Customer team is more than one person but – proxy customer is

accountable for ensuring that the responsibilities for the role are successfully fulfilled. <<

Page 25: Polish Agile Users Group Agile Customer Collaboration

Confidential 25

On-Site Proxy Customer Skills

• Understands the Agile Model!!!!• A domain expert - understands the business problem• Able to prioritize backlog – evaluate business value, effort, and

risks of each User Story• Able to communicate effectively with all project stakeholders.• Able to work collaboratively with the team. Uses “We” instead of

“You”. • Has the courage to change his or her mind to adjust priorities in

order to fit the facts. <<

Page 26: Polish Agile Users Group Agile Customer Collaboration

Confidential 26

On-Site Proxy Customer Activities

• Defines and communicates business requirements – including acceptance criteria

• Collaborates with the development team to decompose features into User Stories

• Attends release planning sessions. • Decides release dates for the system• Collaborates with the team to prioritize back log

• Monitors projects status and story completion through team interactions, stand up meetings, and closing meetings.

• Communicates with all project stake holders• Adjusts priorities between iterations to reflect learning <<

Page 27: Polish Agile Users Group Agile Customer Collaboration

Confidential 27

On-Site Proxy Customer Activities

• Attends stand up meetings to monitor the status of the project• Works in the open space (or able to answer questions in a timely

manner)• If unavailable to the team, has an empowered backup. • Demands and attends demos of the product at end of iteration.

Provides feedback. • Works with the real end customers to validate the system <<

Page 28: Polish Agile Users Group Agile Customer Collaboration

Confidential

smart.proven.bankable.

Agile Contracts

Page 29: Polish Agile Users Group Agile Customer Collaboration

Confidential 29

Primary Source for following

• Lean Software Development – an agile toolkit• Mary & Tom Poppendieck

Page 30: Polish Agile Users Group Agile Customer Collaboration

Confidential 30

Agile Contracts

Goals• The ideal: Don’t lock down the full scope up front!

• Acknowledges the uncertainty dynamic• Structure the incentives to align with (rather than hinder) execution of

the agile model• Just-in-time decision making (i.e. acceptance criteria)• Scope adjustment • Incremental releases• Elevated role of quality

• Create a shared stake in the results• Localize responsibility for managing risk with the party best able to

manage the risk:• Uncertainty in business domain – with customer• Uncertainty in technical domain – with vendor <<

Page 31: Polish Agile Users Group Agile Customer Collaboration

Confidential 31

Contract Models

• Non-agile model• Fixed Bid

• Agile Models• Time-and-Materials• Progressive• Target Cost• Multi-Stage

Page 32: Polish Agile Users Group Agile Customer Collaboration

Confidential 32

Least Agile – Fixed Price Contracts

• Fundamentally an adversarial relationship (lose / lose)• Vendor bears project failure risk• Requires early definition of scope • Vendor tends to absorb cost of over-runs

• Customers lack incentive to manage scope• Customer has little incentive to accept the work as complete

• Customer tends to get what was specified – not what is needed• Early Scope Definition (to protect the vendor)• Low value features (pre-contract scope padding by customer)

supersede needed features detect after project start• Vendor is strongly motivated to resist changes to requirements

• Often costs the customer more (not less)• Uncertainty must be factored into the bid as a buffer• Inevitable change orders create unexpected costs for the customer• Higher operational costs – due to lower quality. Reduced quality

results when scope, schedule, and price are all fixed. <<

Page 33: Polish Agile Users Group Agile Customer Collaboration

Confidential 33

Fixed Bid + Agile

• Run it as an agile project anyway!

• Requires some elements of waterfall• Capture written requirements up-front sufficient to create the bid• Decompose written requirements into Stories – use these as basis for

estimates• Get the customer to prioritize the stories (if possible) • Doing high value features first tends to increase trust – low value stories at

the end are easier to negotiate if estimate buffer exceeded.

• Regardless of contract structure (fixed bid, etc.) several elements can increase agility:• Create incentives for customers to participate in iteration testing /

demos periodically (ideally each iteration).• Create incentives for customers to iteratively contribute to and review

acceptance criteria periodically (ideally each iteration)• Where possible – get the customers on site <<

Page 34: Polish Agile Users Group Agile Customer Collaboration

Confidential 34

Most Agile – Time and Materials

• Better than fixed bid when solving business problem is more important than price

• Customer bears risk of costs overruns• Vendor lacks incentive to manage technology costs• Vendor lacks incentive to finish the project• Increased risk of vendor gold plating

• Customer can better manage scope • can create tendency to micro-manage and over-control

• Increased tendency to get what is needed• Low value features tend to be postponed or canceled• Creates incentive to build higher value features first• Improved quality (since scope is the flexible variable) <<

Page 35: Polish Agile Users Group Agile Customer Collaboration

Confidential 35

Target Cost Contracts

• Basically fixed-bid with overrun clause• When schedule (or total hours) exceeded - switches to hourly rate• Can be a stair step rate: cost, 90% cost, 80% cost, 70% cost, etc.

• Sometimes includes vendor bonus for early completion• Total cost – including changes – is the joint responsibility of the

customer and vendor. • Better distribution of risk / benefits

• if target cost exceeded, both parties will end up paying more• if total cost is under the target cost, both parties will share in the

benefits.• Much more of a partnership! • Variable of control becomes scope (consistent with agile model)

• Creates customer motivation to keep feature demands in check <<

Page 36: Polish Agile Users Group Agile Customer Collaboration

Confidential 36

Multi-Stage Contract

• Trust based - the relationship will continue as long as expected value is delivered.

• Project broken in to a set of releases – (agile ‘fixed bid’)• Within terms of master contract – after each release options are

• Continue, re-negotiate, walk away• Deliver value with each increment in proportion to the money spent.• Much more aligned with agile:

• Learn as you go• Small releases• Scope adjusted each ‘iteration’ (release)• Deliver priority features first in fully working system

• Risk: Either party can walk away <<

Page 37: Polish Agile Users Group Agile Customer Collaboration

Confidential 37

Progressive Contracts

• Structure• Start With An Umbrella or Framework Contract• Release Work In Stages• Keep Stages Small• Each Stage is an Iteration• Often Early Stages are Fixed Price• Scope Beyond the Existing Stage is Negotiable

• Incentives• Customer is at risk if supplier starts and doesn’t finish• Supplier is at risk of sudden cancellation• Risks mitigation: Trust increases as risk increases <<

Page 38: Polish Agile Users Group Agile Customer Collaboration

Confidential 38

1/3 – 2/3’s Contract

• Estimate entire project (ballpark)• Divide the estimate into thirds

• Deliver workable system in first third of the time• Minimum functionality• No bells and whistles• Gives customer general idea of what is being done

• Customer can change the contract at that point <

Page 39: Polish Agile Users Group Agile Customer Collaboration

Confidential 39

Contact

[email protected]