In a conventional software development project, testing happened right before the software was released into production. This meant that if defects or usability concerns were discovered, the launch would be postponed until those issues were resolved. In this approach, testing became a significant bottleneck, making it difficult for projects to be completed by the set deadlines. Because development and quality assurance (QA) were different entities, projects could not adapt to shifting requirements and expectations, resulting in unfavorable business results.