@ microsoft patterns and practices · distributed agile development @ microsoft patterns and...
TRANSCRIPT
![Page 1: @ Microsoft patterns and practices · Distributed agile Development @ Microsoft patterns and practices Ade Miller Principle Development Lead Microsoft patterns & practices group](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/1.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/2.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/3.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/4.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/5.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/6.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/7.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/8.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/9.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/10.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/11.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/12.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/13.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/14.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/15.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/16.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/17.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/18.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/19.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/20.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/21.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/22.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/23.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/24.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/25.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/26.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/27.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/28.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/29.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/30.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/31.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/32.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/33.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/34.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/35.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/36.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/37.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/38.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/39.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/40.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/41.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/42.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/43.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022051918/600b041d43ff580286499076/html5/thumbnails/44.jpg)
QUESTIONS?