scaling agile hurts by vibhu srinivasan
DESCRIPTION
AgileNCR 2010 conference was held in Gurgaon on 17th & 18th July 2010. This largest community driven conference was the Fourth edition of Agile NCR and was organized in collaboration with ASCI. This time the event was based on four major themes : 'Agile for newbies', ' Agile Adoption Challenges', 'Workshops and Software Craftsmanship', and ' Post Agile'TRANSCRIPT
![Page 1: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/1.jpg)
![Page 2: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/2.jpg)
Who are these guys, anyway?
Vibhu SrinivasanAgile Coach, Technologist.Doing XP since 1999
Ed KraayScrum Master, CSPAgile Coach
Doing scrum and XP since 2004
![Page 3: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/3.jpg)
Hypothesis: Scale hurts due to increased communication cost
• Communication increases geometrically, while team members are added linearly.
• Open environment was not enough to solve the issue.
• Teams locally optimize
![Page 4: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/4.jpg)
The context: An MMO game project0 Identity Management
Suite
0 Content Management System
0 Social Networking
0 3D Game
0 Back-end game infrastructure
![Page 5: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/5.jpg)
The service platform
0 Technologies in Play
0 Java, Windows Communication Foundation , C# .NET 2.0, .NET 3.0, ASP.NET
0 PHP
0 A packaged product for content management
0 LDAP
![Page 6: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/6.jpg)
EnvironmentScrum + XP
•Scrum Process•All 3 roles, artifacts, and ceremonies
•XP Practices•Paired Programming•Continuous Integration•Test Driven Development
•Open environment
![Page 7: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/7.jpg)
5 teams, 9 projects, ~50 people
0 Multiple Team Gaming Program
![Page 8: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/8.jpg)
Customer Team
7/18/2010All Rights Reserved – Vibhu Srinivasan
http;//agilefaq.net 8
![Page 9: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/9.jpg)
How we organized our Meetings, and how that mapped to the 5 levels of
planning
![Page 10: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/10.jpg)
TimelineTeam Forming:
March 07
First Release, Infrastructure:
August 07
Game Infrastructure
Teams: August 07
Program Retrospective
June 08
Planned Releases:
September 08 –December 08
The Timeline
![Page 11: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/11.jpg)
How did we generate these insights?
• Held a cross team program retrospective
• 1 day facilitated event
• Set the Stage, Built a 1+ year timeline, generated insights and defined actions
• This was in addition to project, iteration retrospectives
![Page 12: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/12.jpg)
Hurt: Undone work at the end of a sprint
0 Caused the next sprint to reduce velocity, reduced quality
0 Helped: Tracking the Right Metrics: Committed vs actual points, and worked to even them out.
Test Coverage
Committed vs
Completed Points
![Page 13: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/13.jpg)
Hurt: Defects slowed velocity
0 Helped: Test Driven Development
0 Hypothesis: TDD reduces defects.
0
100
200
300
400
500
600
700Defects and Tests
Unit Tests
Acceptance Tests
Defects
![Page 14: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/14.jpg)
Hurt: Multiple Backlogs0 Priorities handled on
the back end, mid sprint
0 Caused injection of priorities
Many Teams, many backlogs
![Page 15: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/15.jpg)
Helped: chief product owner
![Page 16: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/16.jpg)
Hypothesis: product definition team
0 A team of product owners, UX, stakeholders, working ahead of the teams, defining and feeding the backlog.
![Page 17: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/17.jpg)
Hypothesis: Use one product backlog to reduce pain of multiple backlogs
![Page 18: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/18.jpg)
Hurt: Multiple business priorities
0 Caused shifting focus on team.
0 Helped: Vision Statement
![Page 19: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/19.jpg)
Hurt: Work inserted in the middle of the sprint
0 Would break the sprint, or cause delays
![Page 20: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/20.jpg)
Helped: Synchronizing our sprints
![Page 21: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/21.jpg)
Hurt: lack of cross team culture 0 Caused silo effect,
even when teams were feet apart from each other.
0 Helped: X-Team Events: Retrospectives, Lunch, Release Planning, Celebrations.
Team A
rules!
Team B
rules!
![Page 22: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/22.jpg)
SwarmingHelped: Collaborative Environment
![Page 23: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/23.jpg)
Helped: X-Team Release Planning
![Page 24: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/24.jpg)
Helped: Ensuring all customer stakeholders are represented by
Product Owners
![Page 25: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/25.jpg)
Hurt: Impediments
0 Hardware Requisition Process
0 Network Issues
0 Team Issues
![Page 26: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/26.jpg)
Stop the line
7/18/2010All rights reserved Vibhu Srinivasan
26
![Page 27: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/27.jpg)
![Page 28: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/28.jpg)
Services are painful to consume
0 Teams are working in silos and when services are built, they are too painful to consume
Service Versioning
Well defined contracts
Service level agreements
![Page 29: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/29.jpg)
Lack of design caused too much technical debt
0 Agile Myth = There is no design and architecture in Agile development
0 Going from story to code causes a lot of technical debt
0 UML is not enough to convey details
![Page 30: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/30.jpg)
0 Teams are required to white board designs one day after the sprint planning with others
0 Use more spikes to understand a design before it can be used
0 More emphasis on pairs to talk about what they are going to do, before changing code
![Page 31: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/31.jpg)
UML does not convey the details of the complex models
0 Some services had too many complicated scenarios that could not be communicated easily in pictures.
0 Use Fundamental Modeling Concept ( FMC ) models to convey the overall intent of the system0 Color Coded by Release
linehttp://www.fmc-modeling.org/
0 Invest in a great digital camera and a large whiteboard
SERVICE
Services Architecture
PrivisionCollection
Package services
Goals Accounts
Uniquq Rights
Client Systems
Database
RSERVICE API
R
Manage
CollectionR
Purchase
R
Open
R
Combine/
ConvertR
Unique
R
Use
In
Game
R
View
Administration
RSERVICE API
R
Redeem
R
Escrow
R
Destroy
R
Share
Security
R
Define
R
Package
R
Publish
R
Create
Collation R
Recipe
R
Consume
RLog R
AuditR
Manually
Override
Ownership
RSet
Inventory
Levels
RTrack
Ownership
Patterns
R
Audit
R
Repository
Feed
R
Health
Check
Release Line 1
Release Line 2
Release Line 3
Game
New Game
Game2
Game 3
Game 4
R
Trade
R
Run
Recipe
![Page 32: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/32.jpg)
More Engineering Pains0 Common Engineering
Practices Missing
0 Code was growing too fast in too many ways across teams
0 Duplicated code
0 Customers had a core architecture group that had less and less visibility as the teams grew and this caused unease.
![Page 33: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/33.jpg)
One solution to these pains
0 Introduce a cross team architect and embedded agile coach0 A servant thought
leader
0 Mentor and the readily available to pair
0 Shields teams from technical bombshells
0 Active listener and helper
0 Help inject technical stories
![Page 34: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/34.jpg)
More People = Less Quality
0 Some teams were reporting lower bugs than others
0 Unit testing was not consistent
0 Acceptance testing was missing
0 Team did not see value in TDD
0 More debates and arguments were leading to unhappy developers
0 Bad smells in code
![Page 35: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/35.jpg)
Hurt: Defects slowed velocity
0 Helped: Test Driven Development
0 Hypothesis: TDD reduces defects.
0
100
200
300
400
500
600
700
Defects and Tests
Unit Tests
Acceptance Tests
Defects
![Page 36: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/36.jpg)
Better Smells
0 Teams were asked for mandatory testing . They could choose to implement the tests any way they want, but should have unit tests
0 Build systems were made smarter to publish test results
0 Category tags were used to group tests for quicker running.
0 Inject one or two senior developers who knew TDD well in every team- Peer pressure = great code
7/18/2010All Rights Reserved – Vibhu Srinivasan
http;//agilefaq.net 36
![Page 37: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/37.jpg)
It works for me syndrome
0 One teams code does not interface with the other team well
0 Code working on local build fails to integrate
0 Its not easy to deploy the code to customer
![Page 38: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/38.jpg)
Solution – Integrated build and deployment strategy
0
![Page 39: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/39.jpg)
Odds and Ends
0 Mock objects were mockingly simplistic
0 Acceptance tests if not automated does not provide a whole lot of value
0 MOB Programming helps for cross team communication
0 A team agreement document is a must have tool.
![Page 40: Scaling Agile Hurts by Vibhu Srinivasan](https://reader033.vdocument.in/reader033/viewer/2022051818/54ba88bb4a795961088b45d6/html5/thumbnails/40.jpg)