Software development fails to deliver, and fails to deliver value. This failure has huge economic and human impact. We need to find a new way to develop software.
The basic problem of software development is risk. Here are some examples of risk:
Schedule slips—the day for delivery comes, and you have to tell the customer that the software won't be ready for another six months.
Project canceled—after numerous slips, the project is canceled without ever going into production.
System goes sour—the software is successfully put into production, but after a couple of years the cost of making changes or the defect rate rises so much that the system must be replaced.
Defect rate—the software is put into production, but ...