With constant advances in computer technologies, the software companies have a hard task of producing quality software. In an effort to produce quality, bug free programs the software companies are implementing new methods in their programming process. This new method is provided by pair programming. With pair programming, many software companies were able to achieve better code, while conserving time and expenses. .
In, "All I Need to Know about Pair Programming, I Learned in Kindergarten", Laurie Williams states the fourteen essential rules of pair programming. The title of Williams's essay gives presents pair programming as a simple idea that even a child would be able to understand; and that is exactly what it is. As described by Williams, one of the key rules pair programming states that "You should share everything". The interpretation of that rules state that the two programmers involved in the process of writing code through pair programming should realize that the code they are creating belongs to them both. Just like "there is no I in team", in case of a successful coding, there is also no "finger pointing" in case the code goes wrong. Both programmers share the code together - whether is succeeds or fails. Since both programmers share the responsibility of the project it is in the best interest of the programmers to cooperate as much as possible. This cooperation must be accomplished by reducing tensions and rivalry between the two programmer. If a programmer A in the pair is more skilled than programmer B, he must refrain from being arrogant; that way programmer B doesn't feel inferior and both programmers can function more effectively. .
Another key aspect of pair programming is the role assignment of the two programmers. During a pair programming sessions, one programmer functions as the driver and the second programmer functions as a reviewer. The driver drives the process by controlling the keyboard, while the reviewer keeps an eye on the driver and makes sure that errors are avoided.