Anwendungsentwicklung

Zehn Tipps für kosteneffiziente Softwareprojekte

19.02.2009 von Peter Schrey
Wie Sie die Kosten der Softwareentwicklung ohne großen Aufwand im Griff behalten.

Um Einsparungen in der Softwareentwicklung zu erzielen, sind nicht zwangsläufig große Umwälzungen auf Management-Ebene oder die Einführung Bahn brechender Methoden und Techniken erforderlich. Auch im Kleinen gibt es viele Möglichkeiten, um die Ausgaben in neuen und laufenden Projekte zu senken und heimliche Kostentreiber zu eliminieren. Vorraussetzung ist allerdings, dass Sie immer den Business Case und den Nutzen der Software für Ihr Unternehmen im Auge behalten. Dann fällt es Ihnen leichter, sich auf die wesentlichen Funktionen konzentrieren. Zudem können Sie die Projektinteressen im Unternehmen besser vertreten und gute Rahmenbedingungen für Ihr Projekt schaffen.

Die folgenden Tipps können helfen, die Planung, Konzeption und das Management von Softwareprojekten kosteneffizienter zu gestalten:

Komplexität reduzieren

1. Fokus auf Kernfunktionen: Konzentrieren Sie sich bei der Definition der Anforderungen auf die Kernfunktionen der umzusetzenden Anwendung. Das Pareto-Prinzip gilt in der Regel auch in der Softwareentwicklung. Demnach werden 80 Prozent der Funktionalität einer Anwendung durch 20 Prozent des Funktionsumfangs erbracht. Konzentrieren Sie sich auf diese 20 Prozent!

2. Defensiver Technikeinsatz: Vermeiden Sie technische Spielereien. Es muss nicht immer jedes neueste Feature genutzt werden. Wägen Sie den Einsatz neuer Techniken sorgfältig ab, auch wenn diese eine höhere Entwicklereffizienz und schnelle Ergebnisse versprechen. Grundsätzlich gilt: Je mehr Funktionen, desto komplexer und damit aufwändiger und teuer wird die Anwendungsentwicklung.

3. Einsatz vorgefertigter Komponenten: Prüfen Sie, ob Sie verfügbare Komponenten, Plattformen und Produkte nutzen können. Wenn es sich um nicht allzu komplexe Teillösungen handelt, kann das viel Aufwand ersparen. Allerdings ist eine "Buy"-Entscheidung nicht in jedem Fall der richtige Weg. Wenn die Komponenten erst "hingebogen" werden müssen, bis sie allen Anforderungen gerecht werden, ist das aufwändig und birgt Folgerisiken - etwa den Verlust der Release-Fähigkeit.

Bestehende Potentiale ausnutzen

4. Nutzung von Outsourcing-Potenzialen: Ziehen Sie die externe Entwicklung von Teillösungen in Betracht. Spezialanbieter entwickeln bestimmte Funktionen unter Umständen günstiger. Prüfen Sie dabei auch bestehende Offshore- und Nearshore-Optionen. Möglicherweise können Sie einfach und risikolos von Kostenvorteilen in Niedriglohnländern profitieren.

5. Schlanke und offene IT-Architektur: Die IT-Architektur sollte schlank, aber gleichzeitig offen für spätere Erweiterungen sein. Vermeiden Sie einen komplexen Anwendungsrahmen. Implementieren Sie nur das, was Sie direkt benötigen und entwerfen Sie die Architektur so, dass sich künftige Funktionen in Form von Komponenten "anbauen" lassen.

6. Nutzung von Erfahrungen: Frühe Fehler können sich zu einem späteren Zeitpunkt zu Kostentreibern entwickeln. Unerfahrene Mitarbeiter sind daher ein Projektrisiko. Zumindest an den neuralgischen Punkten eines Projektes - etwa dem Architekturdesign oder der Projektplanung - sollten Sie den Projektbeteiligten daher erfahrene Mitarbeiter oder externe Berater zur Seite stellen.

7. Stabile Anforderungen und verbindliche Absprachen: Sorgen Sie für stabile Anforderungen und klare Erwartungen an das Softwaresystem sowie für verbindliche Absprachen zwischen den Projektbeteiligten und strukturierte Change-Request-Verfahren. Dieses Vorgehen wirkt auf den ersten Blick etwas bürokratisch, letztlich hilft es aber, häufige Kurswechsel im Projektverlauf und daraus resultierende arbeitsintensive Nacharbeiten zu vermeiden.

Geschickte Planung senkt Kosten

8. Kalkulation interner Ressourcen: Bewerten Sie die Verfügbarkeiten und Kapazitäten der internen Projektbeteiligten realistisch. Mitarbeiter, die beispielsweise zusätzlich zu ihrem Tagesgeschäft "nebenbei" im Projekt mitarbeiten, verursachen oft versteckte Mehrkosten, Terminverschiebungen und vor allem Qualitätsprobleme.

9. Stufenweise Projektplanung: Gehen Sie bei der Projektplanung konsequent in Stufen und Iterationen vor: Definieren Sie für die einzelnen Stufen die jeweils umzusetzenden Funktionen. Die wichtigsten Funktionen sollten Sie dabei für die ersten Stufen einplanen. Auf diese Weise erzielen Sie den größtmöglichen Nutzen bei optimalem Mitteleinsatz.

10. Realistische Aufwandsplanung: Planen Sie die Aufwände eher vorsichtig. Zu optimistische Einschätzungen - "das ist schnell gemacht", "das ist ja fast fertig" - verfälschen die Kalkulation. Hektisches Nacharbeiten und Terminverzüge verursachen letztlich meist mehr Kosten als sauber geplante Projekte. (sp)