Distributed Agile, What Types of Agile to use webinar presentation by Anna Obukhova
Nov. 12, 2010•0 likes
1 likes
Be the first to like this
Show More
•962 views
views
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Report
Technology
Business
Presentation by Anna Obukhova for Exigen Services webinar Distributed Agile, what types of Agile to use that was held online on Ovember, 11 2010
Exigen Services webinars schedule is avialable at:
http://www.exigenservices.ru/webinars
Distributed Agile, What Types of Agile to use webinar presentation by Anna Obukhova
January 30, 2015 www.ExigenServices.com
Distributed Agile, what types of Agile
to use.
Anna Obukhova, Project Manager
Anna.Obukhova@exigenservices.com
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 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 www.ExigenServices.com
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.
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 www.ExigenServices.com
What I will mean by Agile in Exigen Services
In Exigen Services Agile generally means:
SCRUM as management framework
eXtreme Programming as engineering practices
Kanban structure to make process smoother
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
9 www.ExigenServices.com
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
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 www.ExigenServices.com
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
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
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 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 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 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 www.ExigenServices.com
When you have Distributed teams
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 www.ExigenServices.com
When you have Distributed teams
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
23 www.ExigenServices.com
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
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 www.ExigenServices.com
Also…try to low the distribution score
Try to make your cumulative Agile distribution score as low as
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).
SCRUM is a framework for Agile Project management
Scrum is based on effective, small teams working in an interdependent manner to achieve specific yet flexible agendas. As decisions are based on real-time information, the teams must be self sufficient, have carefully defined responsibilities, and exhibit excellent communication skills.