What is Pair programming?
In this modeProgramMembers work side by side to complement each other for development. Two programmers sit side by side in front of a computer, and use the same keyboard and mouse to work on the same monitor. Analyze, test, design, and program together.
This figure shows the Pair programming.
In Pair programming, how do two people assume roles? It should be the role of the driver and the navigator. The driver is the person who controls the keyboard input, while the pilot is the pilot and reminder.
Why programming by pairing? (Economics significance of Pair Programming)
You said that the amount of work is certain. If two people program, the programming speed will be doubled, and the time will be halved. Why programming?
1: First of all, I have to admit that every mistake is inevitable in the Process of independent design and software implementation. In Pair programming, because there is a review and communication at any time, everyone has a strong point, just opposite to the barrel effect, the final result is the highest level of two people in all aspects! In this way, the initial quality of the program is much higher with fewer errors. Naturally, it saves a lot of modification time (programmers know that debuggingCode).
2: An author uses data to prove the economic significance of programming! Dollar-value-of-pair-programming (Dave niclette)
It feels good. Let's share it with you. Here is an example to illustrate it. I will give a brief introduction.
It is often mistakenly believed that programming is mainly typing, and the economic value of Pair programming is often misunderstood. As a matter of fact, programming is actually a process of thinking. As a result, you may go back to the wrong path. The more you go, the more you will know the error at the end, and redo it later, these errors will inevitably cause a lot of losses in product development. Based on this, we can discuss the economic value of programming. The value of pairing is mainly reflected in hand correction, thus killing errors in the bud. Manual correction involves a small amount of data and can be seamlessly integrated with the workflow of pairing programming. Generally, these cannot even be felt. Naturally... the value brought by this is the ability to easily perform inspections to prevent future rework. Therefore, the value of pairing is reflected in saving the future time, and time is money. The author builds a rough calculation based on their Pair programming. In his early book in Alistair corkburn, he once calculated that the cost of an IT worker would be $2.1 per minute... in Dave's pairing process, two brief discussions on design were conducted, and a small reconstruction was made. According to Dave's computation, this reconstruction saved 4 hours for future maintenance work. This means about 2.1x120 = $252.00. If a total of 12 small errors are found, and the average debugging time for each error is reduced by 30 seconds, the value is. 5x2.1x12 = USD 12.60. In total, it saves the company $276.60 per 90 minutes, or about $180.00 per hour.
...
Then we applied Pair programming to small IT companies, with a total of 40 developers scattered across several XP teams. Assume that a developer is paired for five hours every day, then the total pairing time for each week is 20 to X 5 hours x 5 days for a week = 500 hours. Assume that the hourly cost for each pair is reduced by 180 US dollars, and the hourly cost is reduced by 90000 US dollars on average. If you keep the contract rate above this horizontal line throughout the year, the company will work for 50 weeks a year (this is the United States, and the holidays are not long) because of the development team's Pair programming, saved $4.5 million a year.
4.5 millionMeijin, for a company with only 40 developers. But Dave also had to admit that this is only a preliminary calculation obtained from a Pair programming, so it is not scientific, but it can still lead to thinking.
Let's talk about my understanding of Pair programming:
First of all, maybe my peers and I are not very powerful. We are Silverlight programming. According to my previous understanding of myself, if I am alone, I feel that I am not sure, because of the many problems, I don't know much about it. It may take a lot of time. But when I worked with pair, I found that he had taken the first step. I was very excited and confident. Then I continued to follow his ideas. I found that the process was far from step by step, and I also knew how to proceed. When a bug occurs, I didn't have the patience to tune the bug in the past. Once a bug occurs, I don't want to do it in ten minutes. But I tried to tune the bug with him, once you find that your logic is clear, you can break a breakpoint and analyze the data to solve the problem. Although he hasn't compiled many programs, he can always find bugs and provide a powerful guarantee for our progress. In addition, in Pair programming, I feel that I am not working alone. With the team's plan, the efficiency has also improved a lot. The brain is also highly concentrated. When problems arise, we can discuss them at any time, and our ideas can be highly consistent.
I feel that pairing programming can not only improve the overall progress of the team, but also learn a lot.
Digress: Since we are paired, the first thing we need to do is to clear our own personality and set up team goals. team-oriented programming may be more suitable for people with considerable strength. However, I feel that if the programming ability of two people is a little different, it can also be done as long as the two people's attitude is correct, remove the arrogant, personalized side, it will also play an unexpected effect.
I hope more people can experience the pleasure and gains of Pair programming.
Refer:
Min Xin: The Path to the mountains
A blog: dollar-value-of-pair-Programming
By Liu Haifeng