Your Client Wants What
-
Upload
lazygolfer -
Category
Technology
-
view
1.375 -
download
0
description
Transcript of 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]
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
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?
38
Agile is a Proven ApproachSome Agile Companies (there are MANY more)
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