Trace Symptoms to Root Causes Symptoms Root Causes Best Practices Needs not met Insufficient requirements Develop Iteratively Requirements churn F Ambiguous communications Modules do not fit Brittle architectures Manage Requirements Hard to maintain Overwhelming complexity Use Component Architectures Late discovery Undetected inconsistencies Poor quality Poor testing Poor performance Subjective assessment Model Visually(UMI Colliding developers Waterfall development Continuously Verify Quality Build-and-release Uncontrolled change Insufficient automation Manage Change