Developers, on the other hand, start to wind down in this phase, primarily addressing issues that arise, but--hopefully--not adding anything new. In fact, developers often start looking for a new challenge as the application moves inexorably toward that programmer purgatory known as maintenance.
Maintenance and Enhancement
This is the phase where the ratio usually gets out of whack. If I tell you that you need more testers than developers, you'll think I'm crazy. But it's true.
Look at it this way. Let's say you have a 10,000-line application to which you're adding some features as well as fixing some problems, and let's estimate that you will add or change 25% of the code. So, from a development point of view, you have a quarter of the development effort originally required to create the application.
But from a testing point of view, you still have 100% of the code to test, because of the well-known phenomenon of unexpected impact from changes. An apparently tiny, isolated code change can have far-reaching effects. Examples abound, but the most famous is the single-line (some say single-character) aberration that brought down AT&T's network in January 1990 and cost the company and its customers more than a billion dollars.
So the rule is that all features of an application, whether new or old, are tested every time there are any changes, no matter how theoretically minor. Testing old features is called "regression testing," which refers to the problem of a prior capability being negatively affected by new features or modifications.
A similar situation arises when a new application is created by modifying an existing one, or by porting one to a new platform. From a development point of view, the level of change may be only a fraction of the original code, but from a testing point of view, it's a completely new application.
What this all means is that it takes fewer developers to enhance or maintain an application, but the same number of testers as when it was brand new. In fact, it may take even more testers, since successive releases of applications almost always add new functionality without taking any away. //
Linda Hayes is CEO of WorkSoft Inc. She was one of the founders of AutoTester. She can be reached at firstname.lastname@example.org.