A big thanks to GitHub’s Christian Weber (webdog) for 2 days of great presentations in beautiful Victoria, BC.
Day 1 - Continuous Integration - Your left brain mechanic
Christian arrived in Victoria with a bang and some awesome material at the December BC DevOps Commons Meetup. With such a great turnout, the facilitated discussions seeded from ideas like Team Composition, Trust and Automation were bound to be both lively and interesting.
- Building performant teams with diversity and trust
- How re-usable code does not always mean a feature library or API, but can be as simple as an example (through working code) that stimulates creativity or progress on a tricky issue.
Automation using Continuous Integration can be a benefit by:
- Allowing developer’s to spend more time being creative (right brain)
- Enabling greater consistency in deliverables
- Speeding up the monotonous tasks (code quality, security scans, functional testing)
As question led discussions can, we ended up a bit farther from the place we started and had a great time getting there. Here are some of the interesting ideas that came up:
- Things Highly Performant teams have in common: diversity, transparency, trust (safety)
- Knowledge can be seen as either a shared or tradeable resource
- Tracking operational changes using PR’s or Issues adds history, approvals, discussions, etc
Day 2 - Collaborative Culture and Effective Software Communities
The following day’s workshop explored ideas around things that can stimulate a collaborative culture and some of the blockers we might encounter. I enjoyed the examples and discussions about how competitive cultures lead to creating silos and horse trading ideas and knowledge rather than collaborating. This gets more expensive for organizations as more and more efforts are duplicated, and more time is spent assigning blame than is spent solving problems. The conclusion of that section reinforced the idea that transparency and sharing of knowledge is a difficult thing to do and something that doesn’t stay done without constant upkeep.
- Allows shared knowledge for access by a broader group
- Allows ideas and input from a more diverse set of people (reduces bias)
- Does not have to be to the broader public to gain the benefits (can be transparent within an organization or community)
- Can be transparent without losing control of content through update reviews and restricted merges.
- Our own pride in our work can lead us to hide our ideas/work until it’s done
- Thinking about how or where to share our work/knowledge is hard, and is easy to postpone or skip when we get busy.
Any workshop or lab that uses LEGO get’s a cheer and a standing ovation from me, especially when the goal of the exercise is to collaborate and build something with a team! One of the great things about this lab was that Christian lulled us into thinking we were learning about how to be a development team and collaborate, when he really was showing the effects of different kinds of blockers and enablers that leadership and management can bring to a project. By keeping our sprints short he was able to have us experience:
- Vague goals
- Clearer instructions
- Missing technology
- Merging teams
- Changing scope
- Tight deadlines
At the end Christian was still able to finish with us being successful and feeling good.
- Leaders/management cannot force a culture of collaboration
- Actions a leader takes can greatly encourage as well as stifle team collaboration (don’t under-estimate the impact!)
- Successful ideas can come from many different directions
Thanks again (webdog) Christian!