Your Client Wants What

60
Your Client Wants What? Don’t Worry, Be Agile Presentation Copyright © 2008, Agile For All, LLC. All rights reserved. Presented by Bob Hartman Agile For All 303-766-0970 [email protected]

description

Presentation for ICCA Boston on October 29, 2008. Abstract: The facts are all stacked against us as consultants: 30+% requirements churn for projects, with 50+% of projects completing late or failing entirely and a market mindset of instant gratification. How do small consulting companies compete in today’s environment without having to take incredible risks along the way? This is the key question facing leaders of small firms. Clients are getting harder to find in an economic climate that is eroding so we have to make every client count! To do this effectively is going to require changing the way we do business. One potential solution is use of agile practices and principles to drive an agile process. This presentation will explore the principles and practices that drive the agile process. In particular it will look at how using an agile approach can help mitigate risk for small consulting businesses. It will also explain the potential client benefits from using an agile approach. When the vendor is providing exceptional value to the client a long-term relationship can be established which benefits both parties. From the perspective of a small consulting company these relationships are the most valuable not just from a revenue perspective, but also as references and for word-of-mouth lead generation. This presentation will describe how having an agile approach in your toolbox may be enable you to unlock additional opportunities.

Transcript of Your Client Wants What

Page 1: Your Client Wants What

Your Client Wants What?Don’t Worry, Be Agile

Presentation Copyright © 2008, Agile For All, LLC. All rights reserved.

Presented byBob HartmanAgile For [email protected]

Page 2: Your Client Wants What

2

Before We Start

• Cell phones, pagers, PDA’s, etc. to silent• If you have a question, please ask it. Don’t

wait! It is better to answer the question while we are still in the same area than to go back.

Your Client Wants What?

Page 3: Your Client Wants What

3

INTRODUCTIONS

Page 4: Your Client Wants What

4

Bob Hartman (Agile Bob)

• 30+ years of software industry experience

• Certified Scrum Practitioner• Bachelor and Masters degrees

in Computer Science• Roles included Tester,

Developer, Dev Manager, QA Manager, Product Manager, Project Manager, VP…

• Started with agile in 1999

[email protected]

Your Client Wants What?

Page 5: Your Client Wants What

5

Who are you?

• Type of consultants we have here• Agile experience

About

Me

Your Client Wants What?

Page 6: Your Client Wants What

6

OUTLINING THE PROBLEM

Page 7: Your Client Wants What

7

Sound familiar?

Your Client Wants What?

Page 8: Your Client Wants What

8

What the client thinks

Fixed Price Minimum Time

SUCCESS!Your Client Wants What?

Page 9: Your Client Wants What

9

But to do that…

we need accurate requirements up front

Your Client Wants What?

Page 10: Your Client Wants What

10

Not realistic because client really wants…

CHANGES!!!

Duringproject

At end ofproject

Even afterdelivery!

Your Client Wants What?

Page 11: Your Client Wants What

11

By the way, don’t change the schedule!

Your Client Wants What?

Page 12: Your Client Wants What

12

The reality of the problem

Fixed price Squeezed time

Changes FAILURE!Your Client Wants What?

Page 13: Your Client Wants What

13

HOW WE NORMALLY REACT

Page 14: Your Client Wants What

14

At first we react like this…

Your Client Wants What?

Page 15: Your Client Wants What

15

Then we regroup and say…

No problem. This willjust cost more money

What do youmean, no???

OK, we’ll split the costYour Client Wants What?

Page 16: Your Client Wants What

16

And we end up saying…

Gulp! You’re right. You are an important client so we’ll make the changes for free.

Your Client Wants What?

Page 17: Your Client Wants What

17

The result

You make less profit, AND you feel like you had to

beg to get even that!Your Client Wants What?

Page 18: Your Client Wants What

18

WHAT CAN WE DO?

Page 19: Your Client Wants What

19

We could find better clients

Your Client Wants What?

Know whatthey want

Can pay forthe changes

Yeah, riiiiight!

Page 20: Your Client Wants What

20

We could change our mindset

Your Client Wants What?

Not knowingeverything is ok

Just charge moreto make up for it

Your bid willstand out Unfortunately

Page 21: Your Client Wants What

21

Or… we could change our process

Your Client Wants What?

Should encourage feedback and allow changes!

Page 22: Your Client Wants What

22

HOW AGILE CAN HELP

Page 23: Your Client Wants What

23

Delivers the right software

Your Client Wants What?

Highest value softwaregets completed first

Page 24: Your Client Wants What

24

Accommodates change

Your Client Wants What?

Page 25: Your Client Wants What

25

Mitigates risk

Your Client Wants What?

Page 26: Your Client Wants What

26

Doesn’t rely on luck to deliver on time

Your Client Wants What?

Page 27: Your Client Wants What

27

When done properly we will end up…

building the highest value software…

with high quality…

as fast as possible.

Your Client Wants What?

$$$$$

Page 28: Your Client Wants What

28

SPECIFIC AGILE PRACTICESFOR CONSULTANTS

Page 29: Your Client Wants What

29

Work from a ranked feature list

Your Client Wants What?

Highest priority items first!Less time spent on junk

Page 30: Your Client Wants What

30

Changes the status quo

Never Used45%

Rarely19%

Sometimes16%

Often13%

Always7%

Source: The Standish Group

Your Client Wants What?

Question: What percentage of software features are NEVER used?

Page 31: Your Client Wants What

31

Meet customer expectations

• When does the customer know what they really want in a product?

• How can we help them know earlier?• Exactly! Work in iterations to allow this.– Demo working software every iteration– Re-rank work after every iteration– Use a retrospective each iteration for improvement

• You MAY be able to deliver less functionality at an earlier point in time and save a lot of work!

Your Client Wants What?

Page 32: Your Client Wants What

32

Build slices of functionality not layers

All work in each iteration should slice all the way through every layer of the feature. It is less expensive to refactor than it is to overbuild!

Your Client Wants What?

Page 33: Your Client Wants What

33

Layers vs. slices

Your Client Wants What?

Layers = Allwork done

Slices = lesswork to do

Which is easier to change?

Page 34: Your Client Wants What

34

EXPECTATIONS

Page 35: Your Client Wants What

35

Common myths about agile• You will release more software faster

– You will release the highest value software as quickly as possible– More code will NOT be written in less time, but when you are

continuously releasing high value software it APPEARS that you are going faster

• Agile doesn’t need any documentation– The phrase to keep in mind is “just enough, just in time” and

this applies to most agile myths• The developers run the show in agile

– The developers follow the rule of finding the highest priority task to work on and doing that

– The Product Champion role defines the priorities, not the development team

Your Client Wants What?

Page 36: Your Client Wants What

36

What others are seeing

Your Client Wants What?

Page 37: Your Client Wants What

37

VersionOne Survey Results (2008)

Improvement Noted >10% improvement >=25% improvementIncreased productivity 89% 56%Reduced software defects 84% 56%Accelerated time-to-market 83% 54%Reduced cost 65% 30%

Survey asked people: Please try to estimate SPECIFIC IMPROVEMENTS you have actually realized from implementing Agile practices.

Source: VersionOne 2008 State of Agile Development Survey

NOTE: All 2008 data is within 2% of 2007 data implying these numbers are not one-time anomalies

Biggest causes of company-wide agile failure: Company philosophy or culture could not be overcome – 23% Lack of experience with agile – 21%

Your Client Wants What?

Page 39: Your Client Wants What

39

BE CAREFUL!

Page 40: Your Client Wants What

40

#1 cause of agile failure

A dysfunctional Product Champion! (poor prioritization)

Your Client Wants What?

Page 41: Your Client Wants What

41

We need to avoid this!

The Customer wanted a swing… The Customer got a swing

Your Client Wants What?

Page 42: Your Client Wants What

42

#2 cause of agile failure

Lack of automatedtesting!

Your Client Wants What?

Page 43: Your Client Wants What

Lack of automation causes delays…

Vicious Cycle:1. Testing is overloaded with work2. Result: Testing occurs long after coding3. Result: Developers don’t get immediate feedback4. Result: Developers create more defects5. Result: Testing has more work. Systems have more defects.6. Result: Feedback to developers is delayed further. Repeat cycle.

Regression Deficit Disorder

Technical Debt

Quality suffers

“Release it now!”

Page 44: Your Client Wants What

44

Practices for high quality

• Automated testing• Nightly build• If the build breaks team commits to fix it first• Continuously generating tests• Developers using test-driven development– Code is not done until it passes unit tests and

acceptance tests– Tests are written FIRST, then the code!!!

• Have tests live with the requirements so everything stays in sync through changes

Your Client Wants What?

Page 45: Your Client Wants What

45

#3 cause of agile failure

Not giving it enough time to succeed!

Don’t fall into this trap!

Your Client Wants What?

Page 46: Your Client Wants What

46

What is enough time?

• Requires at least 3 iterations– 1st iteration is usually very rough– 2nd iteration will be much better– 3rd iteration gets to near the new norm

• Process is self-correcting – use that to your advantage– Make decisions and correct them the next day if it

becomes necessary– Try something in the process and correct through

retrospection if necessary– Learn from history – don’t commit to more work than

was completed in prior iterationYour Client Wants What?

Page 47: Your Client Wants What

47

CASE STUDY

Page 48: Your Client Wants What

48

The problem

• Consultant asked to bid on a project with time, scope and quality fixed for the project

• Consultant paid 33% up front, the rest upon delivery of the software, but in stages

• All companies were bidding on basically how much it would cost them for resources during the project, plus profit (sunk cost + profit)– No advantage for being more creative– No advantage for higher quality

• This particular consultant usually charged higher prices because they were creative

Your Client Wants What?

Page 49: Your Client Wants What

49

The big question…

Your Client Wants What?

Given this consultant’s model of charging more for their creativity, how do they

make money on this one?

(don’t just say “be agile”give some specifics)

Page 50: Your Client Wants What

50

Their solution• They asked the client if there was any advantage to delivering an

earlier revision of the software with primary features all working• It turned out there was! Client’s customers could effectively use

(and would pay for) a partial release as long as certain features were present

• Client willing to pay more for an earlier delivery of part of the software, plus they were willing to pay part of it on delivery of the earlier release

• Consultant investment is less because of early payment (which allows a lower bid to win the business!)

• Overall profit is higher because the client was willing to pay more in order to receive early orders

• Let’s look at this graphically… Your Client Wants What?

Page 51: Your Client Wants What

51

Initial investment model

Your Client Wants What?

Cost of development

Start with money in the bank (33% paid up front)

Paid at final delivery of product

Finally start making some money!

Software delivered

Cost

Time

Page 52: Your Client Wants What

52

Actual investment model

Your Client Wants What?

Cost of development

Start with money in the bank (33% paid up front)

Paid at final delivery of product

Make profit

Final software delivered

Cost

Time

First software delivery

Page 53: Your Client Wants What

53

Comparison

Your Client Wants What?

Cost of development

Cost

Time

Original total investment (sunk cost)

New total Investment

Page 54: Your Client Wants What

54

AGILE RESOURCES

Page 55: Your Client Wants What

55

Websites

www.agileforall.com (me!)

www.agilealliance.org

www.apln.org (Agile Project Leadership Network)

www.scrumalliance.orgYour Client Wants What?

Page 56: Your Client Wants What

56

Message groups

• Yahoo! Groups– scrumdevelopment– leandevelopment– agileprojectmanagement– everydayAgile– leanagilescrum– pmiagile

• Also many LinkedIn groups– Agilistas, Scrum Practitioners, Agile Alliance, …

Your Client Wants What?

Page 57: Your Client Wants What

57

Books

Your Client Wants What?

Page 58: Your Client Wants What

58

ConferenceAgile Development Practices Conference

November 10-13 in Orlando Floridawww.sqe.com/agiledevpractices

Your Client Wants What?

Page 59: Your Client Wants What

59

QUESTIONS?

Page 60: Your Client Wants What

60

THANK YOU!Sign up for mailing list (1 message per month)See more about me and my companyat www.agileforall.com