Fixing a fault later in the software development lifecycle increases costs exponentially because it requires rework of designs, code, and testing phases already completed. Finding a defect during development or requirements phase is cheapest, making late discovery much more expensive than early detection.