Application Lifecycle Management mit Visual Studio vNext

Die Seite wird erstellt Matthias Hübner
 
WEITER LESEN
Application Lifecycle Management mit Visual Studio vNext
Application Lifecycle Management
mit Visual Studio vNext

Höhere Produktivität und bessere Vorhersagbarkeit in der
Softwareentwicklung für Teams jeder Größe

Auf der TechEd North America im Mai 2011 gab Visual Studio-Entwicklungschef Jason
Zander einen kurzen Einblick in die Zukunft der Visual Studio Application Lifecycle-
Managementtools. Dieses Whitepaper fasst diese Informationen und weitere
Neuerungen zusammen. Es umreißt aktuelle Probleme, mit denen sich die
Softwareentwicklungsbranche konfrontiert sieht, und illustriert, wie wir gemeinsam
diese Probleme angehen können, um die Effektivität des Application Lifecycle
Management-Prozesses (ALM) zu verbessern.

© 2011 Microsoft Corporation. Alle Rechte vorbehalten. Dieses Dokument wird Ihnen nur zu Informationszwecken und
ausschließlich „wie besehen“ zur Verfügung gestellt. Die in diesem Dokument enthaltenen Angaben und Daten, einschließlich
URLs und anderer Verweise auf Websites im Internet, können ohne vorherige Ankündigung geändert werden. Alle Risiken durch
die Nutzung des Dokumentes liegen bei Ihnen. Irrtum und Änderungen vorbehalten.

Dieses Dokument gewährt ihnen keine Rechte an geistigem Eigentum aus jeglichen Produkten von Microsoft. Sie dürfen das
Dokument kopieren und für interne Zwecke nutzen.
Application Lifecycle Management mit Visual Studio vNext
Inhaltsverzeichnis
Application Lifecycle Management mit Visual Studio vNext ..................................................... 1
Die Erwartungen aller Beteiligten sind stetig im Wandel ........................................................... 3
    Stakeholdern und Operations .......................................................................................................... 4
    Microsofts Prioritäten im Application Lifecycle Management .............................................. 4
Modernes Application Lifecycle Management ............................................................................... 6
    Der Anwendungslebenszyklus ......................................................................................................... 6
    Anpassung an Marktbedingungen ................................................................................................. 7
    Weniger Ressourcenvergeudung .................................................................................................... 8
    Best Practices aus der agilen Entwicklung ................................................................................... 8
Application Lifecycle Management mit Visual Studio ............................................................... 10
    Die Basis – Visual Studio 2005 und 2008.................................................................................... 10
    Reduzierung der Ressourcenvergeudung in der Softwareerstellung – VS2010 ........... 11
Visual Studio vNext: Ausweitung auf den ganzen Entwicklungszyklus und
Einbeziehung neuer Gruppen ............................................................................................................ 12
    Agile Planungstools ........................................................................................................................... 13
    Einfache Anforderungen .................................................................................................................. 16
    Promptes Feedback ........................................................................................................................... 18
    Agile Qualitätssicherung .................................................................................................................. 20
    Ausrichtung von Entwicklung und Betrieb ................................................................................ 22
    Verbesserte User Experience ........................................................................................................... 25
Fazit ............................................................................................................................................................. 28

Jetzt schon im Kalender vormerken:

Die Konferenz zu agiler Entwicklung, Application Lifecycle Management und Test/Qualitätssicherung
mit Visual Studio und Team Foundation Server. 23. bis 25. November in München: www.almdays.de.

Whitepaper: Application Lifecycle Management mit Visual Studio vNext                                                                            Seite 2 von 28
Application Lifecycle Management mit Visual Studio vNext
Die Erwartungen aller Beteiligten sind stetig im Wandel
Einer unserer Leitsprüche bei der Veröffentlichung von Visual Studio 2010 lautete „Life
Runs on Code“. Wir wollten so verdeutlichen, wie viele der Aktivitäten des modernen
Lebens von Software beeinflusst werden. Es gab noch nie so viele Möglichkeiten für
die Entwicklung neuer Tools, zur Nutzung von Daten und um Ideen in Software zum
Leben zu erwecken, wie heute.

Die Softwarebranche selbst bleibt jedoch hinter ihren Möglichkeiten zurück. Die
meisten IT-Ausgaben werden nicht dafür aufgewandt, neue Mehrwerte für die
Benutzer zu schaffen, sondern um bestehende Lösungen zu warten, Risiken zu
handhaben und mit den entsprechenden Kommunikationsengpässen umzugehen.
Ressourcen werden so ineffizient eingesetzt. Im Gegenzug werden die Möglichkeiten,
sich auf Kundenanforderungen auszurichten, kaum genutzt.

Im Laufe der Jahre hat die Softwarebranche an der Verbesserung der Effektivität und
Vorhersagbarkeit der Softwareentwicklung gearbeitet. Zwar hat sich die Effektivität in
vielen Bereichen der Softwareerstellung, des Supports und der Wartung erheblich
verbessert, ein großer Teil dieser Fortschritte wurde jedoch nur in ganz speziellen und
eng umrissenen Bereichen erzielt. Die größten Probleme bestehen weiterhin im
Bereich der Übergaben und der Übergänge zwischen den einzelnen Silos im
Anwendungslebenszyklus. Eben diese kommunikativen Effizienzprobleme wurden
bisher nicht ausreichend angegangen.

Die steigenden Erwartungen aller Beteiligten an eine Softwarelösung komplizieren
diese Situation noch. Mit dem Einzug der Cloud wird erwartet, dass Updates der
Produktivsysteme binnen Minuten passieren – nicht erst in Tagen oder gar Wochen.
Auch für Unternehmenssysteme wird eine Benutzerumgebung erwartet, wie sie
beispielsweise bei Mobiltelefonen bekannt ist. Wir befinden uns in einer Situation, in
der die Anforderungen an das gesamte Entwicklungsteam wachsen. Dies macht eine
stärkere Zusammenarbeit und Verknüpfung als bisher erforderlich.

Whitepaper: Application Lifecycle Management mit Visual Studio vNext        Seite 3 von 28
Application Lifecycle Management mit Visual Studio vNext
Visual Studio vNext, Stakeholder und Operations
„Visual Studio vNext“ ist die von Microsoft verwendete Bezeichnung der
Nachfolgeversion von Visual Studio 2010. Mit Visual Studio vNext bezieht Microsoft
neben den bereits mit Visual Studio 2010 und früheren Versionen nahtlos integrierten
Gruppen der Entwickler, Architekten, Designer, Tester, Requirements Engineers und
Projektmanager speziell die beiden neuen Gruppen der so genannten „Stakeholder“
und „Operations“ eng in den Entwicklungsprozess mit ein.

„Stakeholder“ bezeichnet im weitesten Sinne alle an der Entwicklung beteiligten
Personen, bezieht sich in diesem Kontext allerdings spezifisch auf die Fachseite
und/oder den Kunden und Anwender, die traditionell oft weitgehend vom
Entwicklungsprozess ausgeschlossen waren.

„Operations“ vereinigt in diesem Kontext diejenigen Personen, die für das
Deployment, also das Ausrollen und den Betrieb der Anwendungen verantwortlich
sind, sowie die Wartung, das Einspielen von Updates und die Integration in die
Infrastruktur. Sie werden besser als je zuvor in den Applicationszyklus einbezogen, was
eine deutlich bessere Leistung der individuellen Anwendungen bei gleichzeitig
niedrigerem Aufwand ermöglicht.

Microsofts Prioritäten im Application Lifecycle Management
Microsoft hat in den letzten fünf Jahren intensiv daran gearbeitet, Teams so effektiv
wie möglich zu machen und die entsprechenden Probleme anzugehen. Wir haben ein
Application Lifecycle Management-Angebot mit den folgenden Prioritäten entwickelt:

       Bessere Zusammenarbeit durch nahtlose Integration aller Rollen im Team
       Promptes und direkt umsetzbares Feedback verringert
        Ressourcenvergeudung
       Verständnis für die individuelle Arbeitsweise und ein Abholen der Benutzer
        dort, wo sie sich befinden, und nahtlose Integration ihrer gewohnten
        Arbeitsmethoden und Werkzeuge in den Prozess
       Transparente und agile Best-Practices, die nach Belieben adaptiert werden
        können

Im Rahmen der TechEd North America haben wir einige Szenarien mit Visual Studio
vNext und entsprechenden Integrationskomponenten gezeigt.

Diese Szenarien verbessern die Erstellung, die Wartung und den Support von
Softwarelösungen durch die Verbesserung der Workflows im gesamten Team und
über den gesamten Lebenszyklus hinweg.

Whitepaper: Application Lifecycle Management mit Visual Studio vNext        Seite 4 von 28
Application Lifecycle Management mit Visual Studio vNext
In diesem Whitepaper erhalten Sie Hintergrundinformationen und Details zu
verschiedenen Szenarien, wie Visual Studio vNext Softwareentwicklung allgemein und
speziell Application Lifecycle Management für Teams jeder Größe weiter verbessern
wird.

Aktuelle Infos zu Visual Studio vNext online und vor Ort
Jederzeit aktuelle Informationen zur Nachfolgeversion von Visual Studio 2010 erhalten
Sie online in unserem Newsblog unter
http://blogs.msdn.com/b/vsnewsde/archive/tags/vNext

Auf den Visual Studio ALM Days 2011 können Sie die nächste Generation von Visual
Studio erleben: Vom 23. bis 25. November finden in München die Microsoft Visual
Studio ALM Days 2011 (ehemals TeamConf) statt. Dort stellt Microsoft Profis aus der
Softwareentwicklung, IT-Leitern, Softwareprojektmanagern und Softwaretestern die
nächste Generation seiner Entwicklungswerkzeuge für Windows, Web, Phone und die
Cloud vor und präsentiert spannende Neuerungen im Application Lifecycle
Management. Alle Informationen dazu finden Sie unter www.almdays.de

Neben spannenden Sessions erwarten Sie Keynotes von Microsoft-Sprechern aus
Redmond wie Sam Guckenheimer, Product Planner für Visual Studio, und Brian
Harry, Microsoft Technical Fellow und „Vater“ von Visual SourceSafe und Team
Foundation Server. Hinzu kommen lokale Experten wie Christian Binder, ALM
Architect bei Microsoft Deutschland.

Whitepaper: Application Lifecycle Management mit Visual Studio vNext      Seite 5 von 28
Application Lifecycle Management mit Visual Studio vNext
Modernes Application Lifecycle Management
Traditionelle ALM-Ansätze gehen von der Annahme aus, dass
Softwareentwicklungsprojekte geradlinige und sequenzielle Prozesse seien. Sie setzen
voraus, dass die Anforderungen leicht zu überblicken sind und vorab entsprechend
klar definiert werden können, und dass in der Folge die entsprechenden
Projektphasen der so definierten statischen Grundlinie folgen werden.

In der Realität ist dies jedoch fast nie der Fall. Wirklich alle Anforderungen eines
Softwareentwicklungsprojektes vorab zu überblicken, ist extrem schwierig oder sogar
unmöglich. Unglücklicherweise erkennen viele ältere ALM-Ansätze diese Tatsache
nicht an, zwingen den Teams starre Prozesse auf und schränken sie durch ineffektive
Collaboration-Tools eher ein, als sie zu unterstützen.

Der Anwendungslebenszyklus
Software sollte als dynamischer Prozess betrachtet werden. Der
Anwendungslebenszyklus erstreckt sich über alle miteinander in Verbindung
stehenden Aktivitäten während der gesamten Lebensdauer der Anwendung:
Identifikation der geschäftlichen Anforderungen, Entwicklung, Test, Release-
Management und -Überwachung, Support und Wartung bis hin zur
Außerbetriebsstellung der Lösung in weiter Zukunft.

Zwei Workflows mit Beteiligung von verschiedenen Teams, Rollen und Einzelpersonen
sind für den gesamten Lebenszyklus von besonders entscheidender Bedeutung:

    1. Schnellere Einsatzbereitschaft: Vom Konzept zu den Produktivsystemen
    2. Kürze Problem-Fix-Zyklen: Von der Erkennung von Problemen zu deren
       Behebung

Ein modernes ALM-Toolset muss diese beiden Workflows unterstützen und den
Übergang zwischen dem Entwicklungsteam und dem Betriebsteam beschleunigen.

 Abbildung 1: Etablierung von Workflows zwischen Entwicklung und Betrieb – Anwendungen entwickeln sich
 bei neuen Anforderungen weiter. Es besteht eine enge Verbindung zwischen dem Entwicklungs- und dem
 Betriebsteam. An den Übergabepunkten zwischen den Teams entstehen traditionell Engpässe und
 Kommunikationsprobleme.

Whitepaper: Application Lifecycle Management mit Visual Studio vNext                           Seite 6 von 28
Application Lifecycle Management mit Visual Studio vNext
Damit ein Projekt in der geplanten Spur bleibt, reichen verknüpfte Prozesse für die
beiden genannten Bereiche jedoch nicht aus. Es ist von entscheidender Bedeutung,
dass das Team regelmäßig Feedback von den weiteren Beteiligten erhält. Nur so ist es
in der Lage, das gewünschte Endprodukt erfolgreich zu liefern und nötige
Änderungen effizient umzusetzen.

Anpassung an aktuelle Marktbedingungen
Fast jeder Bereich der Softwarebranche muss heute mehr erreichen. Organisationen
stehen heute vor Problemen, für deren Lösung sie die eigenen Ansätze für
Anwendungserstellung, Support und Wartung verbessern müssen. In der
Softwarebranche erkennen wir folgende Dynamiken:

Ständige Verbesserung der Prozesse und Technologien führen zu neuen
Möglichkeiten, beispielsweise Cloud Computing.

Die Notwendigkeit, bei wachsender Vielfalt der Systeme und Umgebungsvariablen
trotzdem schneller Software zu entwickeln, steigert enorm die Komplexität von
Projekten.

Ressourcenknappheit und enge Zeitpläne erhöhen den Druck, neue Wege zu finden,
beispielsweise durch Outsourcing oder auch gerade dadurch, dass
Entwicklungskompetenz wieder zurück ins Unternehmen geholt wird.

Dadurch dass deutlich mehr Personen und Gruppen einbezogen werden müssen,
steigt die Kommunikationsmenge deutlich an.

ALM-Toolsets müssen diese Dynamiken abdecken. Sie müssen Teams darin
unterstützen, Ergebnisse über eine Vielzahl von Technologien schneller als bisher zu
liefern und gleichzeitig mit der Komplexität der Lösungen umzugehen. Sie müssen
außerdem, unabhängig von der Größe des Teams oder seiner geografischen
Verteilung, eine effektive Kommunikation über das gesamte Team hinweg
ermöglichen.

Whitepaper: Application Lifecycle Management mit Visual Studio vNext       Seite 7 von 28
Application Lifecycle Management mit Visual Studio vNext
Weniger Ressourcenvergeudung
Eine Vergeudung von Ressourcen und Arbeitszeit entsteht oftmals dann, wenn
Sollbruchstellen in den Workflows zwischen Teams bestehen. Typische Beispiele sind
schlecht definierte Übergabepunkte und ineffektive Prozesse, die eine Interaktion des
Teams behindern:

Wenn Individuen schlecht oder gar nicht in den Prozess einbezogen werden, führt
dies zu falsch gesetzten oder konkurrierenden Prioritäten.

Wenn wichtiger Kontext nur unvollständig erklärt werden kann, werden
Übergabepunkte zu Sollbruchstellen an denen Redundanzen und Missverständnisse
entstehen.

Ungewohnte Tools und Prozesse erzeugen Mehraufwand und erzwingen einen
ständigen Kontextwechsel bei Anwendern.

Mangelndes Verständnis für die Hintergründe und tatsächlichen Arbeitsweisen der
Beteiligten sorgt für geringe Akzeptanz der Prozesse und steigert drastisch den
Overhead und die Anzahl verlorener Produktivitätszyklen.

Erfolgreiche ALM-Systeme müssen sich speziell auf die Beseitigung solcher Probleme
konzentrieren. Dies ist nur über eine umfassende und realistisch umsetzbare
Integration möglich, die nicht nur die Entwickler einbezieht, sondern alle Beteiligten
des Application Lifecycle. Von der Designphase über die Entwicklung bis hin zum
Einsatz in der Produktivumgebung und der Wartung muss ein einzelner integrierter
Datenspeicher zur Verfügung stehen, über den für alle Beteiligten jederzeit ein
zuverlässiger Einblick in den Gesamtstatus und den Zustand des Projektes möglich ist.

Best Practices aus der agilen Entwicklung
Agile Development-Ansätze und vor allem das Scrum-Modell sind mit der Zeit immer
populärer geworden. Wichtige Ziele dieser Ansätze sind eine deutliche Verbesserung
der Transparenz für das gesamte Projektteam, die Verbesserung der Zusammenarbeit
zwischen Teammitgliedern und eine starke Ausrichtung auf den tatsächlichen Nutzen
des Endproduktes für Kunden und Anwender.

In den agilen Ansätzen gibt es viele Best Practices. Diese können individuell umgesetzt
und auf fast jedes Projekt und jeden Prozess angewandt werden – inklusive formaler
Herangehensweisen wie CMMI oder traditioneller Herangehensweisen wie dem
Wasserfall-Modell. Entsprechende Best Practices sind zum Beispiel Product Backlogs,

Whitepaper: Application Lifecycle Management mit Visual Studio vNext         Seite 8 von 28
Application Lifecycle Management mit Visual Studio vNext
Iterationen, Sprints, Daily Stand Ups, Task Boards, Burn Down Charts, Stakeholder
Feedback, Unit Testing und Pair Programming.

 Abbildung 2: Agile Development-Ansätze sorgen durch das iterative Vorgehen für eine deutliche Verbesserung
 der Transparenz für das gesamte Projektteam. Sie verbessern die Zusammenarbeit zwischen Teammitgliedern und
 ermöglichen eine starke Ausrichtung auf den Nutzen für den Endanwender.

ALM-Lösungen müssen die Nutzung von Best-Practices aus der agilen Entwicklung
ermöglichen und gleichzeitig den momentan verwendeten Ansatz adaptieren und
unterstützen. Nur so ist es möglich, neue Best-Practices schrittweise einzuführen und
gleichzeitig zu skalieren.

Whitepaper: Application Lifecycle Management mit Visual Studio vNext                           Seite 9 von 28
Application Lifecycle Management mit Visual Studio vNext
Application Lifecycle Management mit Visual Studio
Visual Studio vNext ist bereits die dritte große Innovationswelle unserer ALM-
Lösungen auf Basis von Visual Studio mit Team Foundation Server. Sehen wir uns die
bisherigen großen Wellen in der Entwicklung von Application Lifecycle Management
mit Visual Studio an:

 Abbildung 3: Das Team zusammenbringen – Die ersten zwei wichtigen Innovationswellen haben viele Bereiche
 des Teams miteinander verbunden und vertrauenswürdige und transparente Brücken für einen besseren
 Informationsfluss geschaffen.

Die Basis: Teamzusammenarbeit mit Visual Studio 2005 und 2008
Bei der Erstveröffentlichung von Visual Studio Team System im Jahr 2005 lag unser
Augenmerk darauf, mit einem gemeinsamen Datenspeicher mit einem zentralen
Backlog für die Aktivitäten des gesamten Teams für mehr Übersicht zu sorgen: Team
Foundation Server ist das Herzstück von Visual Studio.

Der gemeinsame Datenspeicher war eng mit einem anpassbaren Entwicklungsprozess
integriert. Das System konnte so in verschiedenen Konfigurationen eingerichtet
werden und gleichzeitig individuelle Anforderungen berücksichtigen. Die Integration
von Entwicklungsumgebung und Datenspeicher sorgte dafür, dass Entwickler ihre
Aufgaben aus einem gemeinsamen Backlog bezogen. Nachdem sie die erforderlichen
Änderungen durchgeführt hatten, nutzen sie die integrierten Check-In-
Funktionalitäten, um die fertige Arbeit direkt über die Visual Studio-
Entwicklungsumgebung mit den entsprechenden Work-Items zu verknüpfen.

Auf diese Weise entstand ein transparenter Prozess, in dem Entwickler ihrer
tagtäglichen Arbeit nachgehen und mit minimalem Aufwand die Aktualität des
Projektplans sicherstellen konnten. Das Team konnte automatisierte Echtzeitberichte
nutzen, und das Projektmanagement-Team konnte seine gewohnten Tools wie

Whitepaper: Application Lifecycle Management mit Visual Studio vNext                         Seite 10 von 28
beispielsweise Microsoft Excel oder Microsoft Project zur Fortschrittsüberwachung
einsetzen.

Zweite Welle: Integration von Testern, Architekten und Eclipse
Bei der aktuellsten Produktversion Visual Studio 2010 lagen unsere Schwerpunkte auf
der Optimierung des Informationsflusses innerhalb des gesamten Teams und auf der
Verbesserung der Softwarequalität. Wir haben den Qualitätssicherungsprozess über
den Team Foundation Server nahtlos an das Entwicklungsteam angebunden und so
die Möglichkeit geschaffen, sowohl das Testen wie auch die Designphase eng in den
Entwicklungszyklus zu integrieren.

Mit von Grund auf neu entwickelten Tools sind die Tester aktiv in den
Entwicklungszyklus integriert. Mit Team Foundation Server arbeiten die eng
miteinander verzahnten Bereiche Entwicklung und Test nun auf ein gemeinsames Ziel
hin.

Die virtualisierte Testumgebung mit ihren integrierten Instrumenten zur
Qualitätssicherung sorgt für einen umfassenden Überblick des Projektfortschritts. Die
Tester können Fehler inklusive aller vom Entwickler zur Nachstellung benötigten
Metadaten sehr einfach festhalten. So müssen unvollständig beschriebene Fehler
weniger häufig zwischen den Teams hin und her zugewiesen werden und es werden
weniger Ressourcen für solche Vorgänge verschwendet.

Mit der Unterstützung für die Eclipse-Entwicklungsplattform unter Macintosh,
Windows und Linux stehen die Vorteile unserer Vision nun auch auf anderen
Plattformen zur Verfügung. Teams können so an einem umfangreicheren Portfolio aus
heterogenen Anwendungen arbeiten und die Vorteile einer gemeinsamen
Collaboration-Infrastruktur nutzen. Weitere Informationen zur Integration von Eclipse
in Visual Studio Team Foundation Server finden Sie online unter
www.microsoft.de/visualstudio/eclipse.

Whitepaper: Application Lifecycle Management mit Visual Studio vNext      Seite 11 von 28
Visual Studio vNext: Ausweitung auf den ganzen
Entwicklungszyklus und Einbeziehung neuer Gruppen
Mit Visual Studio vNext verbessern wir den Informationsfluss zwischen Stakeholdern
und Development, also zwischen Kunden und Fachbereichen auf der einen Seite und
dem Entwicklungsteam auf der anderen Seite.

Die Softwarequalität wurde in allen Bereichen des Entwicklungszyklus verbessert – von
Check-in bis Sprint. Wir befreien das Team von ablenkenden Einflüssen und
unterstützen es durch die Automatisierung vieler häufig vorkommender Interaktions-
und Verwaltungsaktivitäten dabei, seine Aufmerksamkeit auf das Wesentliche zu
richten.

Sehen wir uns verschiedene Szenarien aus Visual Studio vNext an:

Agile Planungstools erlauben Transparenz über alle Planungsprozesse und beziehen
das gesamte Team ein. Sie sind flexibel einsetzbar, können individuell angepasst
werden und eignen sich für Teams jeder Größe – von 2 bis 20.000 und darüber
hinaus…

Schlanke Anforderungen („Lightweight Requirements“) bedeuten einen
natürlichen Weg, frühzeitig im Entwicklungsprozess wichtiges Feedback sammeln und
auswerten zu können.

Direktes Stakeholder Feedback dank smarter Nutzung gewohnter Werkzeuge stellt
sicher, dass Endanwender wie beispielsweise Kunden oder Fachabteilung direkt und
komfortabel Feedback geben können, welches dann ohne Umschweife in den
Entwicklungsprozess einfließt.

Agile Qualitätssicherung und kontinuierliches Testen stellen die Qualität im
Endprodukt sicher und verbessern die Codequalität dank Unterstützung für Code
Reviews, erweiterte Unit Test Frameworks und neuartige Methoden für exploratives
Testen.

Hilfreiche Werkzeuge für eine vorbildliche Abstimmung von Entwicklung und
Betrieb („Operations“) führen zu einer besseren Anbindung und mehr Einblick
zwischen den Abteilungen und dazu, dass Fehler auch in Produktivumgebungen
schneller gefunden und beseitigt werden.

Eine verbesserte User Experience der Werkzeuge erlaubt den einzelnen Personen,
sich mehr auf die Aufgaben zu konzentrieren, anstatt auf ungewohnte Prozesse und
Werkzeuge und dadurch effizienter zu arbeiten.

Whitepaper: Application Lifecycle Management mit Visual Studio vNext      Seite 12 von 28
Agile Planungstools
Im Verlauf eines Projektes muss nicht nur die geplante Arbeit erledigt werden. Es
kommt auch neuer Arbeitsaufwand hinzu – beispielsweise, weil neue Anforderungen
umgesetzt werden müssen, weil ein Problem in der Produktivumgebung entdeckt
wurde oder einfach weil ein Teammitglied ausfällt. Bei solchen Veränderungen muss
sich auch der Plan entsprechend ändern lassen. Agile Teams sind offen für
Änderungen („Change“) und können damit effizient umgehen.

Visual Studio vNext bringt innovative neue Werkzeuge, mit denen sich alle Beteiligten
– vom Entwickler bis zum Endanwender – hilfreich in den Planungsprozess einbringen
können. Die einzelnen Personen können dabei auf vertraute Werkzeuge und
Methoden zurückgreifen und werden nicht aus ihrem Arbeitsfluss herausgerissen.

Unsere Tools zwingen Sie nicht dazu, einen bestimmten Prozess umzusetzen.
Stattdessen können Sie Best Practices aus der agilen Entwicklung nutzen. Diese Best
Practices können Sie im für Sie passenden Umfang einsetzen. Sie sind in den Portfolio-
Managementtools integriert und bieten Ihnen die Möglichkeit, in geografisch weit
verteilten Teams zu arbeiten.

Abbildung 4: Pflegen des Produkt-Backlogs – Das Produkt-Backlog bietet einen übergreifenden Überblick zur
aktuellen Arbeit, der dynamisch sortiert und gruppiert werden kann. Die Kunden können so die Arbeit schnell
priorisieren und Abhängigkeiten und Beziehungen beschreiben.

Whitepaper: Application Lifecycle Management mit Visual Studio vNext                               Seite 13 von 28
Abbildung 5: Sprint-Planung – Nach der Priorisierung der Arbeit ist es Zeit zur Sprint-/Iterationsplanung, zur
Ermittlung der Aufgaben und zur Zuweisung der Arbeiten. Durch die vorherige Aufbereitung der erforderlichen Daten
machen die verbesserten Werkzeuge für Aufgaben im Team Web Access diesen Prozess einfacher. Sie vereinfachen
die Zuordnung und Aktualisierung. Die Sprint-Planungstools unterstützten das Team effektiv darin, die Arbeit auf die
verfügbaren Kapazitäten zu verteilen. In diesem Screenshot zeigen interaktive Balkendiagramme die Kapazität der
Teammitglieder an. So steht Ihnen ein Echtzeitfeedback zur Planaktualisierung zur Verfügung.

Abbildung 6: TaskBoard im Team Web Access – Mit dem TaskBoard können Sie den Status der Aufgaben
anzeigen. So ist es möglich, den Fortschritt eines Teams für die einzelnen Produkt-Backlog-Elemente zu betrachten
und einen schnellen Überblick über die verbleibende Arbeit zu gewinnen. Unabhängig von der ausgewählten Vorlage
für das Projekt nutzt das TaskBoard die Regeln aus der Prozessvorlage (beispielsweise Statusübergänge). Ein in das
TaskBoard integriertes Echtzeitdiagramm zeigt die verbleibende Arbeit an.

Whitepaper: Application Lifecycle Management mit Visual Studio vNext                                Seite 14 von 28
Abbildung 7: Anbindung an Project Server – Über die Anbindung stehen Ihnen aktuelle Informationen zur
Portfolio-Bearbeitung, zur Ausrichtung an den strategischen Zielen und zur Ressourcennutzung der
Softwareentwicklungsprojekte zur Verfügung. Diese Informationen basieren auf Daten aus verschiedensten Systemen.
Der Austausch von Projektinformationen zwischen den Teams erfolgt so völlig automatisch. Durch gemeinsame
Daten und Maßzahlen verbessert sich die Koordination zwischen Teams mit unterschiedlichen Arbeitsweisen.

Agile Teams können auch weiterhin mit Product-Backlogs und User-Stories arbeiten und der PMO kann weiterhin die
Ressourcen im Unternehmen verwalten.

Whitepaper: Application Lifecycle Management mit Visual Studio vNext                               Seite 15 von 28
Einfache Anforderungen
Egal, ob es sich um eine neue Lösung oder die Erweiterung einer bestehenden Lösung
handelt: Um Anforderungen wunschgemäß umzusetzen, müssen die Teams mit den
beteiligten Interessengruppen zusammenarbeiten. Storyboards haben sich hier als
sehr gut geeignete und erprobte Verfahren erwiesen. Sie stellen sicher, dass bereits
vor der Codeentwicklung ein detailliertes Feedback zur Verfügung steht.

In Visual Studio vNext gibt es daher einen StoryBoard-Assistenten. Dieser Assistent
integriert ein Storyboard-Element in die PowerPoint-Multifunktionsleiste. So werden
Erstellung und Überprüfung eines Storyboards mit dem Rest des Teams verknüpft. Die
Teammitglieder können ein Storyboard erstellen und es dem Team und den
Interessengruppen zur Verfügung stellen. Ihnen steht eine Bibliothek mit
Steuerelementen für verschiedene Anwendungstypen und Tools zur Verfügung. Mit
diesen Steuerelementen stellen die Teammitglieder ein entsprechendes Feedback
bereit, das direkt in den Erstellungsprozess einfließen kann.

Abbildung 8 – Der StoryBoard-Assistent in PowerPoint bietet die Möglichkeit, die Anforderungen aller
Teammitglieder in einem bekannten Tool nachzubilden.

Mit den umfangreichen Features sind verschiedenste Storyboard-Elemente möglich:

    •        Grafische Designelemente
    •        Eingebettete Inhalte (inklusive Kontext-Folien)
    •        Screenshots und kleine Animationen
    •        In Bibliotheken gespeicherte Elemente
    •        Mastervorlagen vereinfachen das Erstellen mehrerer ähnlicher Ansichten

Whitepaper: Application Lifecycle Management mit Visual Studio vNext                           Seite 16 von 28
Die Werkzeuge zur Zusammenarbeit aus PowerPoint unterstützen den
Feedbackprozess nachhaltig:

    •        Präsentation der Konzepte für andere
    •        Versenden der Dokumente für Feedbackzwecke per E-Mail
    •        Ausdrucken der Dokumente
    •        Platzieren der Dokumente in einer Versionskontrolle
    •        Nutzung von gemeinsamen Bearbeitungstools
    •        Nutzung von Tools zur Anzeige über das Internet

Abbildung 9: Beispiele zu Storyboard-Folien – vier Beispiele zur Nutzung des StoryBoard-Assistenten. In diesen
Screenshots sehen Sie den Entwurf einer Windows Phone-Benutzeroberfläche, eine Webanwendung zur
Musikwiedergabe, eine SharePoint-Anwendung und Visual Studio.

Whitepaper: Application Lifecycle Management mit Visual Studio vNext                             Seite 17 von 28
Promptes Feedback
Eine wichtige Voraussetzung für die konsistente Umsetzung von Anforderungen in der
Agilen Entwicklung ist das regelmäßige Feedback aller Beteiligten. Das Erkennen von
Problemen wird einfacher, wenn direkt mit der Lösung gearbeitet werden kann. Sie
sind dann in der Lage, bessere und schnellere Lösungsansätze zu finden. Entwickler
sind häufig der Meinung, dass sie genau das entwickelt haben, was der Kunde
verlangt hat. Wogegen der Kunde zum Projektende behauptet, er „hätte das Ganze
anders gemeint“.

Dieses Problem haben wir beim Entwurf von Visual Studio vNext sorgfältig bedacht.
Wir haben uns gefragt, wie Teams einfacher und schneller zu einem funktionierenden
Programmcode kommen können, um so ihre Backlogs für jeden Sprint-Zyklus an die
Anforderungen der Interessengruppen anzupassen. Dies kann in erster Linie durch das
Bereitstellen von Feedback zur Projektlaufzeit unterstützt werden. Wenn wir das
Design entsprechend verändern, kann Visual Studio vNext den Informationsfluss
zwischen den Interessengruppen und dem Team deutlich verbessern. Workflows aus
der Agilen Entwicklung werden genutzt, die Bereitstellung wird beschleunigt und
Risiken sowie die Verschwendung von Ressourcen werden minimiert.

Mit Visual Studio vNext stellen wir Tools bereit, mit denen alle Beteiligten direkt am
Entwicklungsprozess teilhaben können. Auf diese Weise erhalten die Teams ein
aussagekräftiges Feedback zu ihrem Backlog. Sie können sich so auf aktuelle
Aufgaben und auf das Feedback für die noch verbleibenden Aufgaben konzentrieren.

Abbildung 10: Abfrage des Feedbacks der Interessengruppen – Der Projektleiter definiert das Feedback, das er
von den Interessengruppen erhalten möchte, und stößt den Feedbackprozess dann per E-Mail an.

Whitepaper: Application Lifecycle Management mit Visual Studio vNext                           Seite 18 von 28
Abbildung 11: Zusammenstellung des Feedbacks auf einer Website – Das Feedbacktool für die
Interessengruppen zeichnet das Feedback über eine Website auf. Es bietet den Benutzern während der
Feedbackerstellung verschiedenste Interaktionsmöglichkeiten (beispielsweise Action-Scripts, Anmerkungen,
Screenshots, Audiodaten etc.).Die Beteiligten können auf diese Art und Weise umfangreiche und aussagekräftige
Daten an das Team weitergeben

                                                                                                   .

Abbildung 12: Priorisierung und Berücksichtigung von Feedback – Wenn Feedbackinformationen eingehen,
dann priorisiert das Team diese und weist die entsprechende Arbeit für den nächsten Sprint-Zyklus verschiedenen
Teammitgliedern zu. Das Feedback verknüpft somit konkrete Aufgaben und adressiert die abzuleitenden Arbeiten an
das Team.

Whitepaper: Application Lifecycle Management mit Visual Studio vNext                              Seite 19 von 28
Agile Qualitätssicherung
Die Qualität einer Software wird von jedem Entwicklungszyklus beeinflusst. Aufbauend
auf den Funktionalitäten von Visual Studio 2010, haben wir auf die Mittel zur
Verbesserung der Softwarequalität während der Erstellungsphase besonderen Wert
gelegt:

         Einzelne Entwickler haben die Möglichkeit, sich zuerst auf das korrekte Unit-
          Testing zu konzentrieren.
         Es stehen Tools bereit, mit denen das Team bei neuem Programmcode oder
          einem Refactoring von bestehendem Programmcode zusammenarbeiten kann.
         Es stehen Tools zur Unterstützung des Exploratory-Testings bereit. Diese sorgen
          für die Erkennung von Fehlern nach der Build-Erstellung.

Abbildung 13: Fortlaufende Unit-Tests – Bei der Softwareentwicklung geht es darum, auf dem richtigen Weg zu
bleiben. Der neue Unit Test Runner unterstützt dies, indem er während der Erstellung der Software entsprechende
Tests durchführt. Die Testergebnisse stehen direkt zur Verfügung und weisen auf Probleme direkt während der
Codeerstellung hin. Seit Visual Studio 2010 werden Test Impact-Analysen verwendet. Dabei werden die wichtigsten
Tests immer als Erstes ausgeführt

Whitepaper: Application Lifecycle Management mit Visual Studio vNext                              Seite 20 von 28
Abbildung 14: Code-Review in Aktion – Visual Studio vNext bietet Unterstützung bei Code-Reviews.
Teammitglieder können Feedback zu neuem Programmcode bereitstellen und ihre Kenntnisse mit dem Team teilen.
Wenn erforderlich, so können Code-Reviews als Qualitätskriterium für den Entwicklungsprozess eingesetzt werden. Im
Screenshot sehen Sie die hervorgehobenen Änderungen am Quellcode und die Kommentare der Teammitglieder zu
diesen Änderungen.

Abbildung 15: Code Clone Detection – Eine Überprüfung eines Projekts mit dem Ziel, häufig vorkommende
Codeblöcke per Refactoring in einen gemeinsam genutzten Codeblock auszulagern.

Die Erkennung nutzt eine von Microsoft Research entwickelte Technologie. Sie arbeitet mit einem weitmaschigen
Netz und erkennt so Codeblöcke mit ähnlichen Strukturen und Vorgehensweisen.

Die Suche arbeitet hierbei nicht nur vergleichend, sondern auch semantisch. Mit dieser Technik werden sowohl Copy-
Paste-Fehler als auch Codefragmente mit gleicher logischer Struktur und nur oberflächlichen Abweichungen
(beispielsweise Variablennamen) erkannt.

Als Suchergebnis steht ein Bericht zur Verfügung, mit dem das Team häufig vorkommende Codeteile überprüfen
kann.

Whitepaper: Application Lifecycle Management mit Visual Studio vNext                              Seite 21 von 28
Abbildung 16 - Exploratory Testing. Für gewöhnlich werden die wichtigsten Fehler während der ungezielten
Erkundung der Anwendung entdeckt.

Das Exploratory Testing in Visual Studio erstellt ein vollständiges Protokoll der Interaktion mit der zu testenden
Software. Sie können dann die relevanten Teile, die Sie zur Darstellung des Fehlers benötigen, aus dem Protokoll mit
Screenshots kombinieren. So wird das Problem exakt wiedergegeben.

Ausrichtung von Entwicklung und Betrieb
Alle erfolgreichen Softwareprojekte kommen irgendwann in einer
Produktivumgebung zum Einsatz. Erst in diesem Moment wird der tatsächliche Nutzen
eines Softwareprojektes für das Unternehmen messbar. An diesem Punkt treten jedoch
häufig viele Fehler auf, die nur schwer zu reproduzieren sind. Oft erfährt das Team von
Fehlern in der Produktivumgebung, ist jedoch nicht in der Lage, die entsprechenden
Probleme außerhalb der Produktivumgebung nachzustellen, bzw. zu reproduzieren.
Dies führt zu Frustration bei den Benutzern und dem für den Betrieb der Lösung
verantwortlichen Team.

Mit Visual Studio vNext bieten wir Ihnen Integrationselemente, mit denen Sie einen
umfangreichen und nachvollziehbaren Workflow zwischen dem Entwicklungsteam
und dem Betriebsteam etablieren. Ein erstes entsprechendes Szenario wurde auf der
TechEd NA vorgestellt. Es gibt den Mitarbeitern aus dem Betriebsteam die
Möglichkeit, über System Center benötigte Daten an das Entwicklungsteam
weiterzugeben. Dieses kann die Fehler besser sichten und schneller ihren Ursprung im
Programmcode ermitteln. Diese Integration steht bereits als CTP (Community
Technology Preview) zur Verfügung.

Whitepaper: Application Lifecycle Management mit Visual Studio vNext                                   Seite 22 von 28
In Visual Studio vNext bringen wir unsere erprobte IntelliTrace-Infrastruktur in die
Produktivszenarien ein, die wir bislang in Debugging-, Entwicklungs- und
Testumgebungen genutzt haben. So verbessern und intensivieren wir die
Zusammenarbeit von Entwicklern und Betriebsteams noch stärker. Dies findet nun in
der Erstellungsphase statt und bedeutet somit eine engere Verzahnung der
Interessengruppen untereinander. Dies führt zur Erhöhung der Softwarequalität, bei
gleichzeitiger Minimierung der möglichen Fehlerquellen.

Abbildung 17: Anwendungsfehler in der Produktivumgebung – In einer Anwendung in der Produktivumgebung
wird ein Problem entdeckt und im System Center ein Alarm erzeugt. Das Betriebsteam kann schnell feststellen, ob das
Problem mit der Anwendung selbst oder aber mit der Umgebung zusammenhängt.

Whitepaper: Application Lifecycle Management mit Visual Studio vNext                              Seite 23 von 28
Abbildung 18: Senden des Problems an das Entwicklungsteam – Wurde festgestellt, dass das Problem auf der
Anwendungsschicht zu finden ist, so leitet der Administrator das Problem über die integrierte Anbindung des Team
Foundation Server an das Entwicklungsteam weiter.

Abbildung 19: Umfangreiche Daten für die Entwickler – Es folgt die Sichtung des Problems durch den Projektleiter.
Dieser übergibt es an ein Mitglied des Entwicklungsteams. Der Aufgabenpunkt umfasst aussagekräftige Daten für den
Entwickler (Umgebungsdaten, ein Stack-Trace, AVICode-Telemetriedaten usw.). Der Entwickler kann so das Problem
schnell identifizieren und mit einem Klick direkt zur entsprechenden Codezeile springen. In Visual Studio vNext gehen
wir noch einen Schritt weiter. Es ist möglich, ein vollständiges IntelliTrace-Protokoll aus der Produktivumgebung
anzuhängen.

Whitepaper: Application Lifecycle Management mit Visual Studio vNext                                  Seite 24 von 28
Verbessertes User Experience
Als Erstes werden Sie wahrscheinlich die verbesserte User Experience von Visual Studio
vNext bemerken. Wir haben uns darauf konzentriert, viele der tagtäglich von den
Teammitgliedern durchgeführten Aufgaben zu vereinfachen. Unser Ziel war es, Ihnen
die Arbeit mit der Software möglichst angenehm zu gestalten. Dieses Ziel ist im Team
von großer Bedeutung, um die Verschwendung von Ressourcen zu vermeiden oder
zumindest zu reduzieren.

Abbildung 20: Context-Switching mit MyWork – Eine der schwersten Aufgaben für einen Entwickler ist der
Umgang mit Unterbrechungen (vor allem dann, wenn ihn diese dazu zwingen, den Kontext des Projektes und des
gerade bearbeiteten Codes zu wechseln). Solche Wechsel stellen eine permanente Quelle für Fehler und
Verzögerungen dar. MyWork nutzt einen neuen, aufgabenbasierten Ansatz, um die Arbeitsbereiche der Entwickler zu
vereinheitlichen. Wenn der Entwickler den Kontext wechselt, beispielsweise um einen dringenden Fehler zu beheben,
so fasst Visual Studio alle offenen Arbeiten aus dem aktiven Task automatisch zusammen. Ruft der Entwickler diesen
Task später wieder auf, wird die Arbeit direkt im Kontext wiederhergestellt.

Whitepaper: Application Lifecycle Management mit Visual Studio vNext                              Seite 25 von 28
Abbildung 21: Team-Explorer – Der Team-Explorer bindet die Visual Studio-IDE an den Team Foundation Server
 an. In vNext wurde das Nutzererlebnis erheblich verbessert. Die vollständig asynchrone Kommunikation führt zu
 stark beschleunigten Ladezeiten. Wir haben außerdem neue Standardansichten entwickelt, mit denen die für Sie
 wichtigen Informationen hervorgehoben werden (beispielsweise Ihnen zugeordnete Aufgaben, der Build-Fortschritt,
 Berichte und Fehler). Die verbesserte Suchfunktion unterstützt Sie darin, die benötigten Informationen schnell zu
 finden.

Abbildung 22: Management der Aufgaben– Wir haben die Weboberfläche für den Team Foundation Server
vollständig überarbeitet (sie nutzt standardkonformes HTML). Wo möglich, nutzen wir Touch-Bedienelemente zur
natürlichen Interaktion. Auch die Leistung vom Team Web Access wurde verbessert – inklusive der Erstellung und
Pflege von Aufgaben.

Whitepaper: Application Lifecycle Management mit Visual Studio vNext                                 Seite 26 von 28
Abbildung 23: Dialog für neue Aufgaben – Der Aufgabenbetrachter in Visual Studio wurde mit vNext erheblich
erweitert. Umfangreiche Texte und Bilder können in Aufgaben eingebettet werden, was die Qualität des Feedbacks
erheblich verbessert. Viele Standardfelder werden außerdem bereits vorab ausgefüllt.

Abbildung 24: Team Foundation Server mit Windows Azure – Wir haben den Team Foundation Server auf die
Windows Azure-Plattform gebracht. Ein Team kann das Produkt so innerhalb von nur 30 Sekunden einrichten.

Whitepaper: Application Lifecycle Management mit Visual Studio vNext                            Seite 27 von 28
Fazit
Moderne und leistungsfähige Lösungen für das Anwendungsmanagement müssen
sich mit den Problemen befassen, die Teams daran hindern, ihr volles Potenzial
auszuschöpfen. Sie müssen entsprechende Möglichkeiten bieten:

       Bessere Zusammenarbeit durch nahtlose Integration aller Rollen im Team
       Rechtzeitiges und direkt umsetzbares Feedback verringert die
        Verschwendung von Ressourcen
       Benutzer werden dort abgeholt, wo sie sich befinden, ihre Arbeitsweise und die
        gewohnten Werkzeuge werden in den Prozess integriert
       Transparente und agile Best Practices, die nach Belieben übernommen
        werden können

Abbildung 25: Zusammenbringen des gesamten Teams – Mit Visual Studio vNext bringen wir das Team durch
die Integration der natürlichen Arbeitsweisen Einzelner enger zusammen und verbessern den Austausch von
Informationen nachhaltig.

Visual Studio vNext ist ein wichtiger und richtiger Schritt, den gesamten
Entwicklungszyklus möglichst breit abzudecken. Diese breite Abdeckung ist für den
Erfolg von Projekten von entscheidender Bedeutung. Wir haben uns zudem darauf
konzentriert, ein ständiges Feedback im gesamten Entwicklungszyklus zu
gewährleisten. Nur so ist eine umfassende, produktive und skalierbare Interaktion
möglich, die für mehr Produktivität und weniger Risiken sorgt.

Wir freuen uns darauf, Ihnen und Ihrem Unternehmen unsere Fortschritte zu
demonstrieren. Die beste Möglichkeit, diese Fortschritte zu beurteilen, ist die
Übernahme der grundlegenden Technologien von Visual Studio 2010. Wenn Sie
weitere Informationen benötigen, besuchen Sie die Visual Studio-Website:
www.microsoft.de/visualstudio

Whitepaper: Application Lifecycle Management mit Visual Studio vNext                            Seite 28 von 28
Sie können auch lesen