Agile Project Management   Facing The Challenges Of Distributed Development Using Agile
Upcoming SlideShare
Loading in...5

Agile Project Management Facing The Challenges Of Distributed Development Using Agile



This presented by Mayank Gupta (Globallogic) at Agile NCR 2009 Conference held on 18th July at Park Premier Hotel.

This presented by Mayank Gupta (Globallogic) at Agile NCR 2009 Conference held on 18th July at Park Premier Hotel.



Total Views
Views on SlideShare
Embed Views



4 Embeds 23 16 5 1 1



Upload Details

Uploaded via as Microsoft PowerPoint

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.

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

Agile Project Management   Facing The Challenges Of Distributed Development Using Agile Agile Project Management Facing The Challenges Of Distributed Development Using Agile Presentation Transcript

  • Agile Project Management - Facing the Challenges of Distributed Development using Agile - Mayank Gupta
  • Time for Introduction
    • Working w ith GlobalLogic India
    • Practicing Agile for last 3 years
    • Certified CSM, CSP, OCP and ISTQB professional
    • Published Articles in Scrum Alliance & CM Journal
    • Blog -
  • Agenda
    • Food for thought
    • Agile – Does it work?
    • Distributed Agile – Issues and success factors
    • Distributed Scrum styles
    • How to keep the rhythm
    • Engineering solutions
    • Examples and case studies
    • Questions
  • Food for thought
    • The question isn’t whether Agile can be applied to Distributed projects or not
    • It’s more!
    • Can Distributed projects afford not to apply Agile practices?
  • Agile – Does it work?
    • Everybody says that Agile works for ideal scenario
    • Small teams
    • Collocated teams
    • When customer is available to team all the time
    • What about real scenario?
    • Big teams
    • Globally distributed teams
    • Large projects
    • When real customer is not available to the team
  • Distributed Agile
    • Large/distributed projects are very high risk
    • Standish chaos report
      • 31.1% projects get cancelled before they get completed
      • 52.7% projects get completed but cost almost double of their original estimates
      • 16.2% projects are completed on time on budget
    • Today's prevailing trend – geographical
    • diversification
    • Exponential Demand for complex functionality along with ease of use, scalability, reliability, and maintainability
  • Issues in Distributed development
    • Strategic: Difficult leveraging available resources, best practices are often deemed proprietary, time consuming and difficult to maintain.
    • Project and process management: Difficulty synchronizing work between distributed sites.
    • Communication: Lack of effective communication mechanisms.
    • Cultural: Conflicting behaviors, processes, and technologies.
    • Technical: Incompatible data formats, schemas, and standards.
    • Security: Ensuring electronic transmission confidentiality and privacy.
    It is a communication problem
  • Agile Values
    • 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.
  • Success Factors – Distributed Agile
    • Success of Distributed agile substantially depends on real-time collaboration
      • Avoid depending heavily on the use of E-mails for knowledge sharing!
      • Wiki and Collaboration systems gaining popularity
      • IM tools, NetMeeting, and video conferencing enable effective collaboration
    • Robust and Scalable engineering platform to enable:
      • Real-time Collaboration and transparency
      • Re-usability and Refactoring
      • Collective Code Ownership
      • Continuous Integration
      • ……… .etc.
  • Distributed Scrum Styles
    • Type A: Isolated Scrums
    • Type B: Distributed Scrum of Scrums
    • Type C: Totally Integrated Scrums
    • Reference - Distributed Scrum: Agile Project Management with Outsourced Development Teams - By Jeff Sutherland, Anton Viktorov, Jack Blount
  • How to keep the Rhythm
    • Daily Scrum Meeting
      • Adjust meeting time to meet all time zones
      • Write the answer of three scrum questions and distribute the answers by email before the Scrum meeting (overcomes language issues)
      • Local teams can have their separate standup meetings as well
      • Publish audio recording of meetings
      • Video conference between sites
    • Release/Sprint planning
      • Fly key people to one place (Release)
      • Share pictures of planning charts (Sprint)
      • All team members participating
      • Video conference between sites (Sprint)
    • Release/Sprint Review
      • One session for all teams
      • Web meeting application to share Demo and Presentation
      • All team members participating
      • Video conference between sites
  • It is all about planning
    • Team Structure
      • Key challenge: process management, work synchronization
      • Cross functional teams at all locations
      • Scrum masters at all locations
      • Use scrum of Scrum (SoS)
      • If number of teams are more (more than 10), use Scrum of Scrum of Scrum (SoSoS )
      • Scrum Masters reporting daily to SoS and to SoSoS
    • Proxy product owners
      • Architects playing the role of proxy product owners
      • Link between product owner and delivery team
      • Break down User story into requirements
  • It is all about planning (Cont…)
    • Identifying dependencies
      • Unified planning meeting after each sprint planning
      • Scrum masters meeting to resolve dependencies
    • New distributed scrum teams
      • New scrum teams for Documentation, Integration and Validation can be formed
      • Documentation team participation in all planning meetings
      • Integration scrum team responsible for nightly build and automatic installation, participate in SoSoS forum and part of all planning meetings
      • Scrum team “validation” taking care of test and validation of the Cross suite user scenarios & engaging real customer in validation process
  • Use of Agile Methodology: Iterative Product Development & Incremental Releases Working Releases
  • Work Organization: Sample success pattern
  • Work Organization: Large Scale
  • Creating an Integrated Tracker
    • Ability to properly derive test cases from raw requirements
    • All tasks need to be mapped, inter-linked, and driven by its priority
      • Writing use cases, test cases, code reviews, etc.
    • Requirement mapping also necessary for test results, defects, and code changes
  • Processes - Continuous Integration
    • It is essential that code repository is centralized and unified tools are used
    • Automated Schedule builds – preferably daily
    • Build dashboard highlights failing builds which are resolved immediately.
    • Traceability to requirements to builds
  • Sprint health check
    • Reference - Distributed Scrum: Agile Project Management with Outsourced Development Teams - By Jeff Sutherland, Anton Viktorov, Jack Blount
  • High Visibility on Project Status - Metrics Test Cases Test Cases - Status
  • Product Dashboard as Information Radiator
    • Distributed Agile needs a common view assembling product engineering processes together
    • A Product Dashboard provides a holistic view of lifecycle
      • Reconciles information from requirement management, test case management, issue tracking system, etc.
      • No manual consolidation of information
      • Provides great transparency from all perspectives
      • Real-time visibility into the progress
      • Role-based dashboard boosts productivity of the distributed product teams
  • Video Conference
    • Biggest contributing factor in distributed development
    • Brings meaningful and effective communication
    • Better video conferencing tools would decrease the need of travelling
    • Use video conference for
      • Daily scrum meetings
      • Release planning meeting
      • Iteration planning meeting
      • Sprint Review
  • Daily Scrum Meeting Audio Or/And Video Conference
  • Case Studies
    • IDX (now GE Healthcare) – 567 developers, many locations
    • IDX Web Team Scrum 1996-2000
    • – Burlington, VT
    • – Boston
    • – Seattle
    • Factors accelerating the IDX hyperproductive Distributed Scrum
    • – Scrum organizational pattern
    • – Engineering practices
    • – Daily meeting of distributed team
    • – Tools (direct connection to Microsoft development)
    • SirsiDynix and StarSoft used Scrum in globally distributed environment
      • developing a Java application with over 1,000,000 lines of code.
      • a distributed team of 56 Scrum developers working from Provo, Utah; Waterloo, Canada; and St. Petersburg
      • At 15.3 function points per developer/month, this is one of the most productive projects ever documented.
  • Case Study
    • ????
  • Velocity Continuous Integration
  • Velocity Continuous Integration
  • Conclusion
    • Agile would help you to actually address the problems created by the distance instead of making them worse
    • It is extremely easy to integrate Scrum with XP practices even on large distributed teams.
    • Meaningful communication and collaboration are the key factors
    • One Scrum meeting a day is necessary which should include all team members across geographies.
    • This would improve productivity, reduce project risk, and enhance software quality.
  • References
    • Distributed Scrum: Agile Project Management with Outsourced Development Teams
      • At Agile 2006 International conference
      • By Jeff Sutherland, Anton Viktorov, Jack Blount
  • [email_address]