Knowledge sharing isn't all about documentation
When a newcomer joins your team, or when you got a failure, or when your team has a productivity problem, you might say:
We lack knowledge sharing because we lack documentation
Of course, documentation is an important solution to the knowledge gap. For example, a product overview diagram, elevator pitch, and system architecture diagram provide domain knowledge and reduce the gap.
But what about a requirements specification document, a basic design document, a detailed specification document, and test specifications and transcripts? Is a 5000-page document an effective solution to the knowledge gap? No. It simply doesn't get read! Comprehensive documentation is costly and does not solve the problem.
We have another way to share knowledge. It's about communicating! Having communication is a much cheaper and more effective way rather than writing and maintaining comprehensive documentation.
However, during day-to-day development, each developer is busy programming, which leads to a lack of communication. Then there will be no opportunity for knowledge to be shared, and the gap will not only remain the same but will widen further.
We have several ways to communicate. Which one is the best? Peer reviews share coding knowledge, but don't enable coding because they don't share the thought process of coding. Of course, I know you don't want to write emails. Text chat is much more casual than email, but it is not as fast and doesn't have as rich bandwidth.
Principles behind the Agile Manifesto say:
The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
Meetings are real-time and context-rich way using conversation, so they help in quick knowledge sharing. Then, is having frequent meetings the best idea? You probably don't buy it as you know it reduces not only work time but also work efficiency because we lose focus due to context switches. Is there a trade-off between real-time conversations and maximizing work time? Do we need to carefully balance between communication time and work time?
Make it simple; do both at the same time. Work on one task together while having a conversation. Work as a team. That will help newcomers get started quickly, prevent failures caused by a lack of knowledge, and increase the productivity of the entire team.
Wrapping up
Knowledge sharing is a communication problem. Frequent real-time conversation solves a communication problem. Do work and have conversations at the same time to work as a team.