Global,Distributed, and AgileWinning Strategies for efficient application development
Brian ZeichickTeamForge Product [email protected]
Poll #1 (Hidden Slide)
• Where are you in terms of agile adoptions
• Investigating / piloting
• Adopted process - scrum, lean,et
• Modified process - scrum-but, kanban etc
• Won't do it
• What is Agile?
2 Copyright © 2010 CollabNet, Inc. All Rights Reserved.
3 Copyright © 2011 CollabNet, Inc. All Rights Reserved.
Distributed Agile – How did we get here?
• Distributed development drivers
• Agile development drivers• Need for improved collaboration
(across IT, business, and customers)
• Desire to release products more efficiently, more frequently
4 Copyright © 2011 CollabNet, Inc. All Rights Reserved.
Distributed Agile – Increasingly Commonplace
“There are numerous, complex global systems within investment banking firms,” said the firm’s IT
director. “For example, a typical trading system can
be used in Frankfurt, London, New York, Tokyo,
Singapore & Zurich and connect to more than 50 independent systems. Stakeholders—each with
their own objectives—can be separated by location, business line or functional unit.”
– Large Investment Bank
“We have approximately 31,000 employees located in more than 100 countries worldwide. Various
teams had different approaches to software
development because of their cultural, organizational, and corporate heritage.”
- Philips
5 Copyright © 2011 CollabNet, Inc. All Rights Reserved.
The Elephant in the Room: Co-Location
• Traditionally, why is co-location so important?• Pair programming
• Meetings
• Daily standups
• Sprint planning
• Retrospectives & review meetings
• Constant communication
• Visibility
• Trust
Distributed Development - A Bad Example
• Lack of Communication
• Unclear goal and plan
• Weak transition of ownership
6 Copyright © 2010 CollabNet, Inc. All Rights Reserved.
Poll #2 (Hidden Slide)
• How Distributed is your DEV organization?
• Not at all. We’re currently co-located
• Somewhat – 15-30% are distributed
• Moderately – 30-60% are distributed
• Extreme: Where is HQ anyways? 60-100% Distributed
7 Copyright © 2010 CollabNet, Inc. All Rights Reserved.
Organizing Distributed Teams
8 Copyright © 2011 CollabNet, Inc. All Rights Reserved.
• Several smaller, co-located and dispersed Teams
• Roll-up to management team
Pair Programming without Co-Location
• Code review
• Knowledge sharing
9 Copyright © 2011 CollabNet, Inc. All Rights Reserved.
Meetings without Co-Location – Daily Standups
10 Copyright © 2011 CollabNet, Inc. All Rights Reserved.
Meetings without Co-Location – Sprint Planning
• Sprint planning
• Make informal and last a couple of days
• Duration of sprints – might look at extending longer than 2 weeks
11 Copyright © 2011 CollabNet, Inc. All Rights Reserved.
Meetings without Co-Location – Retros and Planning
• Sprint reviews
• Ad-hoc UATs (user acceptance tests),
instead of formal sprint reviews
• Sprint retrospectives
• Try to find a time that works for
everyone
• Tack it on to the end of a standup
meeting
• Release retrospectives & planning
• Ideally this should be done in person
• At least key stakeholders should meet
in person
12 Copyright © 2011 CollabNet, Inc. All Rights Reserved.
Agile Distributed Meetings – Case Study
“Pallas’ projects used Scrum to help manage the distributed teams, holding daily standup meetings to discuss progress and managing
development in three week iterations. Adapting
Scrum to the offshore environment required all
teams to be flexible. Several times a week, the
Singapore team came in early and California
teams worked late to hold a single standup
meeting.”
- Applied Biosystems
13 Copyright © 2011 CollabNet, Inc. All Rights Reserved.
Constant Communication without Co-Location
• Office-cooler conversations
14 Copyright © 2011 CollabNet, Inc. All Rights Reserved.
Constant Communication without Co-Location
• Knowledge sharing
15 Copyright © 2011 CollabNet, Inc. All Rights Reserved.
Constant Communication without Co-Location
• Social networking
16 Copyright © 2011 CollabNet, Inc. All Rights Reserved.
Constant Communication without Co-Location
• Get togethers
• Try to have an offsite at least a few times a year
• Things to avoid
• Long email threads that go several levels deep
• Relying on just non-realtime tools to communicate
17 Copyright © 2011 CollabNet, Inc. All Rights Reserved.
Visibility without Co-Location - Traceability
• Ensure that collateral that is used for communication, code review, and meetings notes are easily available
18 Copyright © 2011 CollabNet, Inc. All Rights Reserved.
Visibility without Co-Location – Managing Process
• Need to rely heavily on project manager to ensure process is followed
• Estimates set and updated on a regular basis
• Proper Channels are used for questions/comments
19 Copyright © 2011 CollabNet, Inc. All Rights Reserved.
Visibility without Co-Location – Managing Progress
20 Copyright © 2010 CollabNet, Inc. All Rights Reserved.
• Need a way to look at progress at different levels
• Individual Team level
• Aggregate, larger team view
Trust without Co-Location
• This takes time
• Ensure that message and direction to team is clearly communicated
• Ensure that commitments to team are followed through
• Get to know each other on a personal basis
• Offsites at least a few times a year
• Create cross-location teams for some projects
• Ensure that key members are available
21 Copyright © 2011 CollabNet, Inc. All Rights Reserved.
Other Issues that arise without Co-Location - SCM
22 Copyright © 2011 CollabNet, Inc. All Rights Reserved.
SVN Mirrors
Standalone
SVN Mirrors
SVN Mirrors
Standalone
Standalone
Other Issues that arise without Co-Location - Testing
23 Copyright © 2011 CollabNet, Inc. All Rights Reserved.
A developer picks up the next available work item
The developer commits changes on behalf of the work item
CI wakes up, sees the commit, and starts the continuous integration job
On the CI’s request, test resources are provisioned from the cloud
The CI executes the test suite using the provisioned resources
When done, the resources are returned to the pool for other uses
A
B
C
D
E
F
Other Issues that arise without Co-Location - Scalability
• If you’re going to use an agile project management in a distributed environment, it better scale
24 Copyright © 2011 CollabNet, Inc. All Rights Reserved.
Poll #3 (Hidden Slide)
• How Large is your entire Dev organization (staff)?
• Under 10
• 10 – 50
• 50 – 500
• 500 – 5,000
• 5,000+
25 Copyright © 2010 CollabNet, Inc. All Rights Reserved.
26 Copyright © 2010 CollabNet, Inc. All Rights Reserved.
Different Development Tools in Different Locations
• Development tools are still a distributed mess in most enterprises
27 Copyright © 2010 CollabNet, Inc. All Rights Reserved.
Why is a single platform so important?
TRANSPARENCY breeds TRUST which drives REUSE
Five Lessons to Take Home…
28 Copyright © 2011 CollabNet, Inc. All Rights Reserved.
• ‘Agile’ no longer requires ‘co-location’ for everything
• Tight collaboration and coordination is vital
• Technology helps bridging most obstacles
• Integrated platform is key to breed transparency, reuse and ultimately trust – and drive efficiences
• Right tools are imperative, but not the only answer
CollabNet – Who we Are
• Subversion founder and corporate sponsor
• #1 Subversion / Subversion Edge downloads
• Used by 5m+ developers worldwide
• Leader in Agile development
• #1 trainer of “ScrumMasters” (>10,000 trained)
• ScrumWorks Pro, leading agile tool on market
• Provider of TeamForge platform for distributed ALM
• Accelerates software delivery by 50% or more
• 700+ customers and 400,000+ end-users
• Scales from teams, to enterprises with 50,000+ users
29 Copyright © 2010 CollabNet, Inc. All Rights Reserved.
30 Copyright © 2011 CollabNet, Inc. All Rights Reserved.
Thank YouQ&A
Brian ZeichickBrian ZeichickBrian ZeichickBrian Zeichick
TeamForge Product Manager