Your SlideShare is downloading. ×
Essential Elements Of Distributed Agile
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Essential Elements Of Distributed Agile


Published on

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

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

Published in: Technology, Business

  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

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

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