Individualprojekte scheitern auf wenige, vorhersehbare Arten. Der Umfang wächst, weil jede Abteilung Wünsche ergänzt, deshalb halten wir die erste Version schriftlich fest und führen eine getrennte Liste für später. Das System bildet ab, wie die Geschäftsführung glaubt, dass gearbeitet wird, und nicht, wie tatsächlich gearbeitet wird, deshalb entwerfen wir mit den Menschen, die die Arbeit machen, und testen jede Iteration an echten Fällen. Das Wissen liegt bei einem einzigen Anbieter, deshalb wird der Code in verbreiteter Technologie und mit klarer Struktur geschrieben, die auch ein anderer Entwickler lesen kann. Und die Datenmigration wird unterschätzt, deshalb werden bestehende Daten am Anfang geprüft und nicht in der letzten Woche.