Schedule slips -> short release cycle The day of the delivery comes and the software won&#x2019;t be ready for another 6 months Short release cycles, few months at most. Weekly iterations within a release cycle.
Project canceled -> smallest release possible After numerous slips, the project is canceled without going into production Ask the customer to choose the smallest release that makes the most business sense
System goes sour -> suite of tests After years in production, the cost of change is so high that the system must be replaced Create & maintain a comprehensive suite of tests, which are run after every change
High defect rate -> unit tests The defect rate is so high that the system isn&#x2019;t used Tests are created to exercise all functions in the system
Requirements misunderstood -> customer is part of the team The software does not solve the business problem that was originally posed Customer is integral part of the team
False feature rich -> highest priority tasks added Lots of interesting (fun to program) features, none of which makes the company money Insists that only the highest priority tasks are addressed
Staff turnover -> accountability / human contacts After a year, all the good programmers on the project hate the software and leave Programmers accept responsibility for estimating and completing their work; encourages human contact
Working software is the principal measure of progress
Transcript of "Songbird Development Survival Guide"