 The
Brick Wall Concept
After being involved in many projects over 30 years, I have
come to the conclusion that the only way a large project can
be implemented correctly is to have rigorous testing with
a brick wall between each level, and all levels actually
performed. That is,
Programmers are expected to
deliver a working, bug-free product.
System testing does
not start until all modules have been individually tested,
and the individual programmers and project leaders have signed
off that their products are functionally stable and reliable.
Integration testing
does not start until system testing of all systems has
been completed, and the team leaders have signed off that each
system is functionally stable and reliable.
Acceptance testing
does not start until integration testing has been completed and
the team leader has signed off that the integrated system is
complete, stable, and reliable. Furthermore, acceptance testing
is not done by technical people, but by representatives of
the business, using the original business requirements documents
as references.
At any stage, if it is determined that the input criteria
have not been satisfied, then testing halts, and the stuff is
tossed back over the brick wall to the previous level. Problems
must be rectified before testing resumes or restarts. |