Download - Scaling Agile Hurts by Vibhu Srinivasan
![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)