O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Distributed Agile, What types of Agile to use

763 visualizações

Publicada em

Webinar presentation http://www.returnonintelligence.ru/webinars/international-teams/

Publicada em: Software
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Distributed Agile, What types of Agile to use

  1. 1. Distributed Agile, what types of Agile to use. Anna Obukhova, Project Manager Anna.Obukhova@exigenservices.com September 23, 2014 www.ExigenServices.com
  2. 2. 2 www.ExigenServices.com Great to meet you! My name is Anna Obukhova More than 10 years in Software development, in Agile from 2004, Agile Project Manager from 2005. Managed Agile projects from 7 to 40 members, several projects simultaneously, now consulting PM in the 60 project Agile program. Participating as SME in в Agile Center of Excellence in Exigen Services My last presentations - Agile Days 2010 (SPB), SECR 2010 (Moscow).
  3. 3. 3 www.ExigenServices.com Agenda  Agile – the distributed problem  What is Agile in Exigen Services  Why we are forced to be distributed  Distribution Factors  Calculate your distribution score  What is different when you have high distribution score  Examples of high-score team structure  Recommendations
  4. 4. Check understanding– what is Agile Agile software development is a group of software development methodologies based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams.  In other words, any Agile methodology should provide for – Iterative development style; – Early and frequent delivery of working software; – Strategy for embracing changing requirements; – Close and friendly collaboration between team members; – Team structure leading to self-organization. 4 www.ExigenServices.com
  5. 5. 5 www.ExigenServices.com Perfectly suited for 1 location Citation from Agile resources:  Agile methods emphasize face-to-face communication over written documents when the team is all in the same location.  Most agile teams work in a single open office which facilitates such communication.  Team size is typically small (5-9 people) to simplify team communication and team collaboration. Agile and distributed development seem to be at odds with each other. One is about close communication and short feedback loops, the other is about being effective with people in a different location.
  6. 6. What I will mean by Agile in Exigen Services 6 www.ExigenServices.com In Exigen Services Agile generally means:  SCRUM as management framework  eXtreme Programming as engineering practices  Kanban structure to make process smoother
  7. 7. 7 www.ExigenServices.com eXtreme Programming - Ideas  Iterations (can have changes inside)  Perfect Hours/ Team velocity/Load Factor  User Stories  Pair programming  Unit Tests  Shared code ownership  Nothing in advance  Keep it simple  Continuous Integration  Continuous Refactoring  Communication inside team and with customer/ Standups  Fast reaction & flexibility instead of planning
  8. 8. eXtreme Programming - Limitations 8 www.ExigenServices.com  Very big teams  Strongly documented projects  Distributed teams  Weak customer support
  9. 9. SCRUM - management framework  Sprints (no changes inside)  Scrum Master/Product Owner/Team  Meetings (Pre-Planning, Planning, Daily Scrum, Demo, Retro)  Product Backlog/Sprint Backlog/Planning Poker  Stories with Acceptance Tests with Business Priority 9 www.ExigenServices.com
  10. 10. 10 www.ExigenServices.com What is Kanban Kanban it is a scheduling system that tells you what to produce, when to produce it, and how much to produce. Limit WIP (work in progress) – assign explicit limits to how many items may be in progress at each workflow state. Keep track on the board that you don’t have process bottlenecks.
  11. 11. Why we start being distributed?  Outsourcing to Low-Cost departments in one company  Outsourcing to another company  Follow the Sun model  Merges and Acquisitions - integrate products  Lack of resources  Work from Home 11 www.ExigenServices.com
  12. 12. 12 www.ExigenServices.com Factor 1: Physical distribution 1. Collocated 2. Collocated Part-Time 3. Distributed with Overlapping Work Hours 4. Distributed with No Overlapping Work Hours
  13. 13. Factor 2: Logical team organization 13 www.ExigenServices.com 1. Isolated Scrum 2. Distributed Scrum of Scrums 3. Totally Integrated Scrum 4. Flexible Scrum
  14. 14. 14 www.ExigenServices.com Factor 3: Project size 1. 1 Scrum Team - <10 members 2. 2 Scrum Teams - < 17 members 3. > 2 Scrum Teams - > 17 members
  15. 15. 15 www.ExigenServices.com Factor 4: Product organization 1. > 1 products independent or using each other 2. 1 product – several integrated modules 3. 1 product with 1 piece of functionality or highly integrated modules
  16. 16. 16 www.ExigenServices.com …. 4*4*3*3 = 144 Max144 different SCRUM project organizations depending on these conditions. The higher level each condition is, the more difficult project is. Lowest Distribution Score is 4 (1+1+1+1) = Collocated Isolated Small 1product). Ideal for XP and SCRUM, nice, productive, a lot of fun. Score 5-8 is normal for offshore development. Highest is 14 (4+4+3+3) Score = Flexible SCRUM, 1piece, distributed with no overlapped hours, team >20 members: project will not survive without special conditions or will have awful communication overhead.
  17. 17. 17 www.ExigenServices.com We’ll discuss  2 and more teams (17 and more)  Distributed with Overlapped working hours  All levels of team logical distribution  All types of product integration level
  18. 18. When you have Distributed teams 18 www.ExigenServices.com  New Roles, management overhead – Project manager (not Scrum Master) – Architect (Chief Tech Lead) – Proxy Product Owner (Analyst)  More e-mails and documentation – Self documented code may be not enough – Handover architectural documents – Reports on progress and impediments – Sub team and general Burn-Down  Less Shared Code ownership  Mini Demos
  19. 19. When you have Distributed teams 19 www.ExigenServices.com  Scrum of Scrums  Horizontal communication of Peers – Scrum Masters/Chief SM (PM) – Tech Leads/Architect – Test Leads/Project Test Lead – Proxy Product Owners/Chief Product Owner  Dependency management – Code – Resources – People – Time
  20. 20. Don’t forget communication tools  Continuous integration/build automation  Team collaboration/task/bug tracker/report builder (Jira, TFS)  Meeting culture/Scrum Meetings/Sprint Pulse  Skype/Video facilities  Webex/Screen sharing  Airplane  Beer 20 www.ExigenServices.com
  21. 21. 21 www.ExigenServices.com Totally Integrated Example
  22. 22. 22 www.ExigenServices.com Flexible Scrum Example
  23. 23. So… if you face distributed one  Max attention to communication, visual, personal  More beer if necessary, start with team building  Know your type of Distributed Agile, plan additional roles  Use Kanban principle to balance the load and avoid the 23 www.ExigenServices.com bottlenecks on specific roles  Use Sprint Pulse to manage the meeting and communication overhead level and team communication  Peers speak with peers, is your SMs do not talk to each other – you are in trouble  Calculate the Load Factor – it will be different from type to type
  24. 24. Also…try to low the distribution score  Try to make your cumulative Agile distribution score as low as 24 www.ExigenServices.com possible - avoid unnecessary distribution - define independent modules - Increase overlapping hours - think of smaller team - isolate Scrum where possible - any level raise treat and calculate as risk for the project And…know and practice Agile from beginning to end, better practice lower distribution level Agile before (by you or get expertise in your company).
  25. 25. 25 www.ExigenServices.com Thank you. Question time.