Haben Sie eine Produktvision und möchten Sie diese in die Realität umsetzen, wissen jedoch noch nicht, wie Sie vorgehen sollen? Wir erklären Ihnen in diesem Wissensbeitrag, wie die Software-Entwicklung von der Anforderungsanalyse bis zur Veröffentlichung gemeinsam mit einer Software-Agentur abläuft. Damit sind Sie für Ihr nächstes Projekt bestens informiert!
Lesezeit
5 Minuten
Die Software-Entwicklung besteht aus 7 Schritten:
Es gibt verschiedene Herangehensweisen, Software wie Webanwendungen oder mobile Apps zu entwickeln. Grundlegend gibt es zwei verschiedene Lager, welche häufig diskutiert werden:
Bei der Auswahl des richtigen Vorgehensmodells wird meist geprüft, ob die dahinter stehende Aufgabe kompliziert oder komplex ist. Eine komplizierte Aufgabe kann mit Wissen planbar gelöst werden und eignet sich daher typischerweise für die plangetriebene Software-Entwicklung. Eine komplexe Aufgabe besteht aus vielen verschiedenen Zusammenhängen, die miteinander verbunden sind. Folglich ist die Aufgabe nicht gut planbar und eignet sich eher für die agile Software-Entwicklung.
Welches Vorgehensmodell jedoch am besten zu Ihrer Software-Entwicklung passt, lässt sich immer nur individuell entscheiden. Für den weiteren Verlauf des Beitrags werden wir die Prozessschritte beider Vorgehensmodelle aufgreifen, auch wenn dabei bedacht werden muss, dass diese in der plangetriebenen Entwicklung einmalig und in der agilen Entwicklung mehrmals durchgeführt werden. Der Ablauf ist etwas anders, das Ergebnis jedoch das gleiche, nämlich eine funktionierende Software.
Einer der ersten Aufgaben in Software-Projekten ist die Analyse der Anforderungen. Hierbei finden Sie, entweder selbst oder gemeinsam mit Ihrer Software-Agentur, heraus, welche Funktionalitäten Ihre Software bieten soll. Dabei werden zwei Arten von Anforderungstypen unterschieden:
Das Resultat der Anforderungsanalyse ist bei plangetriebenen Modellen das Lastenheft, welches eine Auflistung aller Anforderungen an Ihre Software ist. Bei agilen Modellen sind es User-Stories, die fortwährend erarbeitet und dokumentiert werden.
Im nächsten Schritt wird das Design erarbeitet. Jede Software hat andere Anforderungen an das Design. Eine mobile App, welche Ihren Kunden zur Verfügung gestellt wird, hat höhere Erwartungen an das Design, als eine interne Webanwendung, die ausschließlich von Ihren Mitarbeitern genutzt wird. Dementsprechend ist dieser Schritt mal größer und mal kleiner.
Grundlegend gibt es auch hier zwei Unterscheidungen:
Da die Gestaltung oftmals hohe Relevanz hat, werden Sie in dieser Phase regelmäßig mit einbezogen. Wichtig ist es, Änderungswünsche früh mit Ihrer Software-Agentur zu teilen, damit diese berücksichtigt werden können.
Das Resultat dieser Phase sind klickbare Design-Prototypen, die Ihnen einen Eindruck geben, wie die Webanwendung oder mobile App später einmal aussehen und sich anfühlen wird. Diese werden in der Regel in Design-Tools wie Figma oder Adobe XD bereitgestellt.
Bei diesem Schritt geht es darum, aus den Anforderungen eine modulare, skalierbare, erweiterbare und testbare Architektur zu entwerfen. All dies sind Eigenschaften, die dazu führen, dass Ihre Software später technisch erfolgreich ist und bleibt.
Die Architektur plant alle Module, Komponenten und Schnittstellen der Software. Aus individuell abgestimmten Anforderungen werden meist auch individuelle Software-Module. Oftmals gibt es für bereits bekannte Probleme sogenannte Entwurfsmuster, welche die Planung erleichtern.
Bei sich häufig wiederholenden Anforderungen wird gerne auch auf Standardsoftware zurückgegriffen. Dies ist zum Beispiel der Fall, wenn die Verwaltung von Inhalten gewünscht ist. Statt eine eigene Lösung zu entwickeln, greifen Agenturen dann auf ein Content-Management-System (CMS) zurück, um Kosten und Zeit zu sparen. Ähnliche Herangehensweisen finden sich in vielen Bereichen, unter anderem auch bei CRM- oder Bezahlsystemen.
Das Resultat dieses Schritts ist ein dokumentierter Entwurf der Software-Architektur. Auch wird an dieser Stelle die Entscheidung getroffen, ob die Software in der Cloud oder auf eigenen Servern betrieben wird.
In diesem Schritt geht es auch endlich an den wesentlichen Teil, der Implementierung Ihrer Software. Hierbei werden die Anforderungen in Code umgewandelt. Die Entwicklung teilt sich in drei Bereiche auf:
Je nach Vorgehensmodell und Projektgröße gibt es hierbei ein- oder mehrere Feedbackschleifen. Das Resultat dieses Schritts ist eine funktionierende Software, die jedoch noch nicht veröffentlicht ist.
Der Prozessschritt der Qualitätssicherung ist ebenfalls ein essenzieller Bestandteil der Software-Entwicklung. Dieser kann, je nach Vorgehensmodell, teilweise vollständig in die anderen Schritte integriert werden oder in einem separaten Schritt durchgeführt werden. Die Qualitätssicherung umfasst vor allem die folgenden Aufgaben:
Die Qualitätssicherung stellt sicher, dass die Software den funktionalen und nicht-funktionalen Anforderungen entspricht und demnach die notwendige Qualität aufweist.
Nun haben Sie eine fertige und auf Herz und Nieren geprüfte Software, welche nun veröffentlicht wird. Je nachdem, ob Sie die Infrastruktur selbst betreiben oder auf Cloud-Dienste zurückgreifen, muss das Backend dort bereitgestellt werden. Beim Frontend hingegeben gibt es zwei Unterscheidungen:
Letzte Prüfungen und Tests werden durchgeführt, um die Veröffentlichung abzurunden. Optional werden Anwender der Software geschult, um den Einstieg zu erleichtern.
Selbst die ausgefeilteste Software wird nicht ohne den Schritt Support und Wartung auskommen. Dabei geht es darum, die Software optimal am Laufen zu halten und Probleme zu lösen.
Der Support hat die Aufgabe, bei Fragen oder Problemen im Zusammenhang mit der Software zu unterstützen.
Das Ziel der Wartung ist es, die Sicherheit und Performance durch Upgrades auf einem hohen Niveau zu halten. Außerdem ist ein weiteres Ziel, gemeldete Fehler zu identifizieren und Patches einzuspielen, um diese zu beseitigen.
Haben Sie noch Fragen zum Beitrag? Oder fehlen Ihnen wichtige Informationen? Melden Sie sich gerne bei uns! Wir freuen uns immer auf Feedback und möchten unseren Beitrag so informativ wie möglich gestalten.
Wir sind Dakitec: eine junge, agile Software-Agentur, die maßgeschneiderte Webanwendungen und Apps entwickelt. Als Ihr technologischer Sparringspartner übersetzen wir Geschäftsprozesse in exzellente IT-Lösungen. Unser Versprechen: heute die Software für Ihre Geschäftsziele von morgen entwickeln.