Post Image
11. Jun, 2019

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 Nutzen, 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.

Sobald ein Softwareprojekt keines der drei Kriterien "Kosten senken", "Gewinn erhöhen", "Kundennutzen" erfüllt, sollte die Zielsetzung der Software überarbeitet werden.

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 oder 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). Die verwendeten 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.

Erfahrungsgemäß geht der Trend in der Softwareentwickling hin zu reiner webbasierter Software die über den Browser ausgeführt wird und weg vom Thema "Mobile App" und "Desktopanwendung".

3. Nutzer & Rechtemanagement

Software wird (meistens) 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.

Zusätzlich zur Frage nach den Nutzern sollte geklärt werden wie viele Anwender parallel mit der Anwendung arbeiten. Programme die nur von wenigen Nutzern gleichzeitig (oder nacheinander) genutzt werden stellen andere Anforderungen an die Server- und Datenbankstruktur als Anwendungen mit großen Nutzerzahlen.

Sobald mehrere Nutzer und vielleicht sogar Kunden oder Gäste das System nutzen, sollte geklärt werden wie komplex das Rechtemanegement ausgebaut ist. Dieses besteht in der Regel aus verschiedenen Nutzerrollen (bsp. "Admin" oder "Nur Leserechte") und, bei ausgereiften Systemen, einem dynamischen Rechtemanagement auf Nutzerebene.

Da moderne Software in der Regel webbasiert ist, sollte sie in der Lage sein, mehrere Nutzer parallel arbeiten zu lassen und außerdem ein komplexes Rechtemanagement bieten.

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.

Moderne Cloudinfrastruktur ist meistens sicherer und komfortabler als lokale Systeme - deshalb sollte ein dezentraler Datenspeicher bevorzugt werden.

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 eines Softwareprojekts 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.

Achten Sie im Bezug auf Ihr Softwareprojekt unbedingt auf Ausbaufähigkeit und eine Verfügbarkeit von Schnittstellen in jedem eingegliederten System.

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 2019) 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.

Galactic Weg geht hier einen Spagat: angepasste Individualsoftware zum Preis und Qualität von Standardsoftware - ab 150€ im Monat. Dies ist möglich durch unsere Softwareplattform die auf wiederverwendbaren Modulen basiert.

Hier finden Sie weitere Informationen dazu: Business Application Plattform


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.