Published in:
Uncategorised
How to foster technical interactions with other teams of developers?
Software development teams structure and organization affect their efficiency and their productivity. If you have several software development teams in your company, maybe you’ve already heard:
“Our teams don’t talk to each other”This situation happened more than once with our customers at Packmind. Companies have brilliant engineers in their teams that work on complex challenges every day. Still, sometimes they feel frustrated because they lack interactions, which are missed opportunities to learn from each other and grow their skills. Many reasons can explain that: teams work every day on their own tasks, must complete their sprint (what a weird name, btw, don’t you think? Who runs to work?), so it can be hard to find slots for technical interactions. Let’s discuss four practices you can use to boost knowledge sharing and technical discussions in your organization.
#1 Coding Dojo
Coding Dojos are collective programming exercises. They have an educational purpose, such as practicing Test-Driven Development, or getting familiar with a particular programming language. Collections of exercises for Coding Dojo are available online, including at codingdojo.org. There are two main formats for Coding Dojo:- Kata: One person holds the keyboard and demonstrates the exercise, taking the time to specify the points needed for the participants to understand it step by step. This person has already mastered the subject.
- Randori: The resolution of the exercise takes place with Pair/Mob programming sessions with a rotating keyboard system. The pairs change every 5 or 10 minutes so that everyone participates. The audience can ask questions but let the pair progress without disturbing them.
#2 Communities of practices
Knowledge-sharing in agile organizations has become a significant challenge. Communities of practices gather anyone interested in the topic of the community: data, back-end, security,… These are sometimes informal structures based on voluntary involvement, and they can also be more official if employees have dedicated time for this community. These communities are designed to share knowledge, align practices or make technical decisions regarding the topic of the community. The Spotify model often inspires the organization and structure, including Guilds, Chapters, and Tribes. A guild is the closest form of a community of practices in their context. We advise setting a meeting frequency for these communities so that members can schedule them in their agenda, monthly, for instance. Indeed, a common pitfall for these communities is related to their organization and animation. By definition, members work in different teams, even in separate company entities, and can be located across various geographical regions. Even with a rigorous organization, meeting everyone’s constraints can be tedious. To be sustainable, these communities’ meetings must deliver value to their members. Otherwise, they’ll probably start forsaking these groups. Their schedule can take various forms, among them:- Sharing feedback and return on experience after deploying a new tool or architectural approach in a project ;
- An external speaker bringing a topic of interest to the community (see below) ;
- Discussing best practices to adopt for all developers concerned by the domain of the community.