App Lifecycle

Bei der Entwicklung von Software stehen aktuell Themen wie „Agile Softwareentwicklung mit Scrum“ oder auch „Kanban“ im Fokus. Diese Vorgehensmodelle haben sich bewährt für die Entwicklungsphase. Was ist aber mit den anderen Phasen einer Softwareentwicklung, welche Prozesse gibt es dort? Oft rückt nur die Entwicklungsphase beim Management in den Vordergrund, die vor- und nachgelagerten  Phasen hingegen werden als gegeben und „wird schon funktionieren“ hingenommen.

Für ein effizientes Qualitätsmanagement zur Softwareentwicklung ist dieser Zustand nicht hinnehmbar und mit dem Prozess des „Application Lifecycle Management“ (ALM) kann dagegen gehalten werden. Für die Etablierung eines eindeutigen, konsistenten, reproduzierbaren „Application Lifecycle“, welcher auch von Ihrem Team gelebt werden kann, muss ein sogenannter Requirements Engineer die Anforderungen in jeder Phase der bisher gelebten Softwareentwicklung in Ihrem Unternehmen aufnehmen, bewerten und sinnvoll in dessen Phasen einordnen. Daraus entsteht allmählich ein Geschäftsprozess, also ein roter Leitfaden, an welchem sich jeder Projektleiter orientieren muss um ein Entwicklungsprojekt effizient steuern zu können. Die nun ermöglichte, detaillierte Kontrolle über jeden Schritt in diesem Geschäftsprozess erhöht massiv die Qualität und die Genauigkeit des Controlling.

Dabei macht es keinen Unterschied ob nun Apps oder „normale“ Anwendungen entwickelt werden.

Application Life Cycle

Ein sehr einfach gehaltener Application Lifecycle

Jede der analysierten Phasen hat seinen eigenen qualitätssichernden Prüfpunkt welcher das Fortschreiten in die angrenzende Phase kontrolliert.

Unterstützende Maßnahmen für einen Application Lifecycle, welche oft Phasenübergreifend sind, wären unter anderem:

  • Geeignetes Tooling zur Steuerung der Aufgaben (der rote Leitfaden) wie z.B. HP ALM, Jira
  • Eine Infrastruktur für die Softwareentwicklung (siehe Continuous Integration) welche eng verzahnt werden sollte mit dem ausgewählten Tooling
  • Das Defect Management als ein Punkt für die Qualitätssicherung der Anwendung (siehe auch Mobile Testing)
  • Definierte Übergabeprotokolle (z.B. Checklisten) für jede Phase
  • Definierte Abnahmedokumente für spezielle Übergaben

Möchten Sie in Ihrem Unternehmen z.B. einen eigenen Fachbereich zur Entwicklung von mobilen Apps etablieren, so werden Sie nicht umhin kommen einen ALM einzuführen, ansonsten werden Sie sehr schnell in das Chaos-Driven-Development abdriften, da die Vielzahl an Projekten und unterschiedlichsten Anforderungen nicht mehr steuerbar sind. Entwickler haben es gerne Agil, Projektmanager sollten dies in ihrem Bereich ohne eine saubere, nachvollziehbare Planung & Steuerung tunlichst vermeiden.

Wie kann ich Ihnen nun helfen?

Auf Grund meiner jahrelangen Erfahrung in der Entwicklung von Java-Software im Enterprise Umfeld und seit Mitte 2011 nun verstärkt im Bereich der mobilen Apps als meine Kernkompetenz, habe ich in meinen Kundenprojekten zahlreiche Entwicklungsprojekte der gesamten Application Lifecycle Kette entlang geleitet und auch oft selbst konstruiert. Ich unterstütze Sie somit gerne in der Rolle als ALM-Engineer um Ihre Unternehmung zum Erfolg zu führen.