If there isn't time to do it correctly from the start, why is there always time to fix the mistakes that could have been prevented from the onset? It's this kind of thinking that Gary Sutherland uses to drive home the point of preventing nightmares in IT projects. Making sure that software quality comes first and stays a high priority throughout the project is the best way of assuring that little oversights don't become project killing mistakes. Sutherland points out how prevention almost always costs less and is more effective than a cure, and that is just as true in IT. Building in quality from the very beginning of a project helps prevent defects that strain budgets and timeframes. He also points out how costly traditional manners for testing can be:
Planning for three cycles of testing is quite common. Unfortunately, discovering that re-tests and rework cause testing to “˜spill over' into later test stages is also quite common too. As rework is discovered, quality assurance costs rise because much of the test team's time is spent testing or re-testing reworked code. Accordingly, the proportion of time that testers spend focussing [sic] on new functionality or system behaviour can drop dramatically. Treating all products delivered through the project lifecycle as testable (assurable) items is a better approach. Just like the code, documents and other artefacts [sic] are part of the overall solution, improving quality by addressing technical and business risk factors early in the lifecycle delivers higher quality software and projects.
Starting assurance as early as possible has drawbacks, of course. You're engaging the quality assurance team members for longer on each project, which naturally will cost more money on that front. However, management must be aware that this up-front cost will even out whenever large errors are avoided. Building this quality into a project can be distilled into the four critical steps that Sutherland includes: the proper mindset, identification of key artifacts, coaching of testers to use the proper processes, and recording outcomes of inspections for prioritization and future learning opportunities.