Extreme Programming: My Russian Experience and Thoughts About Its Future

By Alexey Smirnov, Software Engineer, Novosoft, 2003
When I first hear about Extreme Programming (XP), honestly, I think, "Sounds crazy, maybe some new American hype." But in our company in Novosibirsk, my manager says, "Let’s try! If we fail, we learn something anyway."
So, our team starts real XP experiment.
What We Tried
XP is much more strict than just Agile. We follow almost all:
- Pair programming: every piece of code is written by two people at one computer.
- Test-driven development: before you write code, you write tests.
- Continuous integration: code is merged many times per day, so it always works.
- Small releases: every week we show new version to customer, even if very raw.
At first, honestly, many developers (including me) do not like pair programming. But, after some weeks, I notice that code has less bugs, and new team members learn faster. Sometimes, two heads really better than one, especially in solving hard architectural tasks.
Good and Not So Good
What was great for us:
- Quality of code improved, especially with tests from beginning.
- Mistakes are found much faster, because two people see them or tests catch them.
- Team starts to talk more, share knowledge, not hide problems.
- Customer always knows real state of project.
But, some things not so nice:
- It is hard to keep high speed, sometimes feels like we do same job twice (two people at one computer).
- Not every developer likes so much communication, especially introverts.
- If customer does not work closely with team, planning fails.
Where Else XP May Work
After this experience, I think: XP is not only for software! This way of working, with fast feedback, team decisions, and step-by-step progress, can be useful in:
- Engineering: When you design electronics or robots, two-engineer teams can reduce mistakes and invent better solutions.
- Education: Pair learning, when students teach each other, helps both understand deeper and faster.
- Research labs: Scientists can try "test-driven" approach, writing experiments to prove ideas step by step, not just final results.
- Healthcare: Doctors or nurses can double-check each other, especially in high-risk operations.
I think, XP is useful where quality, speed of learning, and fast reaction to problems are most important. But always you need open mind and trust in team.
Conclusion
For me, XP is not "extreme," just honest way to make teamwork visible and mistakes fast to fix. Not all Russian companies ready for this, but even small steps (like pair code reviews or writing tests first) already change culture.
Maybe, in future, such teamwork will be normal in many professions — not only in Silicon Valley, but also in Novosibirsk, Berlin, or Bangalore.
Sources:
- Kent Beck, "Extreme Programming Explained" (2000)
- Novosoft XP experiment logs, winter 2002–2003