Global,Distributed, and AgileGlobal,Distributed, and Agile Winning Strategies for efficient...

Preview:

Citation preview

Global,Distributed, and AgileWinning Strategies for efficient application development

Brian ZeichickTeamForge Product Managerbzeichick@collab.net

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

bzeichick@collab.net

Recommended