Softwareprojekte können teuer und aufwendig sein. Wer viel Erfahrung mit ihnen hat, kennt Fälle von erheblich höheren Kosten als ursprünglich geplant waren. Oder Projekte sind sogar gescheitert und eingestellt werden.
Das hat unterschiedliche Gründe. Im Allgemeinen gilt die Komplexität in Softwareprojekten als höher, als in anderen Vorhaben. Das hat seine Gründe in der notwendigen Spezialisierung, der rasanten technischen Entwicklung, der Vielzahl noch ungelöster Probleme (Innovation) und generell in einer mangelnden Planbarkeit bei gleichzeitiger Flexibilität.
Wir stellen hier einige häufige Kostenfallen vor und geben Tipps, wie sie vermieden werden können
Auf den ersten Blick scheint es vielen richtig, vor Beginn eines Projektes einen sehr guten Plan zu entwerfen. In der Praxis entstehen aber bei der Betrachtung des geschaffenen Ergebnisses neue Anforderungen und Wünsche. Diese sind oft nicht mehr vereinbar mit der wie geplant umgesetzten Architektur.
Je länger geplant wurde, desto mehr Potential für Veränderungen ist vorhanden.
Anders gesagt: Je länger Sie planen, ohne sich mit der Realität zu konfrontieren desto mehr können Sie sich irren.
Dieses Paradoxon kann nur gelöst werden, indem Sie zwar vorausschauend planen, aber in kleinen Schritten vorgehen und durch häufiges Testen ihren Plan anpassen.
In vielen Softwareprojekten herrscht von Entscheiderseite die Vorgabe, Wunschvorstellungen umzusetzen. Wenn diese Wunschvorstellungen aber nicht umsetzbar oder noch schlimmer, gar nicht sinnvoll sind, dann entstehen Bandwurmprojekte, die kein echtes Problem lösen.
Softwareprojekte sollten lösungsorientiert vorgehen und wenn etwas schwierig oder schwer realisierbar ist, so sollte das akzeptiert werden.
Cloudlösungen für Server schlagen schnell mit einigen hundert Euro pro Monat zu Buche. Daher stoßen sie bei Entscheidern immer noch häufig auf Ablehnung. Wenn Serverinfrastruktur allerdings selbst betrieben wird, können schleichend hohe Kosten entstehen.
Es müssen SpezialistInnen im Team gehalten werden, die keine produktiven Funktionen entwickeln. Positionen müssen doppelt besetzt werden. Für 24/7 Support bereits muss schon ein größeres Team bereitgestellt werden.
Nur wer ein mittleres fünfstelliges Budget, umgelegt auf Vollzeitstellen, für Infrastruktur investieren kann und will, sollte auf selbstverwaltete Lösungen zurückgreifen.
Technische Schuld müssen Sie sich vorstellen, wie all die kleinen Arbeiten in Haus, Garten oder Arztbesuche, die Sie immer wieder vor sich herschieben. Weil sie Zeit kosten und erst einmal keinen Gewinn versprechen, landen nötige Verbesserungen und Umbauten nicht in der Roadmap von Softwareprojekten.
Entscheider in solchen Projekten können diese Faktoren auch gar nicht einschätzen, weshalb “von oben” so gut wie nie die Anweisung herausgegeben wird: “Jetzt einmal gut aufräumen”
Das Problem ist, dass Kosten in Softwareprojekten exponentiell mit der Menge eingesetztem Code wachsen. Jede Stelle, die bei der Arbeit stört, mit berücksichtigt werden muss oder technisch veraltet, macht Ihren Prozess nachhaltig langsamer und teurer.
Im Schlimmsten Fall (der gar nicht so selten auftritt) wird ein Projekt fast handlungsunfähig. Dann wird häufig ein Neubau geplant. Diese Situation lässt sich vollständig durch konstante Verbesserungen (Refactoring) und durch die Erkenntnis, dass die Meinung des technischen Personals berücksichtigt werden sollte verhindert werden.
Gerade Startups stehen vor der Entscheidung, ob sie eine Agentur beauftragen oder ein eigenes Team aufbauen sollen. Auf den ersten Blick erscheint ein eigenes Team günstiger. Daher werden (häufig weniger erfahrene) EntwicklerInnen angestellt.
Doch ein gutes Team aufzubauen ist schwierig und erfordert neben dem richtigen Personal die richtigen Prozesse und viel Erfahrung.
Weil sie das nicht richtig in den Griff bekommen, verfügen viele Startups über große Teams die relativ wenig Output schaffen. Das kann ein erhebliches Risiko werden.
Wer sich entscheidet, beispielsweise um technologische Innovation zu betreiben ein eigenes Team zu führen, kann sich dabei konsequent von externen, erfahrenen Dienstleistern unterstützen lassen.
Projektmanagement, Produktmanagement, Prozesse – all das kostet Zeit und wird daher gerne eingespart. Und das ist auch prinzipiell nicht falsch. Doch in Softwareprojekten werden so viele Probleme gelöst und Herausforderungen angegangen, dass ein gewisses Maß an Unterstützung für das Entwicklungsteam erheblich Kosten einsparen kann.
Denn Betreuung und Support sind nicht so teuer, wie schlecht ausgelastete oder falsch eingesetzte EntwicklerInnen.
Software ist fast noch komplizierter zu testen, als zu entwickeln. Alleine für eine Registrierungsfunktion beispielsweise, gibt es viele Möglichkeiten, was falsch eingegeben werden kann, doppelt nicht vorkommen darf oder anderweitig nicht richtig ist.
Wenn ein Fehler schnell gefunden wird, kann er meist leicht und von den Personen, die daran gearbeitet haben beseitigt werden. Später kann das schwierig werden.
Versteckte Mängel lassen sich durch eine konsequente Investition in automatisierte Tests und manuelle Qualitätssicherung vermeiden. Und am wichtigsten: In dem Deadlines nie vor Qualität gestellt werden.
Wir haben hier einige Phänomene vorgestellt, die teilweise alleine 30 bis 50% der Kosten in Softwareprojekten verursachen können. Oder eben zum Stillstand eines Projektes führen.
Bei devolute beschäftigen wir uns seit Jahren intensiv mit der Frage, wie solche Probleme in den Griff bekommen werden können. Wir sehen sie, in unterschiedlicher, aber meist starker Ausprägung bei den meisten Projekten, mit denen wir in Berührung kommen.
Deshalb haben wir für die häufigsten Fehler einfache und klar umsetzbare Workflows entwickelt, zu denen wir gerne in einem individuellen Workshop beraten.