achieving success with distributed teams
DESCRIPTION
A story of a distributed team that is achieving more success than most co-located.TRANSCRIPT
IMPROVING ENTERPRISESTonight’s Sponsor
ACHIEVING SUCCESS WITH DISTRIBUTED TEAMS
ACKNOWLEDGEMENTS
-Jane Prusakova-Luid Hancock
JOSH WOODCOCK
• 4-5 years with Agile• Scrum Master, BA, Coach, Programmer, Architect, PM• Small to Large Enterprises• Insurance, Financial, Internet Marketing
Audience
• Considering• Tried it, didn’t work.• Distributed = Dark Side• Doing• Awesome• Agony• What’s distributed?
?
Problem #1
Problem #1
Problem #1
Problem #1
Skill & Competitive
Cost
$$
Problem #1
Solution #1
Solution #1 Remote source skilled workers
Solution #1
?
Problem #2
Problem #2
THE STORY
THE EPIPHANYSame Place, Different Locations
Team Member Locations
How we are doing?
• Customer satisfaction is so high they are recommending us to other companies
• Product direction changes weekly• CI server builds multiple times per day as code is checked
in• Pair programming and backlog grooming occurs naturally
throughout day• Employees are highly autonomous and require little to no
management involvement• Most of collaboration is face to face or through screen
sharing
How we are doing?
• Working software demonstrated at least weekly to customers and users
• Team members work 40-45 hrs / week• Technical enhancements are written in business terms
and prioritized in product backlog• Releases to production provide new value every 1-2
weeks• Teams velocity is about the same for each team member• Team identifies opportunities and follows through on
improvements weekly
Operational Foundations
Project Tracking
JOSH WOODCOCK
[email protected](407) 235-4361@BJoshWoodcock
Operationally critical elements• Virtual team room
– As long as you are working you have your web cam or screen share on
• 1 week iterations• Use of video instead of face conversation• Limited use of email• Phones are only used when absolutely necessary. Facial expressions
drastically improve communication.• Daily code integration, daily builds, and test driven development• Pair group programming and testing
Things that help a lot
• Near same time zone to maintain common working hours
• Team members desire to overcome personal challenges, and bring out the best in one another
• Occasional meet up in same room. Establish relationships early in project if it’s a brand new team.
Things that help a lot
• Communication is superfluous not back and forth.
• Management resolves team level obstacles in 2 days or less
• Forum or Wiki for team communication, meeting notes, living documents
Things that help a lot
• Limit email within the team– Use voice or forum for discussions– Subscription-based email service to document
updates– Google docs, Confluence Wiki, Sharepoint, GitHub
Continuous communication
• As a general rule, every team members is available to others for ad-hoc discussions
• Responses are given within minutes or seconds– Not hours or days
Learning Experiences
• 5 days is great. 3 days is not enough. 4 days is minimum.
• Turn around time on questions from PO must be less than 15 mins during day
• Improving once a week from retrospectives due to short iterations drastically improves performance
• Recurring scheduled collaboration sessions, like pairing, makes communication more superfluous since ad-hoc meetings are more difficult to schedule
• An awesome distributed team will still do better than an average collocated team
Recommended Web-based tools• JIRA Agile, Rally, VesionOne, etc.• Google Hangouts, Lync, Skype 4.2 for
continuous communication and collaboration
• GoTo Meeting, WebEx for presentations• http://www.planningpoker.com/ works
great for planning poker
Other Resources
• http://confluex.com/blog/a-distributed-teams-insurance/
• http://beagile.biz/agile-collaboration-tools/