The Incremental Commitment Spiral Model: Principles and Practices for Successful Systems and Software