Conduct Early and Streamlined Testing

[article]
Speeding the Software Delivery Process, Part 2

the debugging.

Provide incentives for on-time completion of testing. Even if the test project leader has to change the budget, it is a good idea to provide incentives for timely work, such as a test retrospective review meeting on Kauai or at least a jolly good free lunch for the test team.

Refresh the testers. Improve test productivity by periodically sending the testers to expensive spas, to recharge their batteries and to show you really love them.

Better yet, go yourself and leave them to finish the testing. This shows them the rewards that can accrue when they are successful and get promoted to your elevated rank in the organization.

Take training programs in the key software tools and the technical environment. Ensure that everyone on the test team knows how to use the equipment and tools. Even learning to type well can improve productivity. Because of the push-pull effect, these training programs need to be taken early in the project-beyond the first third of the project, it is too late.

Use technology smartly in order to improve productivity. Email, voice mail, cell phones, and teleconferencing can be great time savers if used well.

Encourage proactive decision making within the test team. Empower team members to make their own decisions wherever possible. This helps eliminate bottlenecks caused by one person who insists on keeping all the power, or by requiring approvals from the test project leader at every step along the way. In other words, let the inmates run the asylum.

Make the feedback loop to the software engineers as fast as possible. Test software quickly after it has been written or modified, and rapidly report the test results to the authors while the code is still fresh in their minds. The longer the code is allowed to age before testing and feedback, the more the developers will have to become reacquainted with it and the more buggy the fixes are likely to be.

Monitor and manage the lengths of queues, in order to minimize wait times. Queues mean delays. They are caused by bottlenecks, which usually in turn are caused by resource imbalances. For example, there could be a long queue of problem reports, waiting for developers to work on them. Or there could be a long queue of newly coded features, waiting for the testers to get to them.

Get the project done and worry about the paperwork later (or never). Test now, focus on getting the most important bugs fixed quickly, and catch up with the test case and test results documentation later.

Initiate a brainstorming session with the test team, to help identify work-saving and streamlining measures. Sometimes useful ideas are overlooked (and these ideas often appear obvious in hindsight), simply because nobody asked.

Read Part 1: "Manage and Strengthen Testing"
Read Part 3: "Manage the Risks and the Process"

About the author

Ross Collard's picture Ross Collard

Ross Collard is a consultant who currently is working on software testing and quality assurance projects for AT&T, Cisco, GE, Lucent, and the State of California. He teaches software testing for UC Berkeley. Ross has an MS in computer science from the California Institute of Technology and an MBA from Stanford.

AgileConnection is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, TechWell.com is the place to go for what is happening in software development and delivery.  Join the conversation now!

Upcoming Events

May 04
May 04
May 04
Jun 01