Richmond Spin - How To Sell A Traditional Client
Upcoming SlideShare
Loading in...5
×
 

Richmond Spin - How To Sell A Traditional Client

on

  • 3,533 views

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

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.

Statistics

Views

Total Views
3,533
Views on SlideShare
3,530
Embed Views
3

Actions

Likes
2
Downloads
54
Comments
0

2 Embeds 3

http://www.slideshare.net 2
https://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Richmond Spin - How To Sell A Traditional Client Richmond Spin - How To Sell A Traditional Client Presentation Transcript

    • How to sell a traditional client on an Agile project plan Arin Sime asime@o19s.com 434 996 5226
    • 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
    • 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
    • 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 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
    • 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
    • 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
    • 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
    • The Project Plan people are afraid of....
    • 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”
    • Why do we need to sell it?
    • 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
    • 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/
    • 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/
    • 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
    • #1 Trial by Sprint “You need to show a success to get adoption.”
    • #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”
    • #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
    • #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.”
    • #3 Client Testimonials “I don’t have to lord over people, no siddling over people with a coffee cup like in Office Space.”
    • #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.”
    • #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
    • #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.”
    • #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
    • #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).”
    • #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
    • #7 Examples of industry/government leaders using Agile “Clients, especially the military, are wary of catch phrases and sometimes unwilling to change their habits.”
    • #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
    • #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?”
    • #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)”
    • #8 Comparison to other methodologies Proposal Tip From “Scrum in 5 Minutes”, by Softhouse. Available at: www.softhouse.se/Uploades/Scrum_eng_webb.pdf
    • #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].”
    • #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.
    • #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.”
    • #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
    • #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.”
    • #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.
    • #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
    • 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
    • Thanks for your time - Any Questions? Follow up.... www.OpenSourceConnections.com/Blog/ ASime@OpenSourceConnections.com 434 996 5226 www.Twitter.com/ArinSime