Ask a question Share knowledge Edit the page
Pair programming / Immersion in someone else’s practice
The cheapest way to transfer knowledge organizationally is to work together on the same task, at the same workplace, and the advantage of this is to transfer not only conscious knowledge, but also unconscious knowledge.
In IT, this practice is known as “pair programming” and is part of the practice of Extreme Programming.
Problems Solved by Pair Programming
This practice can be used not only to train newcomers, but also to break down walls of misunderstanding between members of different units.
-
Dodo Pizza periodically sends its developers to pizzerias to understand how the software they create is used in practice.
-
Leroy Merlin similarly sends developers to work in warehouses
-
Flunt sends its devops engineers who build the infrastructure to handle the incidents so they get feedback on the infrastructure they have built.
Pair programming is the easiest way to provide technological onboarding and immerse beginners in the specifics of projects.
Pair programming should help to unify approaches to solving problems.
| What is the effectiveness of pair programming? There’s an objection that it’s very expensive to do a task that one person does for two people, but on the other hand, pair programming is the key to innovation and efficiency. |
Perhaps pair programming is the key to removing other, inefficient practices, for example, if you have pair programming, you don’t have to do code revisions.
As with knowledge-sharing culture in general
It’s not possible to measure the impact of a culture of knowledge sharing, nor to measure the state of that culture, and it can be different from team to team, from person to person, especially in large organizations, and that’s OK.
So let’s say that these things can be evaluated empirically, and that means you probably have to go to different organizations and different cultures to learn to see the differences.
How to start implementing pair programming
| How do you teach people pair programming? It seems like not everyone can work in pairs, explain their actions to a colleague and make sure that they understand what’s going on. There has to be someone who believes in this and can inspire people. There’s a set of tricks that affect the outcome, but it doesn’t seem to be taught anywhere, and it’s a verbally transmitted thing. |
Nikolai Ryzhikov at AgileDays-2014 It tells about the practices used in programming, including pair programming.
| How do you form couples? Forever, it sounds wrong. Forming them into separate tasks can be difficult to plan. What are the approaches? |
| People are different. And it’s logical to assume that couples can form different ways of thinking, like a couple that can be a fountain of ideas, and a couple that can be a perfect fit. How do you take into account the psychology of the participants when forming couples? |