#atlassian
Nailing Distributed Development:
Effective collaboration in distributed teams
Matt Ryall • Head of Engineering, Confluen...
Individuals and interactions
over
process and tools
– Manifesto for Agile Software Development
Jean-Michel Lemieux (“JML”)
VP of Engineering
Jean-Michel Lemieux (“JML”)
VP of Engineering
JML
JML
We need to start a new
development office in Asia.
!
How about we kick it off
with Confluence?
JML
JML
We need to start a new
development office in Asia.
!
How about we kick it off
with Confluence?
JML
We need to start a new
development office in Asia.
!
How about we kick it off
with Confluence?
Matt
JML
We need to start a new
development office in Asia.
!
How about we kick it off
with Confluence?
No worries, mate!...
JML
Matt
JML
What will they work on?
What if we can’t communicate?
What if their code is bad?
Matt
8½ hrs
3-4 hrs
1. Meet your team.
Clearly separate.
Clearly separate.
Minimal learning curve.
Clearly separate.
Minimal learning curve.
Important but not critical.
A six-month mission
A six-month mission
A six-month mission
2. Share your plan
and your values.
Spec
Spec
Confluence
Collaboration Central
• Knowledge sharing & collaboration for
your team!
• Write documents, share them!
• ...
Atlassian Engineering Values!
How does build software?!
3
The Prime Directive:
DELIVER CUSTOMER VALUE
Congrats - you ...
Engagement model
Dev foundation
expanding core dev capability,
bug fixing, feature team
Prod
Mgr
Existing team
New,...
Engagement model
Dev foundation
expanding core dev capability,
bug fixing, feature team
Prod
Mgr
Existing team
New,...
Engagement model
Dev foundation
expanding core dev capability,
bug fixing, feature team
Prod
Mgr
Existing team
New,...
3. Frequent face-to-face
contact at all levels.
Frequent catchups
How often to meet?
At least once per week.
I’ve used Hipchat screen sharing to pair with
Matej in Amsterdam on a plugin issue. We
were writing SQL together, etc. ”...
Exchange program
Exchange program
Exchange program
Exchange program
Exchange program
4. Communicate
asynchronously.
HipChat is our logbook
Incident conference
calls must die.
!
Use HipChat instead.
Chapter Title Here
Promote lurking
It wasn’t all smooth sailing…
Bug!
Dynamic vs static
Dynamic vs static
Less this
Dynamic vs static
Less this
More this
Can you guys please switch
the JIRA Issues Macro from
dynamic to static by default?
Can you guys please switch
the JIRA Issues Macro from
dynamic to static by default?
Sure thing!
More bugs!
5. Track decisions.
6. Reinforce the
culture you want.
#atlassian
7. Be overly inclusive.
ShipIt competitions
Coordinated parties
Coordinated parties
Saigon Golf Day
Coordinated parties
Saigon Golf Day Sydney Treasure Hunt
All hands presentations
8. Measure for success.
Goals Survey
Actions Feedback
Staff surveys
9. Help the team find
their own identity.
Blue shirt day
Key takeaways: #atlassian
1. Meet the team
2. Share your plan and your values
3. Frequent face-to-face contact at all l...
Questions?
Thank you!
Matt Ryall • Head of Engineering, Confluence • Atlassian • @mryall
Image credits
• Slide 3: http://www.physipak.com.au
• Slide 4: https://www.flickr.com/photos/kheelcenter/5279325617/
• ...
Nailing Distributed Development With Effective Collaboration - Matt Ryall
Nailing Distributed Development With Effective Collaboration - Matt Ryall
Nailing Distributed Development With Effective Collaboration - Matt Ryall
Nailing Distributed Development With Effective Collaboration - Matt Ryall
Nailing Distributed Development With Effective Collaboration - Matt Ryall
Nailing Distributed Development With Effective Collaboration - Matt Ryall
Nailing Distributed Development With Effective Collaboration - Matt Ryall
Nailing Distributed Development With Effective Collaboration - Matt Ryall
Nailing Distributed Development With Effective Collaboration - Matt Ryall
Nailing Distributed Development With Effective Collaboration - Matt Ryall
Nailing Distributed Development With Effective Collaboration - Matt Ryall
Nailing Distributed Development With Effective Collaboration - Matt Ryall
Nailing Distributed Development With Effective Collaboration - Matt Ryall
Nailing Distributed Development With Effective Collaboration - Matt Ryall
Nailing Distributed Development With Effective Collaboration - Matt Ryall
Nailing Distributed Development With Effective Collaboration - Matt Ryall
Nailing Distributed Development With Effective Collaboration - Matt Ryall
Nailing Distributed Development With Effective Collaboration - Matt Ryall
Nailing Distributed Development With Effective Collaboration - Matt Ryall
Nailing Distributed Development With Effective Collaboration - Matt Ryall
Nailing Distributed Development With Effective Collaboration - Matt Ryall
Nailing Distributed Development With Effective Collaboration - Matt Ryall
Nailing Distributed Development With Effective Collaboration - Matt Ryall
Nailing Distributed Development With Effective Collaboration - Matt Ryall
Nailing Distributed Development With Effective Collaboration - Matt Ryall
of 93

Nailing Distributed Development With Effective Collaboration - Matt Ryall

Distributed teams put additional strains on what is fundamentally a communication and collaboration challenge in building software. Matt Ryall, senior development manager for Confluence, shares his experience on how Atlassian and several of our clients are using collaboration tools like Confluence and HipChat to help overcome geographic boundaries, and ship great software on time.
Published on: Mar 3, 2016
Published in: Software      
Source: www.slideshare.net


Transcripts - Nailing Distributed Development With Effective Collaboration - Matt Ryall

  • 1. #atlassian
  • 2. Nailing Distributed Development: Effective collaboration in distributed teams Matt Ryall • Head of Engineering, Confluence • Atlassian • @mryall
  • 3. Individuals and interactions over process and tools – Manifesto for Agile Software Development
  • 4. Jean-Michel Lemieux (“JML”) VP of Engineering
  • 5. Jean-Michel Lemieux (“JML”) VP of Engineering JML
  • 6. JML
  • 7. We need to start a new development office in Asia. ! How about we kick it off with Confluence? JML
  • 8. JML We need to start a new development office in Asia. ! How about we kick it off with Confluence?
  • 9. JML We need to start a new development office in Asia. ! How about we kick it off with Confluence? Matt
  • 10. JML We need to start a new development office in Asia. ! How about we kick it off with Confluence? No worries, mate! Matt
  • 11. JML Matt
  • 12. JML What will they work on? What if we can’t communicate? What if their code is bad? Matt
  • 13. 8½ hrs 3-4 hrs
  • 14. 1. Meet your team.
  • 15. Clearly separate.
  • 16. Clearly separate. Minimal learning curve.
  • 17. Clearly separate. Minimal learning curve. Important but not critical.
  • 18. A six-month mission
  • 19. A six-month mission
  • 20. A six-month mission
  • 21. 2. Share your plan and your values.
  • 22. Spec
  • 23. Spec
  • 24. Confluence Collaboration Central • Knowledge sharing & collaboration for your team! • Write documents, share them! • Best online editing experience Create-share-discover cycle Create-share-discover cycle Recent releases • Confluence 4.0 – new WYSIWYG editor, macro placeholders, Share button! • Confluence 4.1 – page layouts! • Confluence 4.2 – WYSIWYG templates! • Confluence 4.3 – mobile UI, “Like” button, popular content, in-page notifications Confluence 2013 goals • Lustworthy – beautiful and easy to use! • Onboarding – easy to get started! • Enterprise – robustness & scalability Confluence 2013 goals • Insert diagram here Confluence 5.0 • Redesigned with Atlassian Design Guidelines (ADG)! • New header, integrated app switcher! • New typography, colours, icons! • Space navigation sidebar! • Create experience! • Enterprise user management improvements Confluence 5.0 Sidebar navigation New header New typography, icons, etc.
  • 25. Atlassian Engineering Values! How does build software?! 3 The Prime Directive: DELIVER CUSTOMER VALUE Congrats - you were picked out of 72 companies!! • Pilot project. A developer gave the demo and a good heated discussion with the team.! • Company values and delivery focus! • Ability to scale with Atlassian and think big! • Vietnam education and hard working culture (albeit language is still a challenge given how quickly we collaborate)! • Design agency and eye for design and user experience! ! • Challenges: English, products that last for ever, including all our teams in the Atlassian culture. 4 What’s made successful?! What’s made successful? 1.Software development is changing! 2.Business model innovation! 3.Long-term thinking Where is heading?! Where is heading? 1.Every company is a software company! 2.Beyond the dev team! i. “every knowledge worker using Atlassian every day”! 3.“Your margin is our opportunity” i. Ubiquitous in 2014!
  • 26. Engagement model Dev foundation expanding core dev capability, bug fixing, feature team Prod Mgr Existing team New, remote team Design & UX Dev Mgr Dev TL Dev Dev BA Dev Mgr
  • 27. Engagement model Dev foundation expanding core dev capability, bug fixing, feature team Prod Mgr Existing team New, remote team Design & UX Dev Mgr Dev TL Dev Dev BA Dev Mgr Product decisions process in place, making product decisions more independently Dev TL Dev Dev Prod Mgr Prod Mgr Dev Mgr Design UX Dev Mgr
  • 28. Engagement model Dev foundation expanding core dev capability, bug fixing, feature team Prod Mgr Existing team New, remote team Design & UX Dev Mgr Dev TL Dev Dev BA Dev Mgr Product decisions process in place, making product decisions more independently Dev TL Dev Dev Prod Mgr Prod Mgr Dev Mgr Design UX Dev Mgr Autonomous owns execution against strategy for their own features/products Prod Mgr TL Dev Dev Dev Dev Mgr Design & UX
  • 29. 3. Frequent face-to-face contact at all levels.
  • 30. Frequent catchups
  • 31. How often to meet? At least once per week.
  • 32. I’ve used Hipchat screen sharing to pair with Matej in Amsterdam on a plugin issue. We were writing SQL together, etc. ” “
  • 33. Exchange program
  • 34. Exchange program
  • 35. Exchange program
  • 36. Exchange program
  • 37. Exchange program
  • 38. 4. Communicate asynchronously.
  • 39. HipChat is our logbook
  • 40. Incident conference calls must die. ! Use HipChat instead.
  • 41. Chapter Title Here
  • 42. Promote lurking
  • 43. It wasn’t all smooth sailing…
  • 44. Bug!
  • 45. Dynamic vs static
  • 46. Dynamic vs static Less this
  • 47. Dynamic vs static Less this More this
  • 48. Can you guys please switch the JIRA Issues Macro from dynamic to static by default?
  • 49. Can you guys please switch the JIRA Issues Macro from dynamic to static by default? Sure thing!
  • 50. More bugs!
  • 51. 5. Track decisions.
  • 52. 6. Reinforce the culture you want.
  • 53. #atlassian
  • 54. 7. Be overly inclusive.
  • 55. ShipIt competitions
  • 56. Coordinated parties
  • 57. Coordinated parties Saigon Golf Day
  • 58. Coordinated parties Saigon Golf Day Sydney Treasure Hunt
  • 59. All hands presentations
  • 60. 8. Measure for success.
  • 61. Goals Survey Actions Feedback
  • 62. Staff surveys
  • 63. 9. Help the team find their own identity.
  • 64. Blue shirt day
  • 65. Key takeaways: #atlassian 1. Meet the team 2. Share your plan and your values 3. Frequent face-to-face contact at all levels 4. Communicate asynchronously 5. Track Decisions 6. Reinforce the culture you want 7. Be overly inclusive 8. Measure for success 9. Help the team find their own identity
  • 66. Questions?
  • 67. Thank you! Matt Ryall • Head of Engineering, Confluence • Atlassian • @mryall
  • 68. Image credits • Slide 3: http://www.physipak.com.au • Slide 4: https://www.flickr.com/photos/kheelcenter/5279325617/ • Slide 5: http://agilemanifesto.org • Slides 7, 9: Atlassian • Slide 11: Google Maps • Slides 13, 14, 24, 29, 30: Atlassian • Slide 31: http://1slowhiker.blogspot.com.au/ • Slide 43: Google Maps • Slides 49, 51, 53, 54, 62, 64: Atlassian

Related Documents