Adam Caudill

Security Leader, Researcher, Developer, Writer, & Photographer

Of Victory and Pair Programming

It’s been 3 weeks, 450 man-hours and 6,880 lines of code, and it’s done.

Working as a developer for a call center, I often see some interesting and rather challenging projects. The latest is no different. One of our largest clients (a major bank) asked us to develop an application to assist in processing credit card applications.

While the original request seemed simple, the final specification though was far less simple. A highly dynamic, intelligent, and multi-language application was needed. It’s been close to three months since development started, and 3 weeks since the current major update was started.

Weighing in at 22,880 lines – this is a rather large application, highly dynamic, fault tolerant, and has complete multi-lingual support.  Built in VB.NET and based on the .NET Framework 2.0, this is the largest .NET application I’ve seen though to production.

Not only was this one of the larger .NET applications I’ve worked on, this is also the first project I’ve worked on using a Pair Programming methodology. I joined the project about 1/4th into the initial development, and since then I’ve been working extensively with Laura to complete the project.

After reading about the methods used by High Moon Studios, Laura and I decided to attempt pair programming. In March when this project was first mentioned, we decided this would be the ideal project to go forward with this experiment.

To ease development, I acquired an HP desktop (with a few upgrades) and Laura provided a pair of keyboards and mice for use as a development workstation. With two developers at a single computer, the boost in productivity is remarkable. While I always believed that pair programming could not add significantly to productivity, the quality and speed of development of this project proved me wrong.

With nearly 23,000 lines of fully optimized code, and early testing showing remarkably few bugs, the short development timeframe makes this a remarkable project. When this project started I wouldn’t have dared to dream we could achieve so much, so quickly.

Looking back at the progress made, I’m now a believer that pair programming is the way to go. While I still have many reservations about the concepts of Extreme Programming, at least this aspect is a good idea.

Adam Caudill


Related Posts

  • OpenID: ID of The Future?

    After reading Simon Willison’s excellent article on the topic I spent a couple of hours last night looking at the current OpenID specification, and after a fair bit of thought found the ideas behind OpenID clever, but not what’s needed for the ID of the future. What’s Right OpenID has some really good ideas behind it. Here are a few that really stand out in my eyes. If you have a LiveJournal account for example, it just works, no extra sign-up, no additional work.

  • What It Takes To Be A Great Developer

    Recently a programmer I know decided that it was time for a career change, leaving the IT field entirely. This gave me cause to think; what does it take to be a great developer. Many people go through school believing they have what it takes, only to receive a rude awaking once they enter the real world. Before I go on, I think it’s important to define what I mean by developer, and the differences between a developer and a programmer.

  • Happy (Belated) Birthday VB!

    To celebrate 15 years of Visual Basic, a quick glance to the past: Microsoft Announces Visual Basic at Windows World ‘91 General-Purpose, High-Productivity Programming System for Microsoft Windows ATLANTA — May 20, 1991 — Microsoft today announced MicrosoftR Visual BasicTM programming system at the Windows World ‘91 industry trade show. Visual Basic is a graphical application development system for Microsoft WindowsTM graphical environment version 3.0 that combines visual design tools with a powerful, general-purpose programming language and Windows .

  • The Pressure to Be Great

    I’m a developer, and I love what I do, it’s a great industry, and a very exciting field to be in. If you read my blog often, you’ll see I take every opportunity to mention how great this line of work can be, today I offer a somewhat different, less sugar-coated view. The Pressure There is a constant pressure on developers to be better, to do more, to produce more, sometimes more than is possible.

  • Rebuilding My Network

    Over the next three months or so I plan on more-or-less rebuilding all of my computers, and the network they sit on. This is going to be a fairly time consuming process, though I expect should be well worth it. This includes the addition on a couple new computers, as well as new hardware for the existing ones. Among the various changes is the move to a rack-mount environment, away from normal tower cases.