Anwendungsentwicklung
Wie sich neue Software effizient, schnell und sicher herstellen lässt
Organisationen müssen digitaler werden, um schneller wachsen, im Wettbewerb bestehen und Krisen besser bewältigen zu können. Das haben auch die deutschen Industrieunternehmen erkannt. Über drei Viertel sind der Ansicht, dass Firmen mit digitalisierten Geschäftsmodellen besser durch Krisen wie die Corona-Pandemie kommen, fast zwei Drittel konnten durch die Digitalisierung einen Innovationsschub erfahren, so eine repräsentative Umfrage des Digitalverbands Bitkom.
Die digitale Transformation ist allerdings ohne neue Software nicht umsetzbar. Die Anwendungsentwicklung und der Prozess zur Herstellung von Software gewinnen daher zunehmend an Bedeutung.

Was ist Anwendungsentwicklung?
Anwendungsentwicklung beschreibt den Prozess zur Herstellung von Software. Sie ist ein Teil der allgemeinen Software-Entwicklung, bei der es nicht nur um Applikationen, sondern auch um die Bereitstellung und Weiterentwicklung von Betriebssystemen, Middleware, Firmware oder Infrastructure as Code geht.
Prinzipiell lässt sich bei der Anwendungsentwicklung zwischen der Herstellung von Standardsoftware und Individualsoftware unterscheiden. Während Standardapplikationen einen festen Funktionsumfang aufweisen, der meist gestaffelt in Paketen oder Modulen angeboten wird, stellt man bei der Entwicklung von Individualsoftware Anwendungen her, die spezifisch auf die Anforderungen eines Unternehmens beziehungsweise einer Fachabteilung abgestimmt sind.
Welche Phasen der Anwendungsentwicklung gibt es?
Die Anwendungsentwicklung lässt sich in folgende Phasen einteilen:
Definition der Leistungsmerkmale und Funktionen: Zunächst gilt es, die Anforderungen der internen oder externen Kunden zu analysieren und detailliert festzuhalten. Dabei geht es nicht nur um rein technische Aspekte, auch Ansprechpartner, Kommunikationswege, Anforderungen an Systemintegration, Sicherheit und Bedienung sowie der zeitliche Ablauf des Projekts sollten in dieser Phase abgestimmt und dokumentiert werden.
Definition der Rahmenbedingungen: Sind die Anforderungen und Ziele klar, werden die Rahmenbedingungen für die Anwendungsentwicklung festgelegt: Welche Softwarearchitektur soll zum Einsatz kommen, welche Programmiersprachen und Datenbanken? Soll die Applikation cloud-nativ, lokal oder hybrid betrieben werden? Welche Abhängigkeiten und Schnittstellen sind zu beachten?
Umsetzung: Nun beginnt die eigentliche Anwendungsentwicklung, bei der die in Schritt Eins festgelegten Anforderungen mit den in Schritt Zwei definierten Tools und Technologien umgesetzt werden.
Testing: Die entstehende Software muss regelmäßig auf Funktionalität, Leistung, Sicherheit und Benutzerfreundlichkeit getestet werden. Bei der statischen Codeanalyse prüfen die Testsysteme, ob der Code Fehler oder Schwachstellen wie Pufferüberläufe oder Speicherlecks aufweist. Dynamische Tests werden dagegen während der Ausführung des Programms durchgeführt, um Fehler zu entdecken, die im Zusammenhang mit der Laufzeitumgebung stehen.
Bereitstellung: Hat die Anwendung alle Tests bestanden, ist sie bereit für den Einsatz. Der Kunde erhält die Applikation in Form eines physischen Datenträgers, eines Downloads oder als Cloud-Service. Er kann sie dann auf seinen Systemen installieren oder im Falle einer Cloud-Bereitstellung direkt nutzen. In der Regel erfolgt dieser Schritt in enger Abstimmung mit der Entwicklungsabteilung oder dem Dienstleister, der die Software erstellt hat. Zur Bereitstellung, auch als Deployment, Implementierung oder Abnahme bezeichnet, gehören zudem eine entsprechende Einweisung sowie die Dokumentation der Applikation.
Wartung und Pflege: Keine Software ist perfekt, deshalb muss die ausgelieferte Applikation in der Regel mehrfach angepasst werden. Neben funktionalen Fehlern sind vor allem Sicherheitslücken problematisch, die als sogenannte Zero Day Exploits ausgenutzt werden können. Der Softwareanbieter sollte deshalb bei erkannten Schwachstellen so schnell wie möglich eine korrigierte Version der Anwendung liefern, die den Fehler behebt. Dem Patch-Management des Anwenderunternehmens kommt die wichtige Aufgabe zu, diese Aktualisierungen so schnell wie möglich zu implementieren.
Je nach Lizenzmodell muss die Anwendung außerdem in das Software Asset Management des Kunden aufgenommen werden. Es sorgt dafür, dass die Zahl der Lizenzen den jeweils aktuellen Anforderungen im Unternehmen entspricht. So wird eine Über- oder Unterlizenzierung verhindert und das Risiko von Nachzahlungen während eines Software Audits durch den Hersteller minimiert.
Unsere Referenzen
Alle ansehen

Datacenter
ASOS: Versandriese modernisiert Berliner Logistikzentrum mit netgo und Ingram Micro


Datacenter, IT-Services
Augenklinik Ahaus: Flexibel skalieren mit HPE GreenLake


Datacenter, IT-Services, Workplace
Autohaus am Tannenkamp: Mit netgo freie Fahrt fürs Geschäft


Cloud, Security, IT-Services
Autoteile Klostermann: Die netgo cloud als Retter in der Not


Datacenter, Workplace, Network
Beta Systems: Standortübergreifendes WLAN mit netgo


IT-Services
Carcoustics: Doppelt sparen und Freiraum gewinnen dank automatisierter Beschaffung


IT-Services, Workplace
commehr, coachhub und netgo group: Drei Unternehmen, zwei Herausforderungen und zwei Lösungen


IT-Services, Workplace
Coroplast: Coroplast setzt auf Microsoft Teams


Workplace
Coroplast: Mehrsprachiges Intranet via SharePoint Online für Coroplast


IT-Services
Delimon: Dank Servicepartnerschaft läuft es wie geschmiert

IT-Services
ESL Gaming: Optimierte IT-Beschaffung fördert schnelles, weltweites Wachstum


Datacenter, Network
GIT net: Mit intelligentem Speicher und vereinfachter Administration Freiraum für die Digitalisierung schaffen


Cloud, Workplace
Hilltop Consulting: Cloud-Telefonie als Wachstumsgenerator


IT-Services
Hochland: Mit dem Self-Service-Portal Prozesse optimieren, die Qualität erhöhen und die Zufriedenheit steigern


Datacenter
Hoffnungstaler Stiftung Lobetal: Hyperkonvergenz spart Ressourcen und schafft Freiraum für Wachstum


Cloud, IT-Services, Workplace
Landschaftsbau Vornholt: Risikominimierung dank Cloud


Cloud, IT-Services, Workplace
Lapmaster Wolters: Mit netgo und M365 in die Cloud


Datacenter, IT-Services
Lemken: Mit modularer Server-Infrastruktur die IT zukunftsfähig gemacht


Cloud, Workplace
Mehr-BB Entertainment: Veranstalter performt jetzt in der Cloud


Cloud, IT-Services
meinemarkenmode: IT als Service ebnet den Weg für schnelles Wachstum


Workplace
mobene: Modernes Intranet mit SharePoint Online


Workplace
Paracelsus Kliniken: Digitalisierte Serviceprozesse als Treiber für Kosteneffizienz und Kundenzufriedenheit


Cloud, Security, IT-Services
Permadental: Backup in der netgo cloud für die IT-Security


IT-Services
Rittal: Partnerschaftlich (fast) Unmögliches möglich machen


Datacenter
ROSE Bikes: Mit netgo auf der Ideallinie


Datacenter, Network
ROSE Versand: WLAN für hundertprozentig sichere Echtzeitkommissionierung


Workplace
SANHA: Gerätemanagement leicht gemacht


Datacenter, Security, IT-Services
Sommerlad: Wie den Schaden nach Hackerangriff minimieren und daraus lernen?


IT-Services
Trek Bicycle: Hardware und Services für reibungslose Store-Eröffnung in ganz Europa


Datacenter, Workplace
Vossko: Neue IT-Infrastruktur stützt starkes Wachstum
Apologies, we weren't able to find any results that match your search query.
Welche Qualitätsmerkmale der Anwendungsentwicklung gibt es?
Um die Qualität der Anwendungsentwicklung zu bewerten, können sich Unternehmen an der ISO/IEC 25010 orientieren. Sie definiert acht Qualitätsmerkmale:
- Funktionalität: Die Anwendung muss das funktionale Anforderungsspektrum vollständig abdecken, Funktionen wie Berechnungen oder Dateioperationen korrekt ausführen und angemessene Lösungen für die Problemstellung bieten.
- Zuverlässigkeit: Bei der Auslieferung muss die Anwendung ausgereift und so einsatzbereit sein, dass sie das mit dem Kunden vereinbarte Verfügbarkeitsniveau (beispielsweise 98 Prozent oder 99,999 Prozent Uptime) einhält. Sie muss fehlertolerant sein. Eingabe- oder Laufzeitfehler dürfen nicht zu schweren Problemen oder gar Abstürzen führen. Bei unvorhergesehenen Ausfällen muss die Anwendung schnell und vollständig wiederhergestellt werden können.
- Performance: Die Anwendung sollte schnell reagieren, Ressourcen optimal nutzen und nicht mehr Systemkapazität belegen als unbedingt nötig.
- Sicherheit: Gute Anwendungen erfüllen alle Anforderungen des Datenschutzes, sind authentifizierbar und lassen sich nicht manipulieren. Verwaltung und Nutzung erfolgen über sichere Zugänge.
- Kompatibilität: Die Anwendung arbeitet problemlos mit anderen Softwareprogrammen, Betriebsystemen und Verwaltungstools zusammen, bietet ausreichende und einfach zu nutzende Schnittstellen und beeinträchtigt die Ausführung anderer Applikationen nicht.
- Benutzerfreundlichkeit: Der Zugang zur Applikation sollte ästhetisch ansprechend sowie barrierefrei, der Einstieg einfach und die Nutzung bequem sein. Fehlbedienungen müssen verhindert und abgefangen werden.
- Wartung: Die Anwendung sollte modular aufgebaut und leicht erweiterbar sein. Komponenten sollten sich für andere Zwecke wieder verwenden lassen. Für Wartung und Problembehebung stehen einfach zu bedienende Analyseschnittstellen und Testfunktionen zur Verfügung.
- Portierbarkeit: Gute Anwendungen sind einfach zu installieren und auch wieder zu deinstallieren. Sie sollten sich außerdem leicht von einem System auf ein anderes migrieren lassen.
Tipps zur erfolgreichen Anwendungsentwicklung
Mit den folgenden Tipps können Sie die Erfolgsquote und die Qualität Ihrer Anwendungsentwicklung steigern:
1. Gewinnen Sie ein umfassendes Verständnis der Zielumgebung: Vor allem bei der Entwicklung von Individualsoftware kommt es darauf an, die fachspezifischen Anforderungen, Strukturen und Ziele der Anwendenden wirklich zu verstehen. Das ist nicht so einfach, wie es zunächst scheint, denn oft sprechen die Fachkräfte aus Forschung und Entwicklung, Produktion oder Finanzbuchhaltung eine eigene Sprache, die zunächst dechiffriert und verstanden werden muss. In der Analysephase ist deshalb ein intensiver Austausch notwendig, bei dem immer wieder geprüft werden sollte, ob alle Beteiligten dasselbe Verständnis von den Anforderungen an die Anwendungsentwicklung und deren Umsetzung haben.
2. Nutzen Sie agile Methoden: Traditionell werden die oben skizzierten Phasen der Anwendungsentwicklung in einer starren Abfolge nacheinander durchlaufen. In einer volatilen Welt, in der sich Rahmenbedingungen, Wettbewerb und Nutzerverhalten ständig ändern, hat diese sogenannte „Wasserfallmethode“ allerdings erhebliche Nachteile. Schließlich können zwischen der Definition der Anforderungen und der letztendlichen Implementierung viele Monate vergehen. Oft ist ein solches Software-Produkt bereits veraltet, wenn es auf den Markt kommt.
Moderne agile Konzepte wie Scrum oder DevOps setzen auf ein iteratives Vorgehen, in dem die Phasen der Anwendungsentwicklung immer wieder durchlaufen werden. Ziel ist es, so schnell wie möglich ein lauffähiges Produkt (Minimum Viable Product, MVP) zu erstellen und dieses unter Realbedingungen zu testen. Aus den Erfahrungen und dem Feedback der Nutzenden wird dann die nächste Version erstellt und wieder getestet. So ist sichergestellt, dass die Software-Herstellung mit den Entwicklungen im Markt Schritt hält.
3. Arbeiten Sie mit den richtigen Leuten zusammen: Der Prozess zur Herstellung von Software ist komplex, aufwendig, langwierig und kostenintensiv. Wer daher bei der Anwendungsentwicklung auf die falschen Partner setzt, kann viel Geld und Zeit verlieren. Achten Sie deshalb bei der Auswahl eines Dienstleisters darauf, dass dieser Ihre Bedürfnisse auch wirklich versteht und Sie bei der optimalen Anpassung und Erweiterung Ihrer Softwarelandschaft unterstützt.
Idealerweise sollte das Unternehmen umfangreiche Erfahrungen in Ihrem Spezialgebiet haben und diese auch nachweisen können. Kompetenz in agiler und cloud-nativer Anwendungsentwicklung sollte ebenso vorhanden sein wie ausreichende Entwicklungskapazitäten, die sicherstellen, dass Ihr Projekt erfolgreich im vorgesehenen Zeitrahmen umgesetzt werden kann.