Your Client Wants What

Preview:

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.

Citation preview

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

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

Presented byBob HartmanAgile For All303-766-0970bob.hartman@agileforall.com

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?

3

INTRODUCTIONS

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

bob.hartman@agileforall.com303-766-0970

Your Client Wants What?

5

Who are you?

• Type of consultants we have here• Agile experience

About

Me

Your Client Wants What?

6

OUTLINING THE PROBLEM

7

Sound familiar?

Your Client Wants What?

8

What the client thinks

Fixed Price Minimum Time

SUCCESS!Your Client Wants What?

9

But to do that…

we need accurate requirements up front

Your Client Wants What?

10

Not realistic because client really wants…

CHANGES!!!

Duringproject

At end ofproject

Even afterdelivery!

Your Client Wants What?

11

By the way, don’t change the schedule!

Your Client Wants What?

12

The reality of the problem

Fixed price Squeezed time

Changes FAILURE!Your Client Wants What?

13

HOW WE NORMALLY REACT

14

At first we react like this…

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?

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?

17

The result

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

beg to get even that!Your Client Wants What?

18

WHAT CAN WE DO?

19

We could find better clients

Your Client Wants What?

Know whatthey want

Can pay forthe changes

Yeah, riiiiight!

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

21

Or… we could change our process

Your Client Wants What?

Should encourage feedback and allow changes!

22

HOW AGILE CAN HELP

23

Delivers the right software

Your Client Wants What?

Highest value softwaregets completed first

24

Accommodates change

Your Client Wants What?

25

Mitigates risk

Your Client Wants What?

26

Doesn’t rely on luck to deliver on time

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?

$$$$$

28

SPECIFIC AGILE PRACTICESFOR CONSULTANTS

29

Work from a ranked feature list

Your Client Wants What?

Highest priority items first!Less time spent on junk

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?

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?

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?

33

Layers vs. slices

Your Client Wants What?

Layers = Allwork done

Slices = lesswork to do

Which is easier to change?

34

EXPECTATIONS

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?

36

What others are seeing

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?

39

BE CAREFUL!

40

#1 cause of agile failure

A dysfunctional Product Champion! (poor prioritization)

Your Client Wants What?

41

We need to avoid this!

The Customer wanted a swing… The Customer got a swing

Your Client Wants What?

42

#2 cause of agile failure

Lack of automatedtesting!

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!”

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?

45

#3 cause of agile failure

Not giving it enough time to succeed!

Don’t fall into this trap!

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?

47

CASE STUDY

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?

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)

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?

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

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

53

Comparison

Your Client Wants What?

Cost of development

Cost

Time

Original total investment (sunk cost)

New total Investment

54

AGILE RESOURCES

55

Websites

www.agileforall.com (me!)

www.agilealliance.org

www.apln.org (Agile Project Leadership Network)

www.scrumalliance.orgYour 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?

57

Books

Your Client Wants What?

58

ConferenceAgile Development Practices Conference

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

Your Client Wants What?

59

QUESTIONS?

60

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