Post Image
23. Jul, 2018

Softwareentwicklung: so planen Sie Ihr Softwareprojekt richtig


In diesem Artikel möchten wir einige häufig auftretende Fragestellungen, die während der Vorbereitung eines Softwareprojekts und beim Software Projektmanagement auftreten, beantworten. Viele Projekte in der Softwareentwicklung stehen - verursacht durch schlechte Planung - auf einem wackeligen Fundament. Dies führt häufig zu vermeidbaren Mehrkosten und Verzögerungen. Die folgenden Punkte sollen dazu beitragen mögliche (Planungs-) Fehler frühzeitig zu erkennen und wichtige Fragestellungen von Anfang an zu berücksichtigen.

1. Nutzen & Ziele der Software

Viele Softwareprojekte starten ohne konkret definierten Nutzen und leiden dadurch unter Fehlentwicklungen und langen Entwicklungszyklen. Vor Beginn der Entwicklung sollte daher der konkrete Nutzen der Software klar definiert werden. In den meisten Fällen sollte sich diese Frage nicht nur um einfache Zielsetzungen wie “die Software sollte simpel zu bedienen sein”, sondern um konkret wirtschaftlichen Nutze, drehen. Darunter fallen in der Regel folgende drei Kategorien oder Abwandlungen davon:

  • Kosten senken
  • Gewinn erhöhen
  • Extranutzen für Kunden

Jede Software die in eine dieser Kategorien fällt, bietet langfristig auch einen Zusatzgewinn für die Firma und rechtfertigt die Preise für die Softwareentwicklung. Ziele sollten ebenfalls konkret definiert werden, soweit diese dazu beitragen einen tatsächlichen Mehrwert zu generieren. Bspw. "Kosten senken durch niedrigere Bearbeitungszeit" oder "Gewinn erhöhen durch höheres Auftragsvolumen" können valide Ziele darstellen.

2. Plattform

Eine zentrale Fragestellung während der Planung eines Softwareprojekts sollte sich mit der benötigten digitalen Plattform befassen. In den meisten Fällen geht es um die Entscheidung zwischen Mobile und Desktop. Mobile umschließt Smartphones und Tablets und ebenfalls Mobile Apps als Anwendungen; Desktop spricht von klassischen Desktop PCs, Laptops und embedded Systemen (integrierte Hardware). Genutzte Plattformen schließen sich nicht aus - sog. Hybridanwendungen die mit modernen Frontend-Frameworks (bspw. Vue.js, Angular.js oder React) erstellt werden lassen sich meistens ohne großen Mehraufwand von Desktop auf Mobile portieren und vice versa.

3. Nutzer

Software wird (häufig) von Menschen genutzt. Dabei spielt es eine entscheidende Rolle ob diese Nutzer mit den Funktionsweisen der Software vertraut sind oder ob sie sich selbstständig einarbeiten müssen. Vertraute Nutzer sind bspw. Mitarbeiter die durch die zu entwickelnde Software entlastet werden und den Nutzen der Software von Anfang an verstehen. Selbstständig einarbeiten müssen sich individuelle Endverbraucher die erst vom Nutzen der Software überzeugt werden müssen oder noch nicht mit dem konkreten Anwendungsfall vertraut sind. Parallel zur Frage nach den Nutzern sollte geklärt werden wie viele Anwender parallel mit der Anwendung arbeiten. Programme die nur von wenigen Nutzern parallel (oder nacheinander) genutzt werden stellen andere Anforderungen an die Server- und Datenbankstruktur als Anwendungen mit großen Nutzerzahlen.

4. Storage-Standort & Datenschutz

Der physische Standort der Datenspeicherung spielt für mehrere Faktoren eine wichtige Rolle. Viele Unternehmen, gerade in der Industrie, arbeiten mit sensiblen Daten. Diese sollen häufig ohne einen Zugriff von außen, also in der Firma selbst (“On-Prem-Software”), gespeichert werden. Im Gegensatz dazu werden viele moderne Anwendungen dezentral in der Cloud - häufig als Software as a Service (“SaaS”) - ausgeführt und das Interface über das Web an den Endnutzer übertragen. Cloud Computing bietet den Vorteil, dass Daten immer verfügbar (vor allem mobile) und in der Regel gut gesichert sind. Außerdem benötigt Cloud Software keine manuellen Updates, da dies automatisch und zentral auf dem Server geschieht. Rechenintensive Anwendungen können in der Cloud auf effizienten Servern deutlich schneller als auf mobilen Endgeräten ausgeführt werden. Es gibt alternativ auch die Möglichkeit sensible Daten innerhalb der Firma lokal und die Anwendung in der Cloud zu speichern. Dies bietet den Vorteil, dass die Daten zwar physisch beim Kunden liegen, die Anwendung aber theoretisch von überall aus abrufbar ist. Ein zweiter Aspekt der gerade in letzter Zeit an Bedeutung gewonnen hat ist Datenschutz: nach neuem DSGVO / GDPR Gesetz muss Storage sich lokalisieren lassen. Sprich: Sie benötigen entweder einen Auftragsdatenvertrag mit dem Storage Anbieter oder speichern die Daten firmenintern.

5. Drittsysteme & Schnittstellen

Komplexe Anwendungen kommunizieren häufig mit externer Hardware oder Schnittstellen von fremden Softwaresystemen (“APIs”) um so benötigte Daten zu extrahieren. Ein Beispiel wäre "Google Maps": viele Anwendungen greifen auf Google's Kartentechnologie zurück, da sich diese kaum selbst entwickeln lässt. In der Kalkulation ist zu berücksichtigen ob durch die Benutzung von Schnittstellen Lizenzgebühren anfallen und welche Nutzungslimits bestehen (Google Maps bspw. ist durch ein tägliches Limit an gratis Anfragen reguliert). Viele Daten externer Systeme sind außerdem nicht direkt und ohne weitere Hilfe durch zwischengelagerte Hardware verfügbar. Ältere Maschinen stellen Sensordaten zwar häufig bereit, diese werden jedoch als große Textdateien in einem für moderne Schnittstellen umständlich lesbaren Format gespeichert. Es braucht also einen Zwischenhub der diese Daten in Echtzeit ausliest und in einem zeitgemäßen Format als Schnittstelle verfügbar macht.

6. Preise für Softwareentwicklung

Eine der zentralen Fragen in der Softwareentwicklung ist: "was kostet es diese Software zu entwickeln?". Die Preisfrage hängt in der Softwareentwicklung und bei der suche nach passenden Softwareentwicklern von verschiedenen Faktoren ab. Individualsoftware ist teuer - das liegt in der Natur der Sache, da mehrere Softwareentwickler und Projektmanager mit einer mehrjährige Ausbildung über einen längeren Zeitraum an der Umsetzung eines Softwareprojekts arbeiten. Ein erfahrener Freelancer nimmt (Stand 2018) einen Stundensatz von rund 120€ bis 200€ - dieser kann natürlich nicht pauschalisiert werden und unterscheidet sich von Anwendungsfall zu Anwendungsfall. Ins Ausland ausgelagerte Softwareentwickler scheinen auf den ersten Blick deutlich günstiger zu sein. Dafür fallen dabei meistens Extrakosten durch Projektmanagement und Kommunikationsprobleme (und dadurch Fehlentwicklungen) an, was diesen vermeintlichen Preisunterschied häufig zunichte macht. Preise sollten von Anfang an transparent kommuniziert werden und ein Kündigungsrecht für beide Parteien klar definiert werden.


Sollten Sie noch auf der Suche nach einem passenden Software-Anbieter sein, sprechen Sie mit uns! Über unseren interaktiven Projektplaner können Sie sich mit wenigen Klicks ein Angebot einholen.