Mehr zum Thema Applikationsentwicklung

Bedarfsaufnahme / IST-Analyse:
Applikationsentwicker müssen Abläufe und Vorstellungen Ihrer Kunden gründlich kennen lernen. Gemeinsam mit den (zukünftigen) Benutzern wird die aktuelle Situation untersucht, aktuelle Daten erhoben sowie die Vorstellungen der zukünftigen Lösung diskutiert. Dieser Schritt bedingt viele Kontakte. Hier arbeiten Menschen aus unterschiedlichsten Bereichen wie z.B. Benutzer/innen, Verkaufs-, Marketing- und Betriebsfachleute eng zusammen. 

Analyse: Erhebung von Ist-Zuständen. Sind Ausgangslage und Ziel einmal definiert (Grobanalyse), erfolgt eine schrittweise weitere Verfeinerung bis auf Detailebene, die Detailanalyse. Das bedeutet: Alle Aspekte werden hinterfragt, verschiedene Lösungen gesucht und besprochen.

Lösungsvorschlag: Während der schrittweisen Verfeinerung wird eine neue Lösung im Detail entworfen. Ziel ist es die beste Lösung zu finden, auch wenn diese von der ursprüngliches Vorstellung der Auftraggeber/innen abweicht. Jetzt gilt es zu überzeugen, denn kaum ein(e) Auftraggeber/in wird eine noch bessere Lösung abweisen.

Realisierung: Bedeutet die Umsetzung des Konzepts. Mit Hilfe geeigneter Programmiersprachen werden die Programme geschrieben. Die Softwareentwicklung ist ein recht komplexer Zyklus auf den hier nicht weiter eingegangen werden soll. Letzten Endes wird die Gesamtlösung getestet und geprüft, ob das Programm die definierten Anforderungen in allen Punkten erfüllt. 

Reorganisation der Prozesse: Arbeitsabläufe werden beeinflusst und müssen ggf. neu organisiert werden. Eventuell müssen sogar Bereiche und Strukturen neu aufgestellt werden. Entsprechende Hilfsmittel wie Organigramme und ähnliches sind wieder neu zu entwickeln.

Schulung der Benutzer/innen: Keine neue Anwendung und sei sie noch so geringfügig sollte ohne Schulung eingeführt werden. Nur so können von Anfang an Fragen und Unsicherheiten ausgeräumt werden. Ein Handbuch alleine ist meistens nicht ausreichend. Alle Neuerungen müssen den künftigen Bennutzerinnen und Benutzern mitgeteilt und gezeigt werden.
Entsprechende Unterlagen sind bereit zu stellen: je nach Komplexität einfache Beschreibungen oder gar Lernprogramme. Die Applikationsentwickler/innen haben hier eine wichtige Rolle, „Ihre“ Lösung muss erklärt und „verkauft“ werden. 

Abnahme, Produktionsübergabe, Anwendungsstart: Je nach Komplexität und Umfang der Applikation und der Anzahl der betroffenen Bereiche und Benutzer/innen ist das eine einfache oder hochkomplexe Aufgabe. Mit diesem Schritt wird „Ihre“ neue Applikation in ihre produktive Nutzung übergehen.
Eine interessante und meistens arbeitsintensive Phase. Hier fällt oftmals Wochenendarbeit an, da nicht in allen Fällen Änderungen während des normalen Betriebes eingeführt werden können. Nach Erledigung der letzten vereinbarten "Change Requests" und der Ablieferung des Dokumentationsmaterials ist das Projekt beendet.

Für Außenstehende ist das oftmals nur schwer wahrnehmbar, aber für viele Abläufe im Unternehmen spielt die Applikationsentwicklung eine zentrale Rolle.
Ob es um die Verarbeitung großer Datenmengen, umfassende Ticketsysteme für den Support oder unterschiedliche Marketinganwendungen geht - Softwaresysteme müssen heute immer stabil laufen (Verfügbarkeit) und möglichst skalierbar, also weiter ausbaubar sein. Deshalb werden heute oft von allen benötigte (zentrale) Services wie z.B.  wie Login-, Registrierungs- oder Aktivierungsdienste zentral entwickelt, gespeichert und verwaltet um dann gemeinsam von anderen Abteilungen genutzt zu werden. So sind diese von Randaufgaben entlastet und können sich auf das Wesentliche, nämlich Ihre Kernaufgaben konzentrieren.
Zentrale Anwendungen kommunizieren untereinander per Schnittstellen (Interfaces), die zukunftssicher und einfach integrierbar sein mpssen, mit anderen Unternehmensapplikationen.
Die Nutzung von Industriestandards beim Datenaustausch ist ebenso wichtig wie der Einsatz  moderner Entwicklungsprozesse (Scrum, Kanban),  Entwicklungsmethoden (Continuous Integration, Clean Code, Continuous Deployment) und Entwicklungstools (Zend Studio, Ant, Liquibase, Jenkins, Doxygen, Selenium, Confluence, Jira uvm.), sowie zukunftssichere Frameworks (ExtJS, Zend Framework, Doctrine).
Denn nur klar programmierte und dokumentierte objektorientierte Programme auf Basis von aktuellen Versionen moderner Programmiersprachen sind die Basis, um stabile, wartungsarme und  leicht erweiterbare Software zu entwickeln. Dazu werden moderne relationale und nicht-relationale Datenbanken (MySQL/InnoDB, MongoDB)  benutzt.

Größere Unternehmen haben oft eine eigene Forschungs- und Entwicklungsabteilung (F&E), welche sich mit den aktuellen Trends der Webtechnologien beschäftigt. Insbesondere werden hier neue Möglichkeiten im praktischen Einsatz ausgewertet. Eine wichtige Rolle bei der Bewertung für einen späteren praktischen Einsatz spielen dabei die Performance und Stabiltät unter Lastbedingungen, sowie die Nutzbarkeit auf unterschiedlichen Endgeräten (Plattformen). Auch im Backend Bereich werden aktuelle Trends untersucht, sowie neue Algorithmen, Strukturen und Protokolle entworfen.     
Jetzt-informieren-rot-animiert.gif