How to Scale with Distributed Agile?
During this presentation we'll take you through an exciting journey of key lessons learned from one of the largest agile projects executed at ThoughtWorks which will cover:
* Key agile principles
* What challenges comes along with the scale of up to 200+ people with added complexity of distributed location
* How is it different from other agile projects in terms of planning ahead, release plans, scope management, infrastructure
* Communication - The most important ingredient for large scale agile projects to be successful
* What kind of team structure would work best?
* How to stay focused? How to identify bottlenecks and work through them
4. About the Topic 4 Key Tenets of Agile Something that can negatively impact the success of an agile project Large scale development Distributed development Command-and-control Forcing agile on teams
5. What Does Scaling Mean? Team Size Geographical Distribution Domain Complexity Technical Complexity Volumes DurationPerformance Release Planning Project Management DistributedMulti-Team Projects Functionality Stakeholders Integration Points 5
6. Journey Through Agile Key Principles 6 Early and continuous delivery of valuable software Welcome changing requirements Deliver working software frequently Collaboration Face-to-face conversation Maintain constant pace indefinitely Attention to technical excellence and good design Self-organizing teams
8. Agility and Scale – It can work 8 Shared goal, vision and objectives Team Organization Planning Communication Bottlenecks Implementing new ideas Team rotations Continuous Integration Staying Focused Importance of Toolsets
14. Planning – Watch out for 14 Story size and estimate baseline across teams Story dependencies between teams Individual team velocity not to be used for comparison Story and feature level automation
15. Agility and Scale – It can work 15 Shared goal, vision and objectives Team Organization Planning Communication Bottlenecks Implementing new ideas Team rotations Continuous Integration Staying Focused Importance of Toolsets
17. Communication – Be Creative 17 Video conferencing Scrum of scrums Daily delivery catch-up Information radiators Release charts with key dates Dependency charts Program update meetings Huddles Knowledge sharing and maintaining shared context
18. Bottlenecks / Constraints – put it in perspective 18 Story sign-offs Automation / Regression UAT Release Planning Builds Check-ins / SVN / Branching Capacity Planning
19. Ideas – Ground-up, Keep it coming 19 Idea Wall Larger Picture High impact Allocate Capacity Communicate Innovation
21. Agility and Scale – It can work 21 Shared goal, vision and objectives Team Organization Planning Communication Bottlenecks Implementing new ideas Team rotations Continuous Integration Staying Focused Importance of Toolsets
22. Continuous Integration 22 Faster Feedback Installers Impact of broken builds Single Build vs. aggregation Conflict Resolution Tool Selection
23. Staying Focused 23 Executive Dashboard Programme Status Work Steam Status
25. Importance of Tools – Key Player 25 Scalability is important Change is not easy Easy to use / Intuitive Flexibility Reporting / Dashboarding Should fit with architecture