Screenshot 2023-10-25 at 10.48.41 PM.png
Pair Programming - My Personal Experience
In this article, I will try to share my views about pair programming what I have experienced in last one month


Nabin Hait


Jan, 26 2013



min read

Pair programming typically means coding done by two people together on a single machine sitting side by side. When one person writes code, the other person reviews the code continuously, and thinks about the next move. And they generally switch their role after approximately 30 minutes to 2 hours.

In this article, I will try to share my views about pair programming what I have experienced in last one month. Here, in erpnext, we always try to adopt better and innovative ways to work (thanks to Rushabh). Sometimes it works, sometimes it does not. This time, we tried "Pair Programming". Anand and myself paired for  redevelopment of "Manufacturing Module" and "Stock Reconciliation".

At the beginning, there were many questions in my mind:

1. Is it worth to invest two developers' time to finish one developer's job?
2. How day-to-day technical support will be managed?
3. Pair programming will succeed only if you can make the right pair. Will it work?

Keeping those questions in mind, we decided to give it a try. In pair programming, it is always better to have complementary skills. And in our case, Anand has very good technical knowledge and a decent taste in UI design, and on the other hand, I have enough functional knowledge.

After finishing our first task (Manufacturing module redesign), we were quite satisfied. We found that the workflow and the forms have been significantly simplified, the code is looking nice and number of bugs have been reduced after release. We took more than expected time to finish the task, but it was due to lack of clarity and scope of projects kept expanding with our progress. So, we decided to do more ground-work and discussions before actual coding from next task.

So, in our next task, redesigning of Stock Reconciliation, we started with detailed discussion and writing down all possible cases in white board. After that we started with UI design (which ideally should have been done in the end) and then moved to writing testcases and actual logic. And believe me, this time we enjoyed more because of initial "White Board Discussion" and enough clarity in mind.

It is always pleasure to work with Anand and I learned a lot during pair-programming. Good coding practices and how to dare to rewrite the existing ugly code. Most of the time, Anand was doing coding, because of my slow typing speed which led me to practicing ten finger typing. I have already increased my speed a bit :)

After one month's experience, I think pair programming is always better for difficult and medium sized tasks. It provides better code, fewer bugs, simpler design and better productivity. Two heads really are better than one.

Fingers crossed for our next assignment "Account Inventory Integration".

Published by

Nabin Hait


Jan, 26 2013


Add your comment




No comments, yet.



Paul Mugambi


3 days


Beautiful read, and an insight into an individual I respect and have learned a lot from. Am inspired to trust the process and never give up.


Anna Dane


5 days


I must say this is a really amazing post, and for some of my friends who provide Best British Assignment Help, I must recommend this post to them.

Add your comment