Software-Entwicklungsprozesse von Agile und Scrum bis V-Modell XT

Visual Studio und Team Foundation Server sind die optimale Lösung, um effiziente Entwicklungsprozesse einzuführen und ihre Einhaltung durchzusetzen. Dabei ist es gleichgültig, ob nach klassisch-formalem Wasserfall-Modell entwickelt wird oder auf Basis eines agilen Prozesses (beispielsweise Scrum). Zwei vorgefertigte Prozessvorlagen für die Softwareentwicklung liefert das Microsoft Solution Framework bereits mit:

  • MSF for Agile Development für iterative Vorgehensweisen
  • MSF for CMMI Process Improvement, die die Grundlagen für CMMI-Einstufungen bereitstellt.

Unternehmen können diese Prozessmodelle individuell anpassen oder eigene Prozesse mit ihren Erfahrungen und Best Practices in die Entwicklungswerkzeuge integrieren. Für Team Foundation Server sind heute schon viele Prozesse verfügbar, zum Beispiel:

  • Scrum
  • Rational Unified Process
  • V-Modell XT
  • Essential Unified Process

Visual Studio und Team Foundation Server stellen sicher, dass Prozesse auch gelebt werden

Welchen Prozess ein Unternehmen nutzt, ist eine Entscheidung. Wesentlich aber ist, dass alle Beteiligten den Prozess einhalten. Der wird zwar vorab eindeutig und detailliert definiert, die Prozessbeschreibungen setzen ihn jedoch während der Entwicklung nicht um. Visual Studio und Team Foundation Server bieteen umfangreiche Möglichkeiten, die erzwingen, dass Prozesse tatsächlich gelebt werden. So kann z.B. eingestellt werden, dass ein Entwickler immer vordefinierte Unit Tests oder eine statische Codeanalyse durchführen muss, bevor er Code einchecken kann. Check-In kann verhindert werden, wenn der Code nicht mit einem Work Item assoziiert wird. Diese Einstellungen können so individuell auf das entsprechende Prozessmodell angepasst werden, dass sie den Entwicklungsprozess fördern und die Codequalität sicherstellen, ohne die Entwicklung zu verlangsamen. Durch Maßnahmen zur Einhaltung von Prozessen ist üblicherweise sogar ein messbarer Leistungsgewinn zu beobachten.

In Prozessvorlagen werden die Details eines Teamprojekts festgelegt. Die dazugehörigen Prozessanleitungen beschreiben die Schritte, die das Team im Verlauf des Projekts erledigt; dies schließt die Definition der vorhandenen Rollen oder der zu erledigenden Aufgaben ein.

Agil versus klassisch: Integration unterschiedlicher Prozessmodelle

Prozessdiagramm

Große Organisationen wickeln nicht alle IT-Projekte nach dem gleichen Vorgehensmodell ab; meist existieren mehrere Modelle. Microsoft hat beobachtet, dass die Zahl agiler Projekte momentan ansteigt, jedoch auch klassische, formale Vorgehensmodelle (z.B. VM-XT, Unified Prozess, CMMI) weiterhin gepflegt werden. Das Projektmanagement muss also einen Methodenbaukasten bereitstellen, aus dem die Projekte sich bedienen, je nach Anforderungen, Laufzeit, Time-to-Market, Dokumentationsbedarf und gesetzlichen Bestimmungen. Dabei stellt sich die Frage, wie diese Projekte innerhalb der Prozesse so gestaltet werden, dass sie immer noch miteinander vergleichbar sind – trotz verschiedener Vorgehensmodelle? Die Antwort darauf ist einfach, wenn man die kleinste Einheit eines Projekts stets als einzelne Arbeitsaufgabe sieht.

Auf Basis der Arbeitsaufgaben kann dann eine einheitliche Steuerung und ein vergleichendes Reporting aufgesetzt werden. Die Granularität der Aufgaben darf dabei nicht zu hoch angesetzt werden. Team Foundation Server erlaubt die Abbildung beliebiger Projekttypen über das Projektprozess-Template. Mittels dieses Templates können alle Bestandteile eines Vorgehensmodells abgebildet werden. In Bezug auf das Projektmanagement beinhaltet ein solches Prozess-Template:

  • Ein Rechte- und Rollenmodell
  • Projektstrategie und Aktivitäten
  • Meilensteine für dieses Vorgehensmodell
  • Benachrichtigungs- und Eskalationspfade
  • Prozessdokumentation für die Mitarbeiter
  • Artefakte (Aufgabentypen) und Templates für zu erstellende Dokumente

Damit können beliebige organisationsspezifische Projekte angepasst werden. Es ist also zusätzlich möglich, unterschiedliche Projekte parallel zu verwalten, von denen einige nach V-Modell XT, andere nach CMMI und wieder andere nach agilen Methoden wie z.B. Scrum arbeiten. Jeder Objekttyp (Anforderung, Arbeitsaufgabe, Fehlermeldung usw.) kann unterschiedliche Daten und Workflows besitzen, über die der entsprechende Prozess gesteuert wird.

Über die Anpassung der Prozesstemplates eignet sich Team Foundation Server insbesondere dazu, projektspezifische Prozessmodelle zu implementieren. Zusätzlich ist er in der Lage, gleichzeitig unterschiedlichste Projektmodelle zu unterstützen.

Kundenreferenzen

Landesbank Baden-Württemberg

Landesbank Baden-Württemberg Logo

Die LBBW setzt seit vielen Jahren auf Microsoft Technologien wie Visual Basic for Applications (VBA) oder Visual Basic 6 in ihrer Anwendungsentwicklung, die hauptsächlich auf dem klassischen V-Modell aufbauen. Aufgrund der verschiedenen Entwicklungsumgebungen "sind viele kleine Insellösungen entstanden, die einen massiven Wartungsaufwand erfordern." wie Florian Schmidt, Projektleiter Lösungen Bankbasisarbeitsplatz der LBBW berichtet. Diese Lösungen werden mit Visual Studio Team System 2008 konsolidiert und sind somit einfacher zu warten.

Lesen Sie die vollständige LBBW-Case-Study zu VSTS

Lexware GmbH & Co KG

Lexware Logo

Lexware bietet Softwarelösungen für kaufmännische wie auch private Finanzverwaltung und priorisiert Termintreue bei der Auslieferung ihrer Lösungen. Seit VSTS 2005 Beta setzt das Unternehmen auf die Vielfalt und Mächtigkeit des Team Foundation Server. "Das verschafft uns eine bisher nicht gekannte Transparenz über den gesamten Entwicklungsprozess." sagt Ralf Hoffmann, Chief Software Architect bei Lexware. Die Kombination der Methodologien Microsoft Solution Framework for Agile Software Development und Microsoft Solution Framework for CMMI Process Development, ermöglicht Lexware, ein eigenes Prozess-Template zu genieren, mit dem sie sowohl agile als auch formale Anforderungen umsetzen können.

Lesen Sie die vollständige Lexware-Case-Study zu VSTS