Project Manager's Toolkit: Practical Checklists for Systems Development

Type: Analysis
Testing is a critical success factor in any IT project. However, it is often added onto the end of a project. As a result, as a project continues, the time window for testing gets squeezed with disastrous consequences.
Quality is not something that can be bolted onto a system afterwards. It has to be part of the process. As testing has to be planned upfront, a business case must be made for this.
The following checklist outlines why building in testing is essential.
IT personnel have a limited amount of time to develop a system but users have an infinite amount of time to break it.
Users expect quality and are less and less prepared to accept shoddy goods.
Quality cannot be added to a shoddy system.
Testing at the end of a system's lifecycle will tend to show expensive to fix faults (e.g. requirements errors, bad system design, bad data model) rather than cheap ones (e.g. screen label typos).
The quality of the whole system depends on the quality of its parts. The system is only as strong as its weakest link. It is therefore essential to ensure quality at all levels.
If insufficient time is allowed for testing then:
not everything is covered increasing risk of unknowns
testing is rushed at last minute increasing risk of missing the obvious errors
attention to detail is sacrificed increasing risk of...