Top Banner
Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group
44

@ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

Sep 25, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

Distributed agile Development @ Microsoft patterns and practices

Ade Miller Principle Development Lead Microsoft patterns & practices group

Page 2: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

CAVEAT #1

Ade Miller

patterns & practices

Microsoft

Page 3: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

CAVEAT #2

YMMV (Your Mileage May Vary)

Page 4: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

Software Development in 2010

Page 5: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

Why Collocate?

• Communication

• Efficiency

• Risk

Gemini Mission Control, 1960s

Page 6: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

Why Distribute at All?

• Global Markets

• Global talent

• Reducing costs

Hubble Mission Control, 1990s

Page 7: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

Customer Connected Engineering

A fancy name for p&p’s agile approach…

• Mine expertise in the community

• Deliver solutions driven by customer demand

• Involve customers in projects

• Ship frequently and get feedback

• Make customers happier and more successful

Page 8: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

Teams and Projects at p&p

• 4-5 Small teams

– Total of 25 employees and 30+ contractors

– Teams often include subject matter experts

– Strong agile culture: Scrum + XP

• Ship to customers every two weeks

• Projects last 3-8 months

Page 9: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

CHALLENGES OF DISTRIBUTION

Vision… Reality…

Page 10: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

Communication Challenges

• Lost meaning

• Lost trust

• Different Core hours and time zones

Page 11: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

Some Problematic Team Practices

• Story cards

• Pair programming

• Daily standups

• Design white boarding

• Team meetings

• Coaching

Page 12: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

Distribution Changes Your Product

“Organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations.”

- Melvin Conway

Page 13: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

TYPES OF DISTRIBUTION

Page 14: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

THE EVILS OF ASYMETRY

Sharing is good…

Asymmetry makes it hard to share evenly

Page 15: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

Not distributed

• Everyone in the same room

• High bandwidth

• Symmetric communication

Distributed but in denial

• Team thinks it’s together

• But acts distributed

Page 16: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

Completely distributed

• Symmetric communication barriers

Distributed by function

• Asymmetric communication barriers

• Builds walls between disciplines

Page 17: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

Ad-hoc distribution

• Asymmetric communication barriers

Distributed across time zones

• Adds temporal asymmetry

• Lowers bandwidth

Page 18: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

FOCUS ON COMMUNICATION

Page 19: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

What Works @ p&p…

• Daily cadence around team standup

– Shared conference call

– Live meeting to view backlog

• Involve everyone:

– Conference phones

– Live meeting (bandwidth permitting)

Page 20: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

PLAN TO TRAVEL

Page 21: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

What Works @ p&p…

• Try and get most of the team together for:

– Project startup

– Key milestones/events

– Final ship

• Factor travel into the budget

Page 22: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

UNDERSTAND YOUR DISTRIBUTION

Page 23: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

p&p Typical Team Distribution

Page 24: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

What Works @ p&p…

• Core team in Redmond

• Developers in Argentina

– Periodic visits to Redmond 1-2 weeks in 6

– 4 hour overlap in working day

• Testers in India

– Test team representative in Redmond

– No overlap in working hours

• Avoid individuals located on their own

Page 25: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

Team Room Representative

Page 26: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

What Works @ p&p…

• Not ideal

– Builds silos

– Isolates portion of team

• Test Representative in Team Room

– Rest of testers in India (in different day)

– Mitigates many of the issues

– Redmond team talks to the “uber tester”

Page 27: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

COACHING THE TEAM

Page 28: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

What Works @ p&p…

• Have someone on the hook for coaching

• Make time for it

Page 29: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

DISTRIBUTION OF WORK

Page 30: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

What Works @ p&p…

• Focus on the user stories

• Involve everyone in the problem

• Don’t allow silos of knowledge to build up

– “The UI is developed in Buenos Aries”

Page 31: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

BUILD THE TEAM OVER TIME

Page 32: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

What Works @ p&p…

• Try and keep teams together

– Over multiple projects

– Not just Microsoft people, vendors too

• Educate new hires

– Team and project Wikis

• Focus on improvement

– Retrospectives (via conference call)

Page 33: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

PROVIDE THE RIGHT TOOLS

Page 34: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

Tools… A Third Order Effect

People

Process

Tools

Page 35: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

Tooling Driven Process

By-the-book Process

Tool Process

Process Adaptations

Page 36: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

What Works @ p&p…

• Visual Studio Team System

– Scrum templates for Team System

• Live Meeting & Shared View

• Live Messenger

• WebCams

• Tools can provide “Big Visible Charts”

• CI is a great tool

Page 37: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

HOW WE USE CI

Page 38: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

Big Visible Charts

Page 39: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

Big Visible Charts and CI

• Charts are transient – Remove them when the problem is solved

– Move on to the next problem area

• Track trends over time

Page 40: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

AND OTHER CONCLUSIONS…

Page 41: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

More Distribution Not Less

Page 42: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

Resources Full slide deck available here:

http://www.ademiller.com/tech/talks

Download the white paper & video here:

http://msdn.microsoft.com/practices

Microsoft patterns & practices http://msdn.microsoft.com/practices

Ade Miller’s blog http://www.ademiller.com/tech

Stock photos in this presentation http://www.nasaimages.org

Page 43: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

Other Resources

• The One Minute Commute – Zack Grossbart http://www.zackgrossbart.com/blog/toc/

• Agile Software Development with Distributed Teams - Jutta Eckstein http://www.jeckstein.de/distributed-teams/

• Practices for Scaling Lean & Agile Development – Bas Vodde http://www.craiglarman.com/

Page 44: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group

QUESTIONS?