Ping-Pong Programming: Enhance Your TDD and Pair Programming Practices

Team player Dave Hoover wants to share a software development practice he enjoys. It emerged from the practices of extreme programming as a competitive yet simultaneously collaborative practice. Dave has found that this practice promotes the flow of knowledge between software developers better than any other practice he has experienced. As you might have guessed from the title of this week's column, this practice is called ping-pong programming, or P3 for short.

Dave Hoover's picture Dave Hoover
Estimating Testing Time

Testers are always facing a time crunch. As part of a recent assessment, a senior manager asked, "How long should the testing really take? It takes our testers from four, five, six, to thirty (insert your number of choice here) weeks, and we need it to take less time. Why can't it take less time, and how can we tell what's going on so we know how much testing we need?" In this column, Johanna Rothman answers with a timeline. By estimating how many testing cycles will be needed, plus how long each will take, she can map out the entire testing process. From this viewpoint, she is able to pinpoint where the process can be streamlined thus reducing the time spent testing.

Johanna Rothman's picture Johanna Rothman
Suffering for Success

One of the most valuable services a QA group provides is preventing failure. Ironically if the group succeeds at this, QA might find themselves unpopular or out of a job. Linda Hayes reveals how typical methods of measuring success can actually cause failure. Especially if success is achieved at the loser's expense.

Linda Hayes's picture Linda Hayes
Detecting Great Testers before the In-Person Interview

Resumes only tell a portion of a candidate's story just like caller ID doesn't always reveal the caller's complete identity. Screening candidates over the phone can help extract more of the person's story if you ask the right questions. In this column, Johanna Rothman shares phone-screening techniques she uses to detect great potential testers. This process of elimination saves her valuable time and ensures only qualified candidates make it to the in-person interview.

Johanna Rothman's picture Johanna Rothman
TimeLine Postmortems

We should use project postmortems to improve our software process. But few teams do, and fewer teams reliably learn from project postmortems. You can introduce postmortems to your team easily with a timeline postmortem process. If you are already doing postmortems, a timeline-based approach may improve your results.
This process:

  • Takes little time (a few hours).
  • Has a high degree of software engineer acceptance.
  • Provides immediate feedback into your development process.
  • Increases team cohesion and rapport.
  • Reduces finger pointing.
Seth Morris's picture Seth Morris
Not Your Father's Test Automation

If you think that test automation is mostly about executing tests, then you're missing out on a big opportunity. Or rather, you're missing a lot of small opportunities adding up to a big one. Consider this: stop thinking about test automation as merely executing automated tests, stop thinking about test automation as something you need expensive tools for, and start discovering automation you can implement in a couple of days and usually with extremely inexpensive tools or tools you already have available. In this week's column, Danny Faught and James Bach suggest taking a more Agile approach to test automation.

James Bach's picture James Bach
Keeping Secrets

Test data has long been a challenge for testing; privacy legislation, identify theft, and the continued trend towards outsourcing has made it even worse. Just establishing and maintaining a comprehensive test environment can take half or more of all testing time and effort. In this column, Linda Hayes adds in the new and expanding privacy laws that inevitably limit your testing options. Yet from the quagmire of laws and company standards, better testing can emerge.

Linda Hayes's picture Linda Hayes
Bumper Stickers for Testers

Why is software testing perceived as dull? How many other jobs can list "crash," "hang," and "death march" in their daily vocabularies? In this week's column, Harry Robinson encourages testers to embrace a little pride and excitement in what they do, and Harry has just the mottos for bumper stickers that announce Tester Pride. Author's note: Feel free to add your own favorite slogan in the comment section at the end!

Harry Robinson's picture Harry Robinson
Thinking Inside the Box

The problem with urging outside-the-box thinking is that many of us do a less-than-stellar job of thinking inside the box. We often fail to realize the options and opportunities that are blatantly visible inside the box that could dramatically improve our chances of success. In this column, Naomi Karten points out how we fall victim to familiar traps, such as doing things the same old (ineffective) way or discounting colleague and teammate ideas. Thinking outside of the box can generate innovative and ingenious ideas and outcomes, but the results will flop when teammates ignore the ideas inside the box.

Naomi Karten's picture Naomi Karten
Preventing Late Tasks from Creating Late Projects

We like to think that being late on one task isn't so bad because early and late completions will average out over the course of an entire project. If you flip a coin 1,000 times, it will land on heads about 500 times and on tails about 500 times. If your project has 1,000 tasks, about 500 will finish early and about 500 will finish late, right? Wrong--and many project plans are sunk by this common misperception.

Mike Cohn's picture Mike Cohn


AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.