Nailing Distributed Development With Effective Collaboration - Matt Ryall
description
Transcript of Nailing Distributed Development With Effective Collaboration - Matt Ryall
#atlassian
Matt Ryal l • Head of Engineering, Confluence • Atlassian • @mryal l
Nailing Distributed Development:Effective collaboration in distributed teams
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
No worries, mate!
We need to start a new development office in Asia. !
How about we kick it off with Confluence?
Matt
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
ConfluenceCollaboration 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.
Atlassian Engineering Values!
How does build software?!
3
DELIVER CUSTOMER VALUE
The Prime Directive:
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!
Engagement model
Prod Mgr
Existing team
New, remote team
Design & UX
Dev Mgr
Dev
TL
Dev
Dev
BA
Dev foundation
Dev Mgr
expanding core dev capability, bug fixing, feature team
Engagement model
Prod Mgr
Existing team
New, remote team
Design & UX
Dev Mgr
Dev
TL
Dev
Dev
BA
Dev foundation
Dev Mgr
expanding core dev capability, bug fixing, feature team
Product decisions
Dev
TL
Dev
Dev
Prod Mgr
Dev Mgr
Design
ProdMgr
UX
DevMgr
process in place, making product decisions more independently
Engagement model
Prod Mgr
Existing team
New, remote team
Design & UX
Dev Mgr
Dev
TL
Dev
Dev
BA
Dev foundation
Dev Mgr
expanding core dev capability, bug fixing, feature team
Product decisions
Dev
TL
Dev
Dev
Prod Mgr
Dev Mgr
Design
ProdMgr
UX
DevMgr
process in place, making product decisions more independently
Autonomous
Dev
TL
Dev
Dev
Prod Mgr
Dev Mgr
Design & UX
owns execution against strategy for their own features/products
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
Sydney Treasure HuntSaigon Golf Day
All hands presentations
8. Measure for success.
Goals Survey
FeedbackActions
Staff surveys
9. Help the team find their own identity.
Blue shirt day
Key takeaways: #atlassian
1. Meet the team2. Share your plan and your values3. Frequent face-to-face contact at all levels4. Communicate asynchronously5. Track Decisions6. Reinforce the culture you want7. Be overly inclusive8. Measure for success9. Help the team find their own identity
Questions?
Matt Ryal l • Head of Engineering, Confluence • Atlassian • @mryal l
Thank you!
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