Im Tagesgeschäft kommt mir oft eine verschwommene Verwendungen des Wortes Projekt unter. Alles an dem wir Arbeiten wird als Projekt deklariert. Das ist allerdings so nicht richtig und hat Auswirkungen auf unser Denken. Wir arbeiten eher an Produkten. als an Projekten. Die Arbeit an sich mag Teil eines Projektes sein. Aber das Ergebnis bzw. das Artefakt ist immer ein Produkt.
Ein Projekt hat ein spezifisches Ziel und meist einnen begrenzten Zeitrahmen und/oder Budget. Produkte haben das nicht. Produkte werden von Zeit zu Zeit verändert, um sie z.B. neuen Anforderungen, geänderten Umständen oder einfach aus technologischer Sicht zu verbessern.
Wir arbeiten an Produkten, wenn wir in Projekten arbeiten.
Letztlich spielt es dafür keine Rolle, ob man eigene Software-Produkte herstellt oder es als Dienstleister für Dritte tut. Das Ergebnis ist das Selbe und immer ein Produkt.
Jedes Stück Software, dass ich jemals geschrieben habe, fand sich in einem Produkt wieder. Es erzeugte immer ein neues Artefakt, eine neue Version. Größere, zusammengehörende Änderungen wurden in Projekten umgesetzt. Die Zusammgenhörigkeit kann dabei inhaltlicher oder technischer Natur sein. Am Ende gab es immer einen neuen Release, eine neue Version des Produkts.
Folgeüberlegungen
Warum ist das überhaupt so wichtig? Es macht einfach einen Unterschied im Denken, wenn man über die Entwicklung eines Produkts spricht statt über die Umsetzung eines Projekt. Befasst man sich mit einem Projekt ist es zu meist primär ein konkretes „inneres Ziel“ zu erfüllen. Entwickelt man hingegen ein Produkt, hat man eher die Sicht von „draußen“ auf etwas und beachtet damit auch ganzheitlicher weiterreichende Qualitätsaspekte. Der Fokus geht weg von der reinen einmaligen Implementierung von Code einer danach nie mehr zu ändernden Software (ja genau…). Der gesamte Lebenszyklus und damit auch die nicht-funktionalen Aspekte eines Software-Produkts bis hin zur Berücksichtigung der „total cost of ownership“ müssen berücksichtigt werden.
Etwas greifbarer ausgedrückt: Man kann noch so gut darin sein Brot zu backen (Projekt), wenn es die Kunden nicht überzeugt und am Ende nicht gut verkauft. Letzteres ist schliesslich für den Gesamterfolg entscheidend. Ersteres (meist) eine Voraussetzung. Sich mit dem Backen alleine zu befassen greift also zu kurz.
In der Konsequenz geht das Verständnis auch weg vom klassischen Festpreis, „einmal-zahlen-und-alles-für-immer-haben“ Denken weg, zu einem Verständnis von Softwareentwicklung als eine Dienstleistung, welche von Zeit zu Zeit etwas kostet. Diese Perspektive bedeutet echte Produktentwicklung unter Berücksichtigung von Qualitätsaspekten wie Wartbarkeit, Usability, technischen Upgrades, Produkterfolg und so weiter.
tl;dr
Sprache lenkt unser denken: Reden wir in der Entwicklung von Produkten, dann ist intuitiver klar, dass der gesamte Lebenszyklus betrachtet werden muss. Reden wir von Projekten, dann geht es nur um einen kleineren Teilzyklus (die Entwicklung).
Schreibe den ersten Kommentar