Conversations
Job van der Voort - @Jobvo
@Jobvo - GitLab
Things people in tech like
@Jobvo - GitLab
working on cool stuff
@Jobvo - GitLab
building great tech
@Jobvo - GitLab
gifs
@Jobvo - GitLab
working from home
@Jobvo - GitLab
Things people in tech don't like
@Jobvo - GitLab
meetings
@Jobvo - GitLab
more meetings
@Jobvo - GitLab
going back and forth between
product and engineering
@Jobvo - GitLab
going back and forth between
development and operations
@Jobvo - GitLab
going back and forth
@Jobvo - GitLab
fixing things that are broken while
we're working on cool stuff
@Jobvo - GitLab
getting distracted
@Jobvo - GitLab
pleading to get operations to
support my apps
@Jobvo - GitLab
supporting an infrastructure while
rogue developers try to break it all
the time
@Jobvo - GitLab
commuting
@Jobvo - GitLab
Things we don't like to do feel like a
waste of time
@Jobvo - GitLab
Things we don't like to do are
inefficient
@Jobvo - GitLab
By doing less of the things we don't
like to do, we can be more efficient
@Jobvo - GitLab
..and more happy?
@Jobvo - GitLab
Modern development
@Jobvo - GitLab
@Jobvo - GitLab
?! => meeting || back and forth
@Jobvo - GitLab
Where does it go wrong?
• Need to sync up on information, but it's scattered over apps,
documents, logs
• Not all stakeholders are available
• Slow iterations, big changes
• Communication (meetings) are slow and wasteful
@Jobvo - GitLab
How do we fix this?
@Jobvo - GitLab
Conversational Development
ConvDev
@Jobvo - GitLab
170 people, no office
@Jobvo - GitLab
A framework for working better
@Jobvo - GitLab
for everyone
@Jobvo - GitLab
4 principles of ConvDev
1. Shortened cycle
2. Threaded through all stages
3. Open without consensus
4. Result-oriented
@Jobvo - GitLab
1Shortened cycle
@Jobvo - GitLab
1. Shortened cycle
Minimally Viable Change (MVC)
@Jobvo - GitLab
1. Shortened cycle
• Easier to coordinate, reason, estimate
• Quicker to respond to market need
• Higher predictability
• Better code quality
• Easier to troubleshoot
• More sense of progress
@Jobvo - GitLab
1. Shortened cycle
Include gatekeepers into the conversation
@Jobvo - GitLab
1. Shortened cycle
1. Deploy frequently: if it hurts, do it more
2. Single changes: easier to link to problems
3. Deploy on peak times
4. Automated integration testing: test everything
@Jobvo - GitLab
2Thread the conversation through all
stages
@Jobvo - GitLab
2. Thread the conversation through all stages
@Jobvo - GitLab
2. Thread the conversation through all stages
@Jobvo - GitLab
Link everything
• Give everyone access to the same information
• Only way to measure cycle time, therefore focus on results
• Optimally: Everything in a single tool (GitLab)
@Jobvo - GitLab
3Open conversations without
consensus
@Jobvo - GitLab
3. Open conversations without consensus
Embrace asynchronous conversations
@Jobvo - GitLab
3. Open conversations without consensus
Prevent "Not Invented Here" syndrome by
practicing innersourcing
@Jobvo - GitLab
3. Open conversations without consensus
Prevent "Not Invented Here" syndrome by
practicing innersourcing
@Jobvo - GitLab
3. Open conversations without consensus
• Small changes allow you to make mistakes, consensus takes
more time
• Increases reuse of solutions, prevents duplicate work
• Increases shared knowledge
• Work async and remote!
@Jobvo - GitLab
4Result oriented conversations
@Jobvo - GitLab
4. Result oriented conversations
Connect work to relevant business
metrics
@Jobvo - GitLab
4. Result oriented conversations
@Jobvo - GitLab
Summary
@Jobvo - GitLab
1. Shortened cycle
2. Threaded through stages
@Jobvo - GitLab
3. Open without consensus
4. Result oriented
@Jobvo - GitLab
Conclusion
@Jobvo - GitLab
@Jobvo - GitLab
Questions?
Find me @Jobvo
Slides at jobvandervoort.com/talks
about.gitlab.com
@Jobvo - GitLab
@Jobvo - GitLab

Conversational Development