Theorem: Kosten und Wert
Wenn ich professionelle Softwareentwicklung beauftrage oder betreibe muss ich mir zumindest zwei Fragen stellen:
- Wann fallen Kosten an?
- Wann bekomme ich einen Gegenwert für meine Investition?
Kosten fallen an, sobald die Entwicklung beginnt, mit jeder Stunde die für das Projekt verwendet wird. Den Wert hingegen erhalte ich wenn ein Feature released, also dem Kunden zur Verfügung gestellt wird. Wert entsteht nicht durch Analyse, Kompilieren, Testen oder Präsentation vor dem Kunden. Nicht dass es nicht wichtig wäre, aber es entsteht kein Wert, höchstens Hoffnung auf zukünftigen Wert. Wenn wir also, als kleines Beispiel, 10 Entwickler zu einem Tagsatz von €1.000 in ein Projekt stecken und die brauchen 100 Tage (½ Jahr) um das erste Feature zum Kunden zu bringen, entstehen Kosten von €1.000.000 bevor ich einen Gegenwert bekomme. Das ist ein beträchtlicher Brocken gebundenes Kapital für den ich Zinsen bezahlen muss. Das ist aber nicht alles. In der Softwareentwicklung geht nicht immer alles gut und es besteht ein nicht unwesentliches Risiko, dass die Software nicht wie geplant funktioniert wenn sie ausgeliefert wird. Also brauchen wir eine Million Euro Risikokapital! Das erhöht die Zinsen, damit die Kosten und prägt die professionelle Softwareentwicklung.
Um die Kosten professioneller Softwareentwicklung möglichst gering zu halten, müssen wir daher das gebundene Kapital reduzieren und das Risiko verringern. Daher: „Release early, release often!“ Interessanterweise kommt die Open Source Gemeinde zum selben Schluss (siehe Eric S. Raymond; The Cathedral and the Basar) wenn auch von einem anderen Ausgangspunkt.