After an introduction to the basic tenets of Agile and some Agile practices, this presentation to Richmond SPIN (Software Process Improvement Network) talks about ways to convince your organization or clients to use Agile software development practices. Based on a presentation given at Agile 2009 by Arin Sime, Senior Consultant with OpenSource Connections.
1 of 51
More Related Content
Richmond Spin - How To Sell A Traditional Client
1. How to sell a traditional client
on an Agile project plan
Arin Sime asime@o19s.com 434 996 5226
2. Outline
• Background/Bio
• Defining a “traditional” environment
• Defining Agile
• Why do we need to sell Agile?
• Survey on Selling Agile
• Strategies for persuasion
• The importance of continuing to sell
the process throughout the project
3. A little about me...
Senior Consultant, OpenSource Connections
Custom software development consulting for
entrepreneurial, government, and military clients
Graduate student (M.S. in Management of I.T.) at the
University of Virginia’s McIntire School of Commerce
Adjunct Instructor in a corporate software engineering
program for Virginia Commonwealth University
4. Some of our clients...
Platforms and Languages
ASP .Net C C# Java
Linux MySQL Oracle PHP
Python Ruby Solaris SQL Server
5. What is a “traditional environment”?
“Plan Driven methods are
generally considered the traditional way
to develop software. Based on concepts
drawn from the mainline engineering
fields, these methods approach
development in a
requirements/design/
build paradigm with standard, well-
defined processes that organizations
improve continuously.”
6. What is Agile?
Manifesto for Agile Software Development
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.
AgileManifesto.org
7. What is Agile?
We follow these principles:
1. Our highest priority is to satisfy the 7. Working software is the
customer through early and continuous
delivery of valuable software.
primary measure of progress.
8. Agile processes promote sustainable development.
2. Welcome changing requirements, even late The sponsors, developers, and users should be able
in development. Agile processes harness change for to maintain a constant pace indefinitely.
the customer's competitive advantage.
9. Continuous attention to technical excellence
3. Deliver working software frequently, from a and good design enhances agility.
couple of weeks to a couple of months, with a
preference to the shorter timescale. 10. Simplicity--the art of maximizing the
amount of work not done--is essential.
4. Business people and developers must work
together daily throughout the project. 11. The best architectures, requirements, and designs
emerge from self-organizing teams.
5. Build projects around motivated individuals.
Give them the environment and support they need, 12. At regular intervals, the
team reflects on how
and trust them to get the job done. to become more effective, then tunes and adjusts
its behavior accordingly.
6. The most efficient and effective method of
conveying information to and within a development
team is face-to-face conversation
AgileManifesto.org
19. OpenApproach to software development
Transition
Est Est
im
Ra atio im and
Pla
n nge n n Ra atio
s Pla nge n Document
s
test Adjust test
Iteration 0:
Backlog Iteration N
Goals
Iteration 1
Goals
integrate
Analysis,
integrate
Priorities,
de
3 weeks
de
Charter 3 weeks
co
co
Reassess
& Design
Risk
Ite & Project
r Ite &
Lau ation mo ive r
Lau ation mo ive Retrospective
nc De spect De spect
h tro nc
Re h tro
Re
Setup CI
server, and Continuous Integration of source code and testing (CI server, unit testing, functional/browser testing)
test server
Constant C3: Constant Collaboration, Communication, and Customer involvement
(stand ups, burndowns, wiki, issue tracking)
Core Principles of the OpenApproach
• High customer visibility into project status • Strong interaction with customers • Best practices in development
• Full access to code repositories • Customers help set iteration goals • Automated testing
• Full access to issue tracking tools • Demo to customer & retrospective at the • Continuous code integration
• Full visibility into Scrum burndown charts end of each development iteration • Test driven development
• Customers participate in daily stand ups • Customers can adjust priority of features • Iterative deployments
• Risk factors managed with customer after each iteration • Refactoring
• Collaborative estimation process • Co-location when possible • Pair programming/training
21. Why do we need to sell it?
“Some kind of structure
(or architecture) is
imperative because
decentralization
without structure is
chaos.”
- J.A. Zachman, 1987, “A framework
for information systems architecture”
23. More from Zachman...
“The architect must convince the owner
that the owner’s desires are understood
well enough so that the owner will pay
for the creative work to follow.”
We need to convince our clients that we
understand their desires, and that Agile can
substitute for most, if not all, of the up front documentation
24. Survey on “Selling Agile”
Booz Allen Hamilton
SAIC
• Collected stories from a Capitol One
International Monetary Fund
survey of fellow students and US Air Force
other colleagues AutoZone
QinetiQ
US Department of Justice
• How they have sold Agile or Fannie Mae
been sold on Agile. Freddie Mac
AOL
IBM
ManTech
Department of Veterans
Affairs
University of Virginia
http://www.tinyurl.com/SellingAgileSurvey/
25. Survey on “Selling Agile”
“Agile seems to carry the connotation of 'c ode-
like-hell' or just, 'work faster'.”
“I am skeptical of any methods that that could
be interpreted as ‘cutting corners’”
http://www.tinyurl.com/SellingAgileSurvey/
26. Strategies for Persuasion
1. Trial by Sprint
2. Case Studies of Success
3. Client/Customer Testimonials
4. Finding a champion in Key Stakeholders
5. Using metrics of success
6. Showing how Agile combats common IT project failures
7. Examples of industry/government leaders using Agile
8. Comparison to other methodologies
9. Listen to their needs and address them
10. Sneak it in
11. Compromise
12. Agile Project Management Office
27. #1 Trial by Sprint
“You need to show a success to get adoption.”
28. #1 Trial by Sprint
“Trust me for two
weeks. If you hate
it, you can fire Dwight Gibbs, Senior Vice
me.”
President of Technology
for INPUT, formerly the
CTO at Legg Mason Capital
Management
Dwight Gibbs, CTO at Legg Mason Capital
Management, promising the Director of Research
that if he didn’t see development team
improvements after only one sprint, then they
would abandon Agile.
“The sprint went well and we stayed with Scrum”
29. #2 Case Studies in Success Proposal Tip
• Present case studies of Agile
success from your own client
history
• Example burndowns
• Stories of benefits to teams
• Highlight how the process caught
risks early, and addressed them
• Use graphics
• Present industry examples of Agile
success
Links to Agile Case Studies can be found at: http://www.notesfromatooluser.com/2008/11/scrum-case-studies.html
30. #3 Client Testimonials Proposal Tip
“Biggest gain from Scrum was
just keeping the project going.”
“certainly one of the
“Complexity
dictated we
most successful
couldn’t know it projects ever here”
all up front - we
have to “Eliminated biases of
prototype.” what developers can do
by letting them self-
“Got it done a lot better select”
because team is well
integrated. I didn’t have to
plan who worked on what.”
31. #3 Client Testimonials
“I don’t have to lord over people, no siddling over people with a
coffee cup like in Office Space.”
32. #4 Finding a Champion
“I highlighted the benefits to the Project
Manager: higher productivity and less team-
management stuff since the team will take
care of lots of team-management and updating
(burn charts) instead of PM's managing those
details.”
33. #4 Finding a Champion
• Identify Stakeholder most in need
• Address their needs with Agile
• Enlist their support in adoption
• Helps to already have a relationship
34. #5 Using Metrics of Success
“The development team applies Agile. I think it
is useful to obtain metrics and organize the
work. From a business perspective, I have not
seen the benefit.”
35. #5 Using Metrics of Success Proposal Tip
• Show metrics in proposals and
throughout your project.
• Show Burndowns over the course
of the project
• Use test coverage/test success as
a metric
• Velocity/Story points
accomplished by your team
• Defects from issue tracking tools
• Shown here is an excerpt from a
ThoughtWorks Project Manager's
Status Report
http://www.forrester.com/Research/Document/0,7211,37380,00.html
36. #6 Show how Agile combats common IT failures
“I created a presentation [showing] increased
productivity, better risk management (through
early detection), lower defect rates and
enhanced team experience (which will translate
to higher retention, less conflict management
and more productive future projects).”
37. #6 Show how Agile combats common IT failures Proposal Tip
Top 10 Classic Mistakes
1. Poor estimation and scheduling
Poor estimation and scheduling
2. Ineffective stakeholder management
Ineffective stakeholder management
Classic Mistakes that can
3. Insufficient management
Insufficient riskrisk management
be mitigated by Agile, as
4. Insufficient planning identified in article
Classic Mistakes that can
5. Shortchanged quality assurance
Shortchanged quality assurance also arguably be mitigated
6. Weak personnel and/or team
Weak personnel and/or team issues issues by Agile and Scrum
(my addition)
7. Insufficient project sponsorship
Insufficient project sponsorship
8. Poor requirements determination
Poor requirements determination
9. Inattention to politics
10. Lack of user involvement
10. Lack of user involvement
Source: Prof. R. Ryan Nelson, University of Virginia. As published in MIS Quarterly Executive,
“IT Project Management: Infamous Failures, Classic Mistakes, and Best Practices”, June 2007
38. #7 Examples of industry/government leaders using Agile
“Clients, especially the military, are wary of
catch phrases and sometimes unwilling to
change their habits.”
39. #7 Examples of industry/government leaders using Agile
Proposal Tip
• CIA IT Projects follow this spiral lifecycle:
• Understand the mission
• Establish the vision
• Develop the architecture Jill Singer
• Define plans Deputy Chief Information Officer
Central Intelligence Agency
• Resource plans former VP for Project
• Execute plans Management, SAIC
• Measure progress
• But within that lifecycle, they use Scrum,
primarily 4 week sprints
40. #7 Examples of industry/government leaders using Agile
• Benefits the CIA has seen with Scrum:
• Regular and tangible deliverables
• Customer buy-in
• Trying out prototypes
• Users enjoy being able to add features Deputy Chief Information Officer
Jill Singer
and change priorities with each iteration Central Intelligence Agency
• If a project is late, users don’t mind as former VP for Project
Management, SAIC
much
• Challenges the CIA has run into:
• “What is Version 1.0?”
41. #8 Comparison to other methodologies
“I gave an overview of the Scrum process and
highlighted the ease of transition since
iterative/incremental development has been in
practice for a long time (in other forms such as
a spiral approach)”
42. #8 Comparison to other methodologies Proposal Tip
From “Scrum in 5 Minutes”, by Softhouse. Available at: www.softhouse.se/Uploades/Scrum_eng_webb.pdf
43. #9 Listen to their needs and address them
“I am always skeptical of anything that
promises it is the 'o nly' or the
'best' [methodology].”
44. #9 Listen to their needs and address them
The Politics of Persuasion
1. Spend a lot of time listening. Ask
people what challenges they are
facing in their projects.
2. Make mental notes of each
challenge.
3. Turn those challenges around and
use them to segue into something
you wanted to talk about anyways.
(ie, how Agile will solve those
problems)
4. Customers appreciate that you are
offering positive solutions to their
problems instead of just pushing
your ideas without listening to
them first.
45. #10 Sneak it in
“Agile practices usually find their way into the
Soft ware Development Lifecycle even if they
are not officially blessed.”
“I make sure I utilize agile practices where ever
I can - I just don't use the agile terminology.”
46. #10 Sneak it in
• Implement it piece by piece, without
saying what you are doing.
• One idea: Start with iterations and
demos, daily stand ups. PM’s love those.
• Then move to developer driven practices
like sprint planning, XP, CI.
• Risky strategy? But can be used to
overcome fear of the word Agile
47. #11 Compromise
“The methodology that has worked in my
experience has been to incrementally introduce
Agile ... Start using a limited set of the
practices and gradually start bringing in
more.”
48. #11 Compromise
• Some clients will
require checkboxes of
all documentation they
always ask everyone
for. (I’m looking at you,
Federal Government)
• Try to shift when those
documents are due.
Focus only on those
that provide value up
front, leave the rest till
the end.
49. #12 Agile Project Management Office Proposal Tip
• Provide an interface to your
clients that translates your Agile
metrics into regular reports for
the client
• Takes compliance burden off your
development team
• Serves as “Educator and Coach”
to client
50. Never stop selling Agile.
When you’re in a project and it just saved
you (ie, due to increased agility to changes),
let the client know why.
When things are going bad, point out how
the increased visibility into the project at
least caught the problems earlier.
SELLING
AGILE
51. Thanks for your time - Any Questions?
Follow up....
www.OpenSourceConnections.com/Blog/
ASime@OpenSourceConnections.com
434 996 5226
www.Twitter.com/ArinSime