Doing Business in Real Time

About this Blog:

The global economy has a life of its own, it lives in real-time, and we are all part of it. Hello brave new world.

Michael Hugos

Agile Software Development Depends on Pair Programming

The result of developers working solo is an accumulation of technical debt

to Development |

One of the core practices of agile development is pair programming. That means two programmers work together on the same body of code. As they work they are constantly discussing the design of the programs and the algorithms used, and they are constantly checking each other’s work to see that it meets coding standards and to see that thorough unit and function testing is done on the code they produce.

Question: Is pair programming really just paying twice for the same code? In a time like now when we are all under pressure to reduce cost by outsourcing programming work to low cost providers why are people in the agile development world talking about something like pair programming? Is the quality of the code produced by pair programming really worth the extra cost?

[ I do lively presentations on this and related topics - mhugos@yahoo.com ]

The Agile 2009 conference is happening this week in Chicago and I’m attending the conference to find out about the current state of agile development and get answers to questions like why is pair programming considered so essential to agile development. This afternoon I talked with Josh Kerievsky who uses pair programming on development projects in his company and who swears by it. His company is also in the business of coaching and training their customers in how to do effective agile development using pair programming and the other core agile practices. Josh’s company is Industrial Logic.

“As a business owner I can’t afford to have people working solo,” said Josh. “Pair programming is about removing bugs in the code and reducing the risk of bad program design. I don’t insist on pair programming because it is the agile thing to do, I insist on it because it delivers the best value for the money I spend.”

Myth of the Hero Programmer Revisited

I asked him what he thinks about the legend of the hero programmer working on his own, tapping away on his keyboard into the wee hours of the night and producing thousands of lines of code that makes computers do amazing and wondrous things. He began his response by observing that what the so-called hero programmer actually produces is thousands of lines of code that nobody else understands and nobody can maintain or enhance.

Josh went on to say that the solo programmer usually also violates other agile practices such as adhering to coding standards, doing good unit and function testing, and creating simple program designs. Often the reason for this is that solo programmers cannot take criticism from other developers because their code becomes so personal and any criticism of it feels like a personal attack. But when developers do pair programming, they are much more open to review and criticism of their code because they think of their code as a joint production and therefore they don’t feel personally attacked when their peers review and criticize their work.

I asked him about the best ways for programmers to pair up. I wondered if he ever saw differences between pairs that were man-man or man-woman or woman-woman. He said he leaves it to his developers to pair up and select who they want to work with. He said he doesn’t see any difference between pairs that are man-man or man-woman or woman-woman. His developers know each other and they know who they work well with. His only requirement is that he doesn’t want two programmers working together if they are both inexperienced in the technology being used; at least one of the pair needs to be knowledgeable

Continue Reading

Print
What is Tech Briefcase?
TechBriefcase is a new, free service where IT Professionals can Search, Store and Share IT white papers and content like this. Learn more
Bookmark content
Speed up your research efforts with content across the web.
Search and Store
Find the white papers you need. Create folders for any topic.
View Anywhere
Open your briefcase on your iPhone, tablet or desktop. Share with colleagues.
Don't have an account yet?

Browse CIO Blogs

See all CIO Blogs »

Cloud computing has emerged as one of the most significant game changers to hit the technology landscape in the past 20 years. With this massive expansion of the cloud, the perception of the IT organization is shifting from a utility player to a change agent. This eBook breaks down five ways progressive organizations are using cloud-based IT Management solutions to help drive innovation and become more strategic, including: adding visibility and analytics, speeding up time-to-value, lowering costs, improving prioritization, and providing a blueprint for future cloud deployments.
Read the white paper to see how IBM helped Citigroup deliver new services and enhancements to their 200 million customers faster.
There are 3 ways to modernize legacy applications: rewrite completely, acquire packaged solutions or migrate existing code. This paper explains why it's best to migrate and how IBM® Rational® software can help.
Accommodating specific lines of business can result in a hybrid ecosystem of applications and servers. The resulting complexity of this architecture makes for an environment that is costly to maintain and difficult to change when addressing new challenges.
This whitepaper will help you to define a mobile device passcode policy. Security managers must attempt to reconcile two opposing goals. They must: 1) create a passcode policy that is strong enough to protect the device if it is lost or stolen, while: 2) not annoying users with needless length or complexity.
This whitepaper, authored by The Radicati Group, looks at the key reasons organizations should consider moving to a cloud-based archiving solution. Email archiving solutions enable organizations to store, monitor, and collect electronic data exchanged by their users to comply with internal policies and regulations.
ATERNITY will showcase a 30-minute demo on how Fortune 500 companies are leveraging its award-winning FPI Platform to deliver a user-centric approach to Proactive IT Management.
For businesses to move forward and tap into the ever-expanding universe of Internet users and network-enabled devices, it's critical to learn how to make the transition to IPv6. Learn the critical steps your organization must take to make a seamless transition-and keep your business world connected.
Learn how IT teams can protect against spear phishing tactics. Harry Sverdlove, chief technology officer of Bit9 offers a frank discussion about spear phishing - the most common technique used in today's advanced attacks.
Learn how to build a solid business case for your migration to Red Hat Enterprise Linux so you can run leaner, innovate faster, be more flexible and own the New Now.
Social media isn't about you; it's about everything around you. As you consider how your customers want to communicate with you, social media is something that can't be ignored. But what should your strategy be? Is social media "just another channel?" What kind of a plan makes sense for your contact center and for your customers? Join our experts as they share their insight and research results.
Hardware tokens were a popular method of strong authentication in past years but the cumbersome provisioning and distribution tasks, high support requirements and replacement costs have limited their growth. The additional log-in steps that hardware tokens require and the resulting user frustrations have limited adoption and make them impractical for larger scale partner and customer applications.

Newsletter Sign-Up »

Receive the latest news test, reviews and trends on your favorite technology topics

Choose a newsletter
  1. View all Newsletters | Privacy Policy