Certain tasks are often left until late in the process flow before being done. It can be extremely cost effective to do these tasks earlier in the process.
- Failure gets more expensive the "closer" the product gets to the customer
- Lack of understanding of the optimal order for tasks to be completed
- bottlenecks create workarounds that are not optimal.
Instead of waiting till something pops out of the end of a process to test it, the testing is moved to as early as is practical in the process. Sometimes a subset of the testing is done earlier.