Pair Programming Sees the Future
Posted by ivy on Jan. 31, 2015, 5 p.m.
Almost every web design and development shop struggles with delivering bug-free, quality code to their clients. Fusionbox has adopted a practice called Pair Programming. For those of you not familiar with this agile method, here's how it breaks down:
- Pair Programming means two programmers are sitting side-by-side
- One programmer is the observer and one is the driver
- The "observer" usually keeps the big picture and future vision of the project top-of-mind
- The "driver" pays attention to the details
- Programmers switch roles frequently to get a balance in skills and points of view.
But how economical is this programming practice? Most small development shops might think this means a big waste of time and money. At Fusionbox, this collaboration means benefits to quality of code and architecture, and we actually see the velocity of our projects increase. End projects need fewer revisions, and clients are more satisfied with their experiences. For a more detailed idea of the cost of Pair Programming, check out this study.
For big software projects, Pair Programming helps us see the future. While one developer is coding, the other considers the future vision of the work. This is especially important when building a Minimum Viable Product with a long and broad vision for the future where we don’t know how the data or the system might eventually be used.
Pairing also means immediate feedback. We like to keep our developers moving between projects as much as possible. We find this leads to better documentation, and code that expects to be looked at. Working together means programmers are learning techniques, best practices and creative problem solving from each other.
Our Pair Programming process is part of our dedication to an agile methodology that delivers functional features and products quickly.
Finally, once code is released to the open-source community, a dialogue is established with a much larger review team. All this review leads to quick learning and conscientious programming.
We'd love to hear about what other shops do to create quality in their code. Hit us up with questions or comments.