Application Lifecycle Management betrachtet den gesamten Entwicklungszyklus von der Planung über die Konzepte und Umsetzung bis hin zur Fertigstellung, Auslieferung und den Betrieb einer Software. Im Fokus stehen dabei stets die Optimierung und Automatisierung der einzelnen Teilschritte.
Jedes Softwareprojekt muss professionell geleitet werden. Dazu bieten sich heutzutage agile Prozesstechniken wie Scrum, Kanban oder Behavior Driven Development (BDD) an, da so schnell auf unvorhergesehene Veränderungen reagiert werden kann. Neben dem reinen Anforderungsmanagement in der ersten Entwicklungsphase darf aber auch das Issue-Management während der Pflege der Software im Betrieb nicht vergessen gehen.
Um die formalen Aspekte der Softwareentwicklung kümmert sich ein Requirements Engineer. Er fasst die Anforderungen auf technische Art und Weise zusammen und bereitet so die Arbeitsgrundlage für Softwareentwickler und Tester zusammen. Jedes Detail wird dabei von einem Configuration Manager festgehalten um eine langfristige Nachvollziehbarkeit sicherzustellen.
Die definierten Arbeitspakete werden iterativ umgesetzt und das Endprodukt so stückweise um die gewünschten Merkmale erweitert. Frühzeitiges Testen und Integrieren stellt dabei sicher, dass die Umsetzung alle Aspekte der Anforderungen abdeckt.
Neben der Umsetzung der Entwicklung ist auch die kontinuierliche Erstellung und Auslieferung der Software ein Kernaspekt von ALM. So können Fehler frühzeitig erkannt werden und durch stete Codeanalyse auch Trends in der Softwarequalität zeitnah an die Entwicklung zurückgegeben werden.
Der Betrieb einer Software gestaltet sich heutzutage durchaus komplex. Viele Lösungen werden dem Kunden über Cloud Services angeboten, die eine hohe Verfügbarkeit garantieren sollen. Dazu ist ein dauerhaftes Monitoring und regelmässiges Reporting unerlässlich. Darauf aufbauende Analytics-Dienste stellen sicher, dass Engpässe erkannt werden können, noch bevor der Kunde etwas davon merkt.
Wir unterstützen Sie bei
- Analyse Ihrer existierenden Entwicklungsprozesse
- Abbilden des gesamten Lifecycles in Microsoft Team Foundation Services
- Automatisierung in den Build- und Release-Bereichen
- Aufbau von Infrastruktur in Microsoft Azure
- Einbindung von Application Insights in ihre bestehenden Applicationen