Do you remember the 80’s hip-hop classic, and the accompanying video highlighting the mysterious potable? Like the mystery brew of lore, much of our code feels like a mixed concoction of stuff. What I mean is that we have lots of code, but not a lot of context.
I had a conversation last week with someone about how they use Bitbucket to store code. It was not only their code repository but also where they stored snippets of documentation. It worked, until snippets got stored in email, in chat, in wikis, and everywhere else. Meanwhile the code was not getting much better, nor were the developers getting much smarter.
When you manage technical knowledge in this way, you run into two problems. One is the lack of specific knowledge. You have a question about something and there is no single place to ask or find a quick answer. The second is systemic knowledge, or in other words a view of the bigger picture.
The Boeing 777 is considered one of the most advanced commercial aircraft ever designed. Introduced in 1995, it was the first to replace manual flight controls with electronics. Given the technical complexity of the program, it also required a completely different way of working. They created “design build teams” and they built a system to allow any engineer to see the entire model of the plane’s design.
What Boeing effectively created was an organizational collective intelligence across the company. They could foresee and solve problems faster, identify interface issues between different components, and create innovative solutions by working in collaboration with each other. They had the bigger picture but they also had the detailed picture because all designs were stored and accessed in one system.
I think about this sometimes in the context of Stack Overflow. What makes the site useful is that it is not just code snippets. The community is rigorous about ensuring there is context in questions and answers. Even if you are just copying and pasting code, at least you know what the code is doing. You have specific knowledge to solve your problem.
But what about systemic knowledge? There are plenty of social collaboration platforms out there as well as Q&A tools, chat apps, etc. For developers though, the tools are either too generic or not engaging and easy to use. Those apps are friction points in a developer’s flow. And because the tools are only sporadically used by a few people, teams and organizations lose out on the bigger picture.
How are you solving the dual challenges of specific knowledge and systemic knowledge in your company? What are the tools and processes you have built to gather collective intelligence across your developer teams?
How do I deal with the “30 minutes remaining” problem?
We always have 30 minutes lying around…
We help IT leaders in enterprises solve the cultural challenges involved in digital transformation and move towards a community based culture that delivers innovation and customer value faster. Learn more about our work here.