Microsoft Deutschland | Microsoft Weltweit
Powered by

Application Lifecycle Management (ALM)

Project ManagementRequirements ManagementsDesign und ArchitekturDevelopmentQuality Assurance & TestRelease management und SCMVorgehemsweise/Prozesse
Project Management
ALM vereinfacht das Project Management durch eine bessere Nachverfolgbarkeit von Änderungen, Anforderungen und Arbeitspaketen. Zusätzlich stellt die Prozessautomatisierung die Einhaltung der definierten Vorgehensweise sicher, und das Reporting ermöglicht eine fortlaufende, auf objektive Zahlen gestützte Verfolgung des Projektfortschrittes.
Während des gesamten Projektes wird der Kunde oder Auftraggeber aktiv in das Projekt einbezogen. Er bewertet lauffähige Zwischenstände der Software und kann bereits während des Projektes steuernd eingreifen. Der regelmäßige Austausch mit dem Kunden verhindert Konflikte, die bei der Abnahme einer entwickelten Software auftreten können.
Die häufige Unsicherheit in Projekten, dass Hürden bei der Integration in eine bestehende Produktlandschaft auftreten, nimmt durch das regelmäßige automatische Bauen, Testen und Ausrollen einer Software ab. Mögliche Probleme werden schon während der Entwicklung erkannt und können sofort behoben werden.
Requirements Management
Das zentrale Erfassen und Verwalten von Anforderungen ist einer der Schwerpunkte von ALM. Neben dem Herstellen von Beziehungen zwischen verschiedenen Requirements und anderen Artefakten erleichtert vor allem die Unterstützung bei der Verfolgung des Realisierungsgrades die alltägliche Arbeit innerhalb dieser Disziplin.
Einer Anforderung können die zur Umsetzung notwendigen Arbeitspakete zugeordnet werden. Beim nächtlichen Bauen der Software werden alle Änderungen in der Versionskontrolle und alle mit ihnen verknüpften Arbeitspakete aufgelistet. Die Buildnummer eines Builds wird in allen verknüpften Artefakten vermerkt. Über die ursprüngliche Anforderung und ihre verknüpften Arbeitspakete kann verfolgt werden, in welchem Build eine bestimmte Anforderung realisiert wurde, um diese zu testen oder dem Kunden zu präsentieren. Diese Informationen können ohne zusätzlichen Kommunikationsaufwand aus der ALM Plattform gewonnen werden.
Design und Architektur
Die zentrale Verwaltung der Anforderungen und Artefakte erleichtert auch hier die Arbeit. Eine nahtlose Integration der Modellierungswerkzeuge in die ALM-Plattform vereinfacht die Kommunikation mit den anderen Disziplinen.
Alle Architektur- und Designdokumente werden innerhalb einer ALM Plattform zentral abgelegt - für jeden Beteiligten einfach zugänglich. Durch die Schaffung verschiedener Abstraktionslevel können komplexe Gesamtsysteme in kleinere und weniger komplexe Teilsysteme herunter gebrochen werden. Bei dieser Arbeit werden Softwarearchitekten und Designer von verschiedenen Werkzeugen innerhalb ihrer ALM Plattform unterstützt.
Development
Der hohe Grad der Integration verschiedener Softwaretools in die ALM-Plattform unterstützt die Entwickler bei der Implementierung und Qualitätskontrolle. Die zentrale Verwaltung aller Anforderungen, Arbeitspakete und gefundenen Fehler, ein integrierter Testrahmen und automatisierte Buildprozesse - all diese Punkte erlauben es, mehr Zeit in die eigentliche Aufgabe zu investieren: die Entwicklung hochwertiger Software.
Eine ganze Reihe von Funktionalitäten innerhalb von ALM-Plattformen unterstützt Softwareentwickler bei ihrer täglichen Arbeit. Beispielsweise die syntaktischen Analyse des Codes, bei der neben der Einhaltung von Namenskonventionen auch auf die Performance und Sicherheit des Codes geachtet wird. Desweiteren gibt es automatische Unit-Tests, die sicherstellen, dass einmal vorhandene Funktionalität nicht wieder verloren geht. Die graphische Darstellung der Codezeilen, die von einem Unit Test bei dessen Ausführung durchlaufen wurden, erleichtert es sicherzustellen, dass alle relevanten Codestellen durch einen Test abgedeckt sind.
Quality Assurance & Test
Durch den Einsatz von ALM Werkzeugen wird dem Test von Software und der Kontrolle deren Qualität ein sehr viel höheres Maß an Aufmerksamkeit geschenkt. Qualitätssichernde Maßnahmen können fest in den Entwicklungsprozess verankert werden. Der integrierte Testrahmen und die zentrale Verwaltung aller Anforderungen und gefundenen Fehler erlauben auch dem Testteam ein effizienteres Arbeiten.
Immer wenn eine Veränderung am Code durchgeführt wurde, stellen so genannte Richtlinien sicher, dass bestimmte Qualitätsmerkmale erfüllt werden. Eine solche Richtlinie, auch Policy genannt, kann beispielsweise die Ausführung von Unit Tests oder die Durchführung einer syntaktischen Analyse einfordern - mit dem Ziel, dass sich keine vermeidbaren Fehler in die Versionskontrolle und ins Projekt einschleichen können. Eine ALM-Plattform bietet nicht nur die Möglichkeit zur Durchführung und Verwaltung von Unit Tests, sondern auch anderen Tests. Dazu zählen manuelle Tests, bei denen der Tester eine Anwendung bedient oder Web & Load Tests, bei denen das Verhalten von webbasierten Anwendungen getestet wird.
Release Management und SCM
Im Rahmen von ALM wird frühzeitig und regelmäßig eine lauffähige Version der in der Entwicklung befindlichen Software erstellt und in den Testbetrieb überführt.
Ein automatisierter Build-Prozess zeigt dabei täglich - auf Wunsch auch kontinuierlich -, ob sich der Code nach den vollzogenen Änderungen noch bauen lässt. Zu jeder neu implementierten Funktionalität können entsprechende Tests geschrieben und in die Liste der bei jedem Build durchzuführenden Tests aufgenommen werden. Diese werden fortan bei jedem Build ausgeführt. Sie stellen sicher, dass die ursprünglich gewünschte Funktionalität nicht verloren geht. Nach Ausführung von Build und Tests wird der aktuelle Stand in der Testumgebung vom Entwickler getestet. Die Erkenntnisse über Schwierigkeiten und Hindernisse fließen so kontinuierlich in die laufende Entwicklung ein.
Die Integration einer Versionskontrolle in ALM-Plattformen, in Kombination mit der Möglichkeit, Codeänderungen mit zentral verwalteten Artefakten zu verknüpfen, erleichtert die Verwaltung verschiedener Versionsstände. Vorgenommene Änderungen werden nachvollziehbar. Eine große Rolle spielt dabei auch die Einsatzmöglichkeit verschiedener Branching- und Merging-Strategien. Das Schaffen paralleler Entwicklungszweige ist gerade im Zusammenspiel von Build-und Deploymentprozessen wichtig.
Vorgehensmodelle/Prozesse
Eine integrierte Unterstützung verschiedener, auch eigener Vorgehensmodelle hilft bei der Einhaltung eines definierten Prozesses. Automatismen und Auswertungen ermöglichen zukünftig die Projektsteuerung durch Prozesse.
Über eine gemeinsame ALM Plattform ist es möglich, dem Zusammenspiel der verschiedenen Projektgruppen, einen Prozess zu hinterlegen. Dieser kann sowohl einem gängigen Vorgehensmodell entsprechen, als auch eigene Elemente und Best Practices enthalten. Die Flexibilität bei der Gestaltung und Anpassung der Prozesse erhöht sich deren Akzeptanzgrad. Die Automatisierung minimiert den Mehraufwand zur Einhaltung der Prozesse.
Als die drei Säulen des Application Lifecycle Managements sind die Nachverfolgbarkeit von Änderungen, die Prozessautomatisierung sowie die Kontrolle und Auswertung des Projektfortschritts zu sehen. Da ALM kein eigenes Vorgehensmodell mit sich bringt, kümmert es sich um die Koordination der einzelnen Teilprozesse und Aktivitäten innerhalb eines Projektes. Daneben unterstützt es die Einhaltung des Vorgehensmodells aktiv und fordert sie, wo nötig, auch ein. ALM stellt außerdem einen Bezug zwischen verschiedenen Artefakten eines Projektes her, gleichzeitig werden diese auch verwaltet. Zusammen mit der automatischen Erhebung von Kennzahlen wird so ein umfassendes Reporting über den aktuellen Status eines Projektes möglich. Mithilfe dieser drei Säulen soll es zukünftig einfacher werden, Geschäftsanforderungen, Entwicklung und Betrieb von Software besser aufeinander abzustimmen.

Klicken Sie auf die Grafik, um weitere Informationen anzuzeigen.

» Vorteile» Entwicklungsprozesse» Nachverfolgbarkeit & Reporting» Beteiligte» ALM-Plattform

ALM-Test

Wie fit ist Ihre Anwendungs­entwicklung? Nutzen Sie bereits die Vorteile eines integrierten ALM?» Machen Sie den ALM-Test

Microsoft Visual Studio Team System bietet Ihnen ein nahtlos integriertes Application Lifecycle Management (ALM).» Produktinformationen
Verwalten Sie Ihr Profil | Impressum | MSDN Flash Newsletter | Kontaktieren Sie uns
© 2008 Microsoft Corporation. Alle Rechte vorbehalten. Nutzungsbedingungen | Markenzeichen | Informationen zur Datensicherheit