Thoughts on technology and innovation
Craig Ceremuga, Software Engineer
I am one of two remote developers on the Nimble AMS engineering team and since September have been pair programing with another developer (Bob) who works in at NimbleUser headquarters in Rochester, New York.
What is Pair Programming?
Wikipedia defines pair programming as an agile software development technique in which two programmers work as a pair together on one workstation. For NimbleUser's first foray into pair programming we went with a Ping/Pong approach where one user works on a task while the other tests it, then they reverse roles for the next task.
Benefits Experienced By NimbleUser
Here’s How We Do Pair Programming At NimbleUser:
Since Bob and I are 230 miles apart, sitting at the same computer and keyboard is not feasible. Additionally, working on separate computers can be tricky when it comes to working on the same files and components.
-Bob Lawton, NimbleUser Software Engineer
A study of pair programming by University of Utah Computer Science department determined that pair programming increases cost by approximately 15% but this is repaid in shorter and less expensive testing, quality assurance, and field support.
As with anything new, there are challenges but pair programming has yielded tangible benefits to NimbleUser and we are looking for ways to do more of it. Let us know how pair programming works out for you in the comments section.