Essential Elements of Distributed Agile November 18, 2009
Agenda <ul><li>Purpose and expected outcomes </li></ul><ul><li>About the presenter  </li></ul><ul><li>About Perficient </l...
Purpose and Outcomes <ul><li>Purpose: </li></ul><ul><ul><li>Familiarize you with: </li></ul></ul><ul><ul><ul><li>Perficien...
Thank you <ul><li>Special note of thanks to Mr. Bill Li - UPerform </li></ul>
About Me <ul><li>Vernon Stinebaker ( 史文林) </li></ul><ul><ul><li>http://www.linkedin.com/in/vernonstinebaker </li></ul></ul...
Perficient Fast Facts <ul><li>Founded in 1997  </li></ul><ul><li>Publicly traded (NASDAQ: PRFT) with @$ 240   million in a...
<ul><li>2009 IBM Information Agenda Partner of the Year </li></ul><ul><li>2009 Forbes 200 Best Small Companies in America ...
About Perficient China <ul><li>Perficient (Hangzhou) Co., Ltd.  博克软件(杭州)有限公司 </li></ul><ul><ul><li>http://www.perficient.c...
<ul><li>32% of projects are successful (on time, on budget) </li></ul><ul><li>44% of projects are challenged (late, over b...
<ul><li>Lack of User Input  </li></ul><ul><li>Requirements & Specifications </li></ul><ul><li>Lack of Executive Support </...
Distributed Agile <ul><li>How does performing work in distributed locations effect these challenges? </li></ul><ul><li>The...
<ul><li>How do we address these challenges? </li></ul><ul><li>Agile! </li></ul>
Agile Manifesto
Agile Manifesto Principles <ul><li>Our highest priority is to  satisfy the customer  through  early and continuous deliver...
<ul><li>Modularity - Modularity allows a process to be broken into activities. </li></ul><ul><li>Iterative - Things change...
Perficient’s Enable-M Methodology
<ul><li>Initially based on XP  </li></ul><ul><li>Kent Beck was a consultant on initial implementation </li></ul><ul><li>Sc...
<ul><li>Lack of User Input  </li></ul><ul><li>Requirements & Specifications Issues </li></ul><ul><li>Lack of Executive Sup...
How do we use agile to address these issues?
<ul><li>On-site Customer </li></ul><ul><li>Dedicated Project/Product Owner </li></ul><ul><li>Collaboration/Communication <...
<ul><li>Tools </li></ul><ul><ul><li>Project Wiki’s </li></ul></ul><ul><ul><li>Audio/video conferencing  (recording when ap...
<ul><li>Test Driven Requirements </li></ul><ul><ul><li>INVEST </li></ul></ul><ul><li>Iterative development producing  “Fre...
<ul><li>Tools </li></ul><ul><ul><li>Low-fidelity (planning board, burn-down charts) </li></ul></ul><ul><ul><li>High-fideli...
Lack of Executive Support <ul><li>Communications </li></ul><ul><ul><li>Planned communications </li></ul></ul><ul><ul><ul><...
Technology Issues <ul><li>Build a solid foundation in advance </li></ul><ul><li>Just-in-time training </li></ul><ul><ul><l...
Unrealistic Expectations or Time Frames <ul><li>Collaborative planning </li></ul><ul><ul><li>Client participates in planni...
Unclear Objectives <ul><li>(Limited) Up-front Requirements analysis and Design </li></ul><ul><ul><li>Big picture view </li...
<ul><li>Some answers can be found in a report delivered at the Agile 2006 International Conference </li></ul><ul><ul><li>D...
<ul><li>Daily meetings of all developers from multiple sites </li></ul><ul><li>Augmented e-communications (Wiki, recording...
<ul><li>What are the most important Agile characteristics required for a successful project? </li></ul>
<ul><li>Great people! </li></ul>
<ul><li>Communication </li></ul>
<ul><li>Quality </li></ul><ul><li>Test Driven Requirements </li></ul><ul><li>Test Driven Development </li></ul><ul><li>Aut...
<ul><li>Delivery! </li></ul><ul><li>Delivering “Frequent, tangible, working results” every iteration. </li></ul>
Does it work? <ul><li>Yes! </li></ul><ul><li>30+ satisfied clients, many with repeat business can’t be wrong. </li></ul>
<ul><li>Q&A </li></ul>
Upcoming SlideShare
Loading in …5
×

Essential Elements Of Distributed Agile

1,836 views

Published on

Discusses some of the key reasons projects fail and how these are overcome using agile principles.

Published in: Technology, Business
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,836
On SlideShare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
59
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • Presenter Notes
  • Presenter Notes Using 2005 version of the Chaos report as it’s readily available on the Internet.
  • Highlight continuous delivery of working software
  • Presenter Notes Just highlight the Frequent, Tangible, Working Results quote
  • The BoldDelivery methodology is based on other Agile methodologies, including Scrum and eXtreme Programming (XP). BoldTech (Perficient) employeed Kent Beck, founder of the XP methodology as a consultant to help establish the BoldDelivery process. The BoldDelivery has many aspects with are very similar to Scrum (and XP), however it also has distinct differences -- which are intentional and considered. (To improve collaboration in an multi-shore delivery environment.) The BoldDelivery methodology is mature. It has been used by BoldTech/Perficient to successfully deliver projects for over 10 years, and optimized for multi-shore delivery since the Hangzhou office was established in 2004.
  • Presenter Notes
  • Presenter Notes Using 2005 version of the Chaos report as it’s readily available on the Internet.
  • Presenter Notes
  • Presenter Notes
  • Presenter Notes
  • Presenter Notes
  • Presenter Notes
  • Presenter Notes
  • Presenter Notes
  • Share stories if time permits – Rent-A-Center and Avaya
  • Essential Elements Of Distributed Agile

    1. 1. Essential Elements of Distributed Agile November 18, 2009
    2. 2. Agenda <ul><li>Purpose and expected outcomes </li></ul><ul><li>About the presenter </li></ul><ul><li>About Perficient </li></ul><ul><li>Agile – concepts and methodologies </li></ul><ul><li>How Agile concepts and methodologies address the challenges that result in failed projects </li></ul>
    3. 3. Purpose and Outcomes <ul><li>Purpose: </li></ul><ul><ul><li>Familiarize you with: </li></ul></ul><ul><ul><ul><li>Perficient </li></ul></ul></ul><ul><ul><ul><li>Agile concepts and methodologies </li></ul></ul></ul><ul><ul><ul><li>Successfully applying agile concepts to distributed projects </li></ul></ul></ul><ul><li>Outcomes: </li></ul><ul><ul><li>Recognize the challenges (distributed) projects face </li></ul></ul><ul><ul><li>Gain familiarity with key agile concepts and methodologies </li></ul></ul><ul><ul><li>Understand how agile principles and associated tools can be applied to deliver successful projects in a distributed environment </li></ul></ul>
    4. 4. Thank you <ul><li>Special note of thanks to Mr. Bill Li - UPerform </li></ul>
    5. 5. About Me <ul><li>Vernon Stinebaker ( 史文林) </li></ul><ul><ul><li>http://www.linkedin.com/in/vernonstinebaker </li></ul></ul><ul><ul><li>Director of Technology/Principal Architect </li></ul></ul><ul><ul><li>20+ years software development and process experience </li></ul></ul><ul><ul><ul><li>CMMI, SDLC/waterfall, and agile methodologies </li></ul></ul></ul><ul><ul><li>Almost 10 years agile experience </li></ul></ul><ul><ul><li>Certified ScrumMaster/Certified Scrum Practitioner </li></ul></ul><ul><ul><li>Founder of the open source FDDTools project </li></ul></ul>
    6. 6. Perficient Fast Facts <ul><li>Founded in 1997 </li></ul><ul><li>Publicly traded (NASDAQ: PRFT) with @$ 240 million in annual revenues </li></ul><ul><li>1,500 employees, 1,400+ certified business and technology consultants </li></ul><ul><li>Over 600 blue chip clients with 80% repeat business rate </li></ul><ul><li>Strong partnerships six of the major vendors: IBM, Microsoft, TIBCO, Documentum, Oracle-Siebel and webMethods </li></ul><ul><li>20 locations in North America, Offshore Development Centers in Hangzhou and Macedonia and a technology consulting recruiting office in India </li></ul>
    7. 7. <ul><li>2009 IBM Information Agenda Partner of the Year </li></ul><ul><li>2009 Forbes 200 Best Small Companies in America </li></ul><ul><li>2008 Fortune American Fastest Growth Companies </li></ul><ul><li>2008 IBM Lotus Distinguished Partner Award for North America </li></ul><ul><li>2007 IBM Information Management North American Distinguished Partner </li></ul><ul><li>2007 Business 2.0 100 Fastest Growing Tech Companies — #6 </li></ul><ul><li>2007 Fortune Small Business America’s Fastest-Growing Small Public Businesses — #9 </li></ul><ul><li>2007 Fortune 100 Fastest-Growing Companies — #15 </li></ul>Perficient Recent Recognition & Awards
    8. 8. About Perficient China <ul><li>Perficient (Hangzhou) Co., Ltd. 博克软件(杭州)有限公司 </li></ul><ul><ul><li>http://www.perficient.com </li></ul></ul><ul><ul><li>E stablished 2004 as BoldTech Systems (Hangzhou) Co., Ltd. </li></ul></ul><ul><ul><li>WOFE of Perficient Inc. (NASAQ: PRFT) </li></ul></ul><ul><ul><li>Agile Enable-M Methodology </li></ul></ul><ul><ul><li>2008 - CMMI 5 </li></ul></ul><ul><ul><li>20 Agile Certified Project Managers </li></ul></ul><ul><ul><li>20+ projects successfully delivered </li></ul></ul><ul><ul><li>Currently running 17 concurrent projects </li></ul></ul><ul><ul><ul><li>Some multi-year </li></ul></ul></ul><ul><ul><ul><li>Some with large teams (@50) </li></ul></ul></ul><ul><ul><ul><li>Many repeat business </li></ul></ul></ul>
    9. 9. <ul><li>32% of projects are successful (on time, on budget) </li></ul><ul><li>44% of projects are challenged (late, over budget) </li></ul><ul><li>24% of project fail (cancelled or never used) </li></ul><ul><li>[The Chaos Report 2009] </li></ul>Project Failure Statistics
    10. 10. <ul><li>Lack of User Input </li></ul><ul><li>Requirements & Specifications </li></ul><ul><li>Lack of Executive Support </li></ul><ul><li>Technology Issues </li></ul><ul><li>Unrealistic Expectations or Time Frames </li></ul><ul><li>Unclear Objectives </li></ul><ul><li>[Abridged list from the Standish Group – Chaos Report - 2005] </li></ul>Why Projects Fail
    11. 11. Distributed Agile <ul><li>How does performing work in distributed locations effect these challenges? </li></ul><ul><li>They become even more acute! </li></ul>
    12. 12. <ul><li>How do we address these challenges? </li></ul><ul><li>Agile! </li></ul>
    13. 13. Agile Manifesto
    14. 14. Agile Manifesto Principles <ul><li>Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. </li></ul><ul><li>Welcome changing requirements , even late in development. Agile processes harness change for the customer's competitive advantage . </li></ul><ul><li>Deliver working software frequently , from a couple of weeks to a couple of months, with a preference to the shorter timescale. </li></ul><ul><li>Business people and developers must work together daily throughout the project. </li></ul><ul><li>Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. </li></ul><ul><li>The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. </li></ul><ul><li>Working software is the primary measure of progress. </li></ul><ul><li>Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. </li></ul><ul><li>Continuous attention to technical excellence and good design enhances agility. </li></ul><ul><li>Simplicity -- the art of maximizing the amount of work not done -- is essential. </li></ul><ul><li>The best architectures, requirements, and designs emerge from self-organizing teams. </li></ul><ul><li>At regular intervals, the team reflects on how to become more effective , then tunes and adjusts its behavior accordingly. </li></ul>
    15. 15. <ul><li>Modularity - Modularity allows a process to be broken into activities. </li></ul><ul><li>Iterative - Things change. Short iterations allow us to adapt and respond to change. </li></ul><ul><li>Time-bound - Iterations are a perfect unit for planning the software development project. </li></ul><ul><li>Parsimony - Agile process focus on parsimony: they require the minimum number of activities necessary to mitigate risks and achieve their goals. </li></ul><ul><li>Adaptive - The agile process adapts to attack new risks. </li></ul><ul><li>Incremental - We don’t try to build the entire system at once. Instead we partition it into increments which can be developed in parallel. </li></ul><ul><li>Convergent - We actively attack all risks worth attacking. </li></ul><ul><li>People Oriented - Agile processes favor people over process and technology. People are empowered. </li></ul><ul><li>Collaborative - Agile processes foster communication among team members. </li></ul><ul><li>Frequent, Tangible, Working Results - Peter Coad </li></ul>Characteristics of Agile Miller, Granville G, “The Characteristics of Agile Software Processes”, http://faculty.salisbury.edu/~xswang/Research/Papers/SERelated/Agile/12510385.pdf
    16. 16. Perficient’s Enable-M Methodology
    17. 17. <ul><li>Initially based on XP </li></ul><ul><li>Kent Beck was a consultant on initial implementation </li></ul><ul><li>Scrum and other agile frameworks, methodologies, and practices incorporated </li></ul><ul><li>Enhanced to support distributed projects </li></ul><ul><li>Additional rigor as required </li></ul><ul><ul><li>by clients </li></ul></ul><ul><ul><li>to satisfy CMMI Level 5 practices </li></ul></ul>Enable-M
    18. 18. <ul><li>Lack of User Input </li></ul><ul><li>Requirements & Specifications Issues </li></ul><ul><li>Lack of Executive Support </li></ul><ul><li>Technology Issues </li></ul><ul><li>Unrealistic Expectations or Time Frames </li></ul><ul><li>Unclear Objectives </li></ul><ul><li>[Abridged list from the Standish Group – Chaos Report - 2005] </li></ul>Why Projects Fail
    19. 19. How do we use agile to address these issues?
    20. 20. <ul><li>On-site Customer </li></ul><ul><li>Dedicated Project/Product Owner </li></ul><ul><li>Collaboration/Communication </li></ul><ul><ul><li>Onshore/offshore </li></ul></ul><ul><li>Test-driven Requirements </li></ul><ul><ul><li>Preferably customer developed acceptance tests (but not all that common) </li></ul></ul><ul><li>Daily Stand-up Meetings </li></ul><ul><li>Daily e-communications </li></ul><ul><li>Iterative delivery </li></ul><ul><li>DEMO!!!! </li></ul>Lack of User Input
    21. 21. <ul><li>Tools </li></ul><ul><ul><li>Project Wiki’s </li></ul></ul><ul><ul><li>Audio/video conferencing (recording when appropriate) </li></ul></ul><ul><li>Web conference </li></ul><ul><ul><li>Live DEMO!!! </li></ul></ul>Lack of User Input
    22. 22. <ul><li>Test Driven Requirements </li></ul><ul><ul><li>INVEST </li></ul></ul><ul><li>Iterative development producing “Frequent, tangible, working results” (aka “Potentially Shippable Product) every iteration – coupled with demo </li></ul><ul><li>Iterative requirement discovery </li></ul><ul><li>Embrace change (No scope creep) </li></ul><ul><li>Onshore Business Analysts </li></ul><ul><ul><li>No ‘over the wall’ projects </li></ul></ul><ul><li>Demo, Demo, Demo </li></ul>Requirements & Specifications Issues
    23. 23. <ul><li>Tools </li></ul><ul><ul><li>Low-fidelity (planning board, burn-down charts) </li></ul></ul><ul><ul><li>High-fidelity </li></ul></ul><ul><ul><ul><li>GreenHopper </li></ul></ul></ul><ul><ul><ul><li>JIRA </li></ul></ul></ul><ul><ul><ul><li>Internal requirements coverage tool </li></ul></ul></ul><ul><ul><ul><ul><li>Integrated with CI process </li></ul></ul></ul></ul><ul><li>Communications </li></ul>Requirements & Specifications Issues
    24. 24. Lack of Executive Support <ul><li>Communications </li></ul><ul><ul><li>Planned communications </li></ul></ul><ul><ul><ul><li>Clear communications channels </li></ul></ul></ul><ul><ul><ul><li>Clear escalation paths and procedures </li></ul></ul></ul><ul><ul><li>Weekly Project Management Office Report </li></ul></ul><ul><ul><ul><li>Green, Yellow, Red </li></ul></ul></ul><ul><li>Tools </li></ul><ul><ul><li>Wiki </li></ul></ul><ul><ul><li>Big, visible charts </li></ul></ul><ul><li>Demos </li></ul>
    25. 25. Technology Issues <ul><li>Build a solid foundation in advance </li></ul><ul><li>Just-in-time training </li></ul><ul><ul><li>Initial travel onsite (one location or the other) to bring team up-to-speed </li></ul></ul><ul><li>Clear support channels </li></ul><ul><li>Building and leveraging outstanding partnerships </li></ul>
    26. 26. Unrealistic Expectations or Time Frames <ul><li>Collaborative planning </li></ul><ul><ul><li>Client participates in planning process </li></ul></ul><ul><ul><li>Agile ‘planning poker’ process when possible </li></ul></ul><ul><ul><li>Team commits to schedule – commitment driven iterations </li></ul></ul><ul><li>Knowing to say No </li></ul><ul><ul><li>Factoring in quality </li></ul></ul><ul><ul><li>Support from historical data </li></ul></ul><ul><li>Transparency and Trust </li></ul><ul><ul><li>Initial on-site work, especially with new clients </li></ul></ul>
    27. 27. Unclear Objectives <ul><li>(Limited) Up-front Requirements analysis and Design </li></ul><ul><ul><li>Big picture view </li></ul></ul><ul><li>Test Driven Work </li></ul><ul><li>Embracing change </li></ul><ul><ul><li>Detailed objectives may change with time </li></ul></ul><ul><li>Inspect and Adapt </li></ul><ul><ul><li>Provide frequent opportunities to make minor course adjustments </li></ul></ul>
    28. 28. <ul><li>Some answers can be found in a report delivered at the Agile 2006 International Conference </li></ul><ul><ul><li>Distributed Scrum: Agile Project Management with Outsourced Development Teams </li></ul></ul><ul><ul><li>Agile 2006 International Conference </li></ul></ul><ul><ul><li>Jeff Sutherland, Anton Viktorov, Jack Blount </li></ul></ul><ul><li>They advocate: </li></ul><ul><ul><li>Cross functional teams that are relatively autonomous </li></ul></ul><ul><ul><li>Daily stand-up meetings help break down cultural barriers and disparities in work styles </li></ul></ul><ul><ul><li>Scrum-of-Scrums where team representatives meet regularly (from all locations) </li></ul></ul>Distributed teams best practices
    29. 29. <ul><li>Daily meetings of all developers from multiple sites </li></ul><ul><li>Augmented e-communications (Wiki, recordings, web-conferences, etc.) </li></ul><ul><li>Frequent, automated builds from a single repository </li></ul><ul><li>No distinction between developers at different sites on the same team </li></ul><ul><li>Seamless integration of XP practices </li></ul>Distributed teams best practices (continued)
    30. 30. <ul><li>What are the most important Agile characteristics required for a successful project? </li></ul>
    31. 31. <ul><li>Great people! </li></ul>
    32. 32. <ul><li>Communication </li></ul>
    33. 33. <ul><li>Quality </li></ul><ul><li>Test Driven Requirements </li></ul><ul><li>Test Driven Development </li></ul><ul><li>Automated/CI integrated Unit and Functional Testing </li></ul>
    34. 34. <ul><li>Delivery! </li></ul><ul><li>Delivering “Frequent, tangible, working results” every iteration. </li></ul>
    35. 35. Does it work? <ul><li>Yes! </li></ul><ul><li>30+ satisfied clients, many with repeat business can’t be wrong. </li></ul>
    36. 36. <ul><li>Q&A </li></ul>

    ×