• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content

Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

Distributed Agile, What Types of Agile to use webinar presentation by Anna Obukhova

on

  • 2,218 views

Presentation by Anna Obukhova for Exigen Services webinar Distributed Agile, what types of Agile to use that was held online on Ovember, 11 2010 ...

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

Statistics

Views

Total Views
2,218
Views on SlideShare
2,065
Embed Views
153

Actions

Likes
1
Downloads
0
Comments
0

5 Embeds 153

http://blog.exigenservices.com.ua 96
http://413x4nd3r.blogspot.com 34
http://exigenua.tumblr.com 13
http://www.linkedin.com 9
https://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • SCRUM is a framework for Agile Project managementScrum 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.

Distributed Agile, What Types of Agile to use webinar presentation by Anna Obukhova Distributed Agile, What Types of Agile to use webinar presentation by Anna Obukhova Presentation Transcript

  • Distributed Agile, what types of Agile to use.
    Anna Obukhova, Project Manager
    Anna.Obukhova@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 ExcellenceinExigen Services
    My last presentations - Agile Days 2010 (SPB), SECR 2010 (Moscow).
  • 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
  • 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.
    Мы будем рассматривать Agile:
    Это SCRUM как коммуникативный framework и eXtreme Programming XP как набор инженерных практик.
  • 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.
  • 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
  • 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
  • eXtreme Programming - Limitations
    Very big teams
    Strongly documented projects
    Distributed teams
    Weak customer support
  • 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
  • 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.
  • 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
  • Factor 1: Physical distribution
    Collocated
    Collocated Part-Time
    Distributed with Overlapping Work Hours
    Distributed with No Overlapping Work Hours
  • Factor 2: Logical team organization
    Isolated Scrum
    Distributed Scrum of Scrums
    Totally Integrated Scrum
    Flexible Scrum
  • Factor 3: Project size
    1 Scrum Team - <10 members
    2 Scrum Teams - < 17 members
    > 2 Scrum Teams - > 17 members
  • Factor 4: Product organization
    > 1 products independent or using each other
    1 product – several integrated modules
    1 product with 1 piece of functionality or highly integrated modules
  • …. 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.
  • 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
  • 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
  • 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
  • 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
  • Totally Integrated Example
  • Flexible Scrum Example
  • 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
  • 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).
  • Thank you.
    Question time.