Richmond Spin - How To Sell A Traditional Client

Post on 11-May-2015

3,482 views 1 download

Tags:

description

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.

transcript

Arin Sime asime@o19s.com 434 996 5226

How to sell a traditional client on an Agile project plan

• 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

Outline

A little about me...

Senior Consultant, OpenSource Connections Custom software development consulting for entrepreneurial, government, and military clients

Adjunct Instructor in a corporate software engineering program for Virginia Commonwealth University

Graduate student (M.S. in Management of I.T.) at the University of Virginia’s McIntire School of Commerce

Some of our clients...

Platforms and Languages

ASP .Net C C# Java

Linux MySQL Oracle PHP

Python Ruby Solaris SQL Server

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

What is Agile?

Manifesto for Agile Software DevelopmentWe 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

What is Agile?

AgileManifesto.org

We follow these principles:

1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

4. Business people and developers must work together daily throughout the project.

5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation

7. Working software is the primary measure of progress.8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

9. Continuous attention to technical excellence and good design enhances agility.

10. Simplicity--the art of maximizing the amount of work not done--is essential.

11. The best architectures, requirements, and designs emerge from self-organizing teams.

12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Examples of Agile Practices

Test Driven Development (TDD)

Examples of Agile Practices

Continuous Integration (CI)

Examples of Agile Practices

Continuous Integration (CI)

Examples of Agile Practices

Scrum Burndowns

Examples of Agile Practices

Scrum Planning Poker

Examples of Agile Practices

Scrum Planning Poker

Examples of Agile Practices

Scrum with Range Estimates

Examples of Agile Practices

Daily Standups

Examples of Agile Practices

Lightweight Documentation only as you need it

Examples of Agile Practices

Lightweight Planning - and lots of Post It Notes

Examples of Agile Practices

Pair Programming

Iteration 0:Analysis, Charter & Design

Constant C3: Constant Collaboration, Communication, and Customer involvement

(stand ups, burndowns, wiki, issue tracking)

test

code

integrate

Goal

s

Plan

EstimationRanges

Demo &

Retrospectiv

eIterationLaunch

Iteration 1

3 weeks

Iteration N

3 weeks

Adjust BacklogPriorities,ReassessRisk

Transition andDocument

Continuous Integration of source code and testing (CI server, unit testing, functional/browser testing)Setup CI server, and test server

OpenApproach to software development

Project Retrospective

test

code

integrate

Goal

s

Plan

EstimationRanges

Demo &

Retrospectiv

eIterationLaunch

Core Principles of the OpenApproach

• High customer visibility into project status

• Full access to code repositories

• Full access to issue tracking tools

• Full visibility into Scrum burndown charts

• Customers participate in daily stand ups

• Risk factors managed with customer

• Collaborative estimation process

• Strong interaction with customers

• Customers help set iteration goals

• Demo to customer & retrospective at the end of each development iteration

• Customers can adjust priority of features after each iteration

• Co-location when possible

• Best practices in development

• Automated testing

• Continuous code integration

• Test driven development

• Iterative deployments

• Refactoring

• Pair programming/training

The Project Plan people are afraid of....

“Some kind of structure (or architecture) is imperative because decentralization without structure is chaos.”

- J.A. Zachman, 1987, “A framework for information systems architecture”

Why do we need to sell it?

Why do we need to sell it?

“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

More from Zachman...

Survey on “Selling Agile”

• Collected stories from a survey of fellow students and other colleagues

• How they have sold Agile or been sold on Agile.

http://www.tinyurl.com/SellingAgileSurvey/

Booz Allen HamiltonSAICCapitol OneInternational Monetary FundUS Air ForceAutoZoneQinetiQUS Department of JusticeFannie MaeFreddie MacAOLIBMManTechDepartment of Veterans AffairsUniversity of Virginia

Survey on “Selling Agile”

http://www.tinyurl.com/SellingAgileSurvey/

“Agile seems to carry the connotation of 'code-like-hell' or just, 'work faster'.”

comment from an IT consultant

“I am skeptical of any methods that that could be interpreted as ‘cutting corners’”

comment from a manager

Strategies for Persuasion

1. Trial by Sprint2. Case Studies of Success3. Client/Customer Testimonials4. Finding a champion in Key Stakeholders5. Using metrics of success6. Showing how Agile combats common IT project failures7. Examples of industry/government leaders using Agile8. Comparison to other methodologies9. Listen to their needs and address them10. Sneak it in11. Compromise12. Agile Project Management Office

“You need to show a success to get adoption.”comment from a program manager

Trial by Sprint#1

Trial by Sprint#1

“Trust me for two weeks. If you hate it, you can fire me.”

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.

Dwight Gibbs, Senior Vice President of Technology for INPUT, formerly the

CTO at Legg Mason CapitalManagement

“The sprint went well and we stayed with Scrum”

Case Studies in Success#2• 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

Proposal Tip

“certainly one of the most successful projects ever here”

“Scrum helps me manage projects the way I wanted to anyways”

“Eliminated biases of what developers can do by letting them self-select”

“Complexity dictated we couldn’t know it all up front - we have to prototype.”

“Biggest gain from Scrum was just keeping the project going.”

“Got it done a lot better because team is well integrated. I didn’t have to plan who worked on what.”

Client Testimonials#3 Proposal Tip

“I don’t have to lord over people, no siddling over people with a coffee cup like in Office Space.”

Client Testimonials#3

“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.” comment from a business analyst

Finding a Champion#4

• Identify Stakeholder most in need

• Address their needs with Agile

• Enlist their support in adoption

• Helps to already have a relationship

Finding a Champion#4

“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.”

comment from a manager

Using Metrics of Success#5

• 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

Using Metrics of Success#5 Proposal Tip

“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).”

comment from a project lead

Show how Agile combats common IT failures#6

1. Poor estimation and scheduling

2. Ineffective stakeholder management

3. Insufficient risk management

4. Insufficient planning

5. Shortchanged quality assurance

6. Weak personnel and/or team issues

7. Insufficient project sponsorship

8. Poor requirements determination

9. Inattention to politics

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

1. Poor estimation and scheduling

2. Ineffective stakeholder management

3. Insufficient risk management

4. Insufficient planning

5. Shortchanged quality assurance

6. Weak personnel and/or team issues

7. Insufficient project sponsorship

8. Poor requirements determination

9. Inattention to politics

10. Lack of user involvement

1. Poor estimation and scheduling

2. Ineffective stakeholder management

3. Insufficient risk management

4. Insufficient planning

5. Shortchanged quality assurance

6. Weak personnel and/or team issues

7. Insufficient project sponsorship

8. Poor requirements determination

9. Inattention to politics

10. Lack of user involvement

Classic Mistakes that can also arguably be mitigated

by Agile and Scrum (my addition)

Classic Mistakes that can be mitigated by Agile, as

identified in article

Top 10 Classic Mistakes

Show how Agile combats common IT failures#6 Proposal Tip

“Clients, especially the military, are wary of catch phrases and sometimes unwilling to change their habits.”

comment from an IT consultant

Examples of industry/government leaders using Agile#7

Jill SingerDeputy Chief Information Officer

Central Intelligence Agency

former VP for Project Management, SAIC

• CIA IT Projects follow this spiral lifecycle:

• Understand the mission• Establish the vision• Develop the architecture• Define plans• Resource plans• Execute plans• Measure progress

• But within that lifecycle, they use Scrum, primarily 4 week sprints

Examples of industry/government leaders using Agile#7Proposal Tip

• Benefits the CIA has seen with Scrum:

• Regular and tangible deliverables• Customer buy-in• Trying out prototypes• Users enjoy being able to add features

and change priorities with each iteration• If a project is late, users don’t mind as

much

• Challenges the CIA has run into:

• “What is Version 1.0?”

Jill SingerDeputy Chief Information Officer

Central Intelligence Agency

former VP for Project Management, SAIC

Examples of industry/government leaders using Agile#7

“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)” comment from a business analyst

Comparison to other methodologies#8

From “Scrum in 5 Minutes”, by Softhouse. Available at: www.softhouse.se/Uploades/Scrum_eng_webb.pdf

Comparison to other methodologies#8 Proposal Tip

“I am always skeptical of anything that promises it is the 'only' or the 'best' [methodology].”

comment from a development manager

Listen to their needs and address them#9

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.

The Politics of Persuasion

Listen to their needs and address them#9

“Agile practices usually find their way into the Software Development Lifecycle even if they are not officially blessed.”

comment from an IT specialist

“I make sure I utilize agile practices where ever I can - I just don't use the agile terminology.”

comment from a technology program manager

Sneak it in#10

• 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

Sneak it in#10

“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.” comment from a senior consultant

Compromise#11

• 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.

Compromise#11

• 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

Agile Project Management Office#12 Proposal Tip

SELLINGAGILE

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.

www.OpenSourceConnections.com/Blog/

ASime@OpenSourceConnections.com

434 996 5226

www.Twitter.com/ArinSime

Follow up....

Thanks for your time - Any Questions?