agile softwareentwicklung mit visual studio v.next ......nes application lifecycle management und...

4
Agile Softwareentwicklung mit Visual Studio v.Next – Kommunikation ist alles! Eine gute Kommunikation zwischen allen Beteiligten in einem Projekt ist die Grundvoraussetzung für Produktivität und Qualität in jeder Ingenieursdisziplin, insbesondere in der Softwareentwicklung. Der Cartoon „How Projects really work“ [Pro] beschreibt auf eine lustige Weise, wie eine reibungslose Kommunikation und ein zeitnaher Feedbackprozess zwischen allen Projektbeteiligten viele Missverständnisse von vornherein vermeiden können und letztendlich zum erfolgreichen Projektabschluss beitragen. wir Teams eine Plattform zur Verbesserung der Kommunikation zur Verfügung stellen, die alle wichtigen Rollen im Software- Lebenszyklus einbindet. Nachfolgend stel- len wir Ihnen einige der Neuerungen aus vier unterschiedlichen Blickwinkeln im Anwendungslebenszyklus vor und zeigen Ihnen, was damit gemeint ist. methoden, dann wird auch der Kommuni- kation ein hoher Stellenwert eingeräumt. „Zusammenarbeit mit dem Kunden mehr als Vertragsverhandlung“ sowie das „Reagieren auf Veränderung mehr als das Befolgen eines Plans“ sind zwei wichtige Punkte des agilen Manifestes [Agi01], die sich darin widerspiegeln. In der nächsten Version von Visual Studio v.Next möchten Heutige Softwareentwicklung stellt alle Projektbeteiligten vor immer größere Herausforderungen: Die Anwendungen bie- ten immer mehr Möglichkeiten, doch damit steigt die Komplexität der Systeme enorm. Da fast jeder Bereich der Softwarebranche heute mehr erreichen muss, besteht die Notwendigkeit, schneller Software zu ent- wickeln. Vor allem, da deutlich mehr Personen und Gruppen in den Entwick- lungsprozess einbezogen werden müssen, steigt die Kommunikationsmenge deutlich an. Bei der Entwicklung von Visual Studio 2010 haben wir als eines der Hauptprobleme bei der Kommunikation zwischen Entwick- lungs- und Testabteilung einen Bruch bei der Übertragung der für die Fehlerbehebung rele- vanten Informationen erkannt. Eine der Ideen war, sogenannte „Rich Bugs“ als „Actionable Items“ beim Auftreten von Fehlern im Testdurchlauf zu generieren, sodass der Entwickler alle für ihn relevanten Informationen zur Fehler- behebung zur Verfügung hat. Der agile Konsens stellt Transparenz im Entwick- lungsprozess, die Vermeidung von Ver- schwendung sowie den Fluss von Werten in den Vordergrund. Betrachtet man zum Beispiel Scrum als einen Vertreter von agilen Entwicklungs- der autor Artur Niesporek (E-Mail: [email protected]) ist Spezialist für Visual Studio in der Developer Platform & Strategy Group bei Microsoft Deutschland. Zuvor war er innerhalb der Microsoft Partner- Organisation als technischer Berater mit dem Schwerpunkt Application Lifecycle Management tätig. Aus dieser Zeit kann er auf umfangreiche Erfahrungen in der Zusammenarbeit mit Microsoft-Partnern im Bereich Softwareentwicklung und Software Development Lifecycle zurückgreifen. 1 www.objektspektrum.de advertorial Abb. 1: Verbindung von Workflows zwischen Entwicklungsabteilung und IT-Betrieb – Anwendungen entwickeln sich bei neuen Anforderungen weiter. Gerade an den Über- gabepunkten zwischen Entwicklungs- und Betriebsteam entstehen aber oft Engpässe und Kommunikationsprobleme.

Upload: others

Post on 05-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Agile Softwareentwicklung mit Visual Studio v.Next ......nes Application Lifecycle Management und agile Softwareentwicklung. Dort erwarten Sie Keynotes von Microsoft-Sprechern Dort

Agile Softwareentwicklung mitVisual Studio v.Next – Kommunikation ist alles!Eine gute Kommunikation zwischen allen Beteiligten in einem Projekt ist die Grundvoraussetzung für Produktivität und Qualität injeder Ingenieursdisziplin, insbesondere in der Softwareentwicklung. Der Cartoon „How Projects really work“ [Pro] beschreibt aufeine lustige Weise, wie eine reibungslose Kommunikation und ein zeitnaher Feedbackprozess zwischen allen Projektbeteiligtenviele Missverständnisse von vornherein vermeiden können und letztendlich zum erfolgreichen Projektabschluss beitragen.

wir Teams eine Plattform zur Verbesserungder Kommunikation zur Verfügung stellen,die alle wichtigen Rollen im Software-Lebenszyklus einbindet. Nachfolgend stel-len wir Ihnen einige der Neuerungen ausvier unterschiedlichen Blickwinkeln imAnwendungslebenszyklus vor und zeigenIhnen, was damit gemeint ist.

methoden, dann wird auch der Kommuni -ka tion ein hoher Stellenwert eingeräumt.„Zusammenarbeit mit dem Kunden mehrals Vertragsverhandlung“ sowie das„Reagieren auf Veränderung mehr als dasBefolgen eines Plans“ sind zwei wichtigePunkte des agilen Manifestes [Agi01], diesich darin widerspiegeln. In der nächstenVersion von Visual Studio v.Next möchten

Heutige Softwareentwicklung stellt alleProjektbeteiligten vor immer größereHeraus forderungen: Die Anwendungen bie-ten immer mehr Möglichkeiten, doch damitsteigt die Komplexität der Systeme enorm.Da fast jeder Bereich der Software brancheheute mehr erreichen muss, besteht dieNotwendigkeit, schneller Software zu ent-wickeln. Vor allem, da deutlich mehrPersonen und Gruppen in den Entwick -lungsprozess einbezogen werden müssen,steigt die Kommunikations menge deutlichan. Bei der Entwicklung von Visual Studio2010 haben wir als eines der Hauptproblemebei der Kommunika tion zwischen Entwick -lungs- und Testab teilung einen Bruch bei derÜbertragung der für die Fehlerbehebung rele-vanten Informationen erkannt.

Eine der Ideen war, sogenannte „RichBugs“ als „Actionable Items“ beimAuftreten von Fehlern im Testdurchlauf zugenerieren, sodass der Entwickler alle fürihn relevanten Informationen zur Fehler -behebung zur Verfügung hat. Der agileKonsens stellt Transparenz im Entwick -lungs prozess, die Vermeidung von Ver -schwendung sowie den Fluss von Werten inden Vordergrund.

Betrachtet man zum Beispiel Scrum alseinen Vertreter von agilen Entwicklungs -

der au tor

Artur Niesporek

(E-Mail: [email protected])ist Spezialist für Visual Studio in der Developer Platform & Strategy Group beiMicrosoft Deutschland. Zuvor war er innerhalb der Microsoft Partner-Organisation als technischer Berater mit dem Schwerpunkt ApplicationLifecycle Management tätig. Aus dieser Zeit kann er auf umfangreicheErfahrungen in der Zusammenarbeit mit Microsoft-Partnern im BereichSoftwareentwicklung und Software Development Lifecycle zurückgreifen.

1 www.objektspektrum.de

advertorial

Abb. 1: Verbindung von Workflows zwischen Entwicklungsabteilung und IT-Betrieb –Anwendungen entwickeln sich bei neuen Anforderungen weiter. Gerade an den Über-gabepunkten zwischen Entwicklungs- und Betriebsteam entstehen aber oft Engpässeund Kommunikationsprobleme.

Page 2: Agile Softwareentwicklung mit Visual Studio v.Next ......nes Application Lifecycle Management und agile Softwareentwicklung. Dort erwarten Sie Keynotes von Microsoft-Sprechern Dort

Kommunikation zwischenKunde und EntwicklungsteamWie oft kommt es in Softwareentwick -lungsprojekten zu Missverständnissen zwi-schen den Wünschen und Anforderungendes Kunden sowie der gelieferten Imple -mentierung? Anforderungen werden inScrum vom Product Owner als User Storiesbeschrieben und idealerweise mitAkzeptanzkriterien versehen, sodass dasEntwicklungsteam ein definiertes „Done“-Kriterium an der Hand hat, um eineAnforderungen abzuschließen.

Die User Stories sind für technisch ver-sierte Personen sicherlich nachvollziehbarund verständlich, jedoch tut sich gerade derEndkunde oder Anwender in der Fach -abteilung schwer, die Funktionalität derAnwendung über die Beschreibungen derUser Stories zu begreifen. Hier haben sichStoryboards bewährt, welche die Anfor -derungen anhand von Screenshots oderOberflächen- Mockups beschreiben.

Auch intern in der Developer Divisionsetzen wir Storyboards ein, um kompletteEnd-to-End-Szenarien von Visual Studio-

Funktionalitäten zu visualisieren. DieseStory Boards werden in PowerPoint erstelltund ermöglichen einen frühzeitigen unddetaillierten Feedbackprozess mit demKunden.

In Visual Studio v.Next gibt es einenStoryboard-Assistenten, welcher als Add-Infür PowerPoint zur Verfügung steht. Damitkann ein Entwicklungsteam seine Ideenvon der Software als Oberflächenprototypmodellieren und dem Kunden oder demFachanwender über den Team FoundationServer zur Verfügung stellen. Dazu kann

2Online-Themenspecial Agility 2011

Online-Themenspecial Agility 2011 advertorial

Abb. 2, 2-1: Der Storyboard-Assistent in PowerPoint bietet die Möglichkeit, die Anforderungen aller Teammitglieder in einembekannten Tool nachzubilden und das Feedback der Kunden auf einer Webseite einzuholen. Die Kunden können auf diese Weiseumfangreiche und aussagekräftige Daten an das Entwicklungsteam weitergeben.

Abb. 3: Aktueller Aufwand und die Zuordnung der Aufgabenkann dynamisch im neuen Webclient während einesTeammeetings eingesehen und bearbeitet werden. In Echtzeitwerden Burndown oder Velocity Charts gerendert, die einenaktuellen Status des Projekts widerspiegeln.

Abb. 4: Das Taskboard hilft dem Team im Daily Standup aufdie drei wichtigen Fragen „was habe ich gestern gemacht?“,„was mache ich heute?“ und „was hindert mich daran?“ einzu-gehen und die Aufgaben entsprechend ihrem Bearbeitungsstatuszu visualisieren.

Page 3: Agile Softwareentwicklung mit Visual Studio v.Next ......nes Application Lifecycle Management und agile Softwareentwicklung. Dort erwarten Sie Keynotes von Microsoft-Sprechern Dort

Vorteil. Das Taskboard kann komplettüber entsprechende Gesten am Bildschirmbedient werden.

Kommunikation zwischenEntwicklungs- undTestabteilungNachdem die Anforderungen implemen-tiert sind, sollten idealerweise funktionaleund nichtfunktionale Tests diese validieren.Gerade agile Teams wollen einen leichtge-wichtigen Prozess, um Funktionalitäten inganzen End-to-End-Szenarien zu prüfen.

Hierbei haben sich explorative Testsbewährt, da gewöhnlich gerade bei derungezielten Erkundung einer Anwendungdie wichtigsten Fehler entdeckt werden.Diese erlauben dem Tester mehr Flexibilitätbeim Testen der zugrundeliegenden An -wen dung, ohne auf formale Testfällezurückgreifen zu müssen, und somit früh-zeitiges Feedback aus der Qualitäts -abteilung. Der Tester kann direkt aus demMicrosoft Test Manager eine explorativeTestsession starten.

Dabei werden automatisch alle notwen-digen Datenkollektoren, u. a. DesktopVideorekorder, Audiorekorder oderIntelliTrace Debug-Informationen, initiali-siert und es kann mit dem Test derAnwendung begonnen werden. Sobald einFehler gefunden wird, kann der für dieReproduzierung relevante Teil des Fehlersaus dem gesamten Testprotokoll markiertund mit Screenshots und Anmerkungenversehen werden. Über den TeamFoundation Server können die Entwicklerauf diese Fehler zurückgreifen. Wichtig isthierbei, dass diese Fehler sogenannte„Actionable Items“ sind. Dies bedeutet,dass ein Entwickler direkt mit derBearbeitung anfangen kann und alle für ihnrelevanten Informationen besitzt. DieKommunikation mit dem Tester bzw. derTestabteilung kann so ohne Medienbrüchereibungslos funktionieren.

Kommunkation zwischenEntwicklung und IT-BetriebDer Lebenszyklus einer Anwendung gehtim Betrieb weiter. Sobald unsere Anfor -derungen implementiert, die Qualität veri-fiziert und eine Setup-Datei erstellt wurde,muss der IT-Betrieb diese auf ein Produk -tivsystem installieren. Die Installationerfordert nicht nur bestimmte Software -oraussetzungen auf dem Zielsystem, son-dern evtl. auch bestimmte Konfiguratio -nen, welche über Skripte eingerichtet

In Visual Studio 2010 wurden erstmalssogenannte „Agile Workbooks“ vorge-stellt. Diese excel-basierten Workbooksermöglichten dem Entwicklungsteam aufeinfache Art und Weise die Aufgaben undden Aufwand während der Entwicklung zudokumentieren. Visual Studio v.Nextbringt einen komplett überarbeitetenWebclient zum Backlog Management mit.Gerade bei der Planung und Zuweisung derAufgaben unterstützt das neue BacklogManagement System das Team durch dieVisualisierung aller Kapazitäten undAufgaben.

Im Daily Standup-Meeting kommt dasEntwicklungsteam täglich zu einer festge-legten Zeit zusammen. Jeder Entwicklerkann seine Aufgaben direkt auf demTaskboard abrufen, indem er alle seinerPerson zugeordneten Aufgaben farblichhervorhebt. Dann beschreibt er kurz, wel-che Aufgaben er gestern implementiert hat,welche Aufgaben heute anstehen und ob esirgendwelche Dinge gibt, die ihn an derweiteren Arbeit behindern.

Diese „Impediments“ können wiederdirekt als neue Product Backlog Items aufdem Team Foundation Server angelegt undan den Scrum Master zugewiesen werden.Änderungen an den einzelnen Entwick -lungsaufgaben können direkt über dasTaskboard erfolgen, sodass es immer denaktuellsten Stand widerspiegelt. Touch-Bildschirme bieten hier einen zusätzlichen

auf eine erweiterbare Oberflächen -bibliothek mit Steuerelementen zurückge-griffen werden, um verschiedene Anwen -dungs typen zu erstellen.

Über einen Feedback-Assistenten kannder Kunde in einem definierten Workflowdie Anwendung überprüfen und auchFeedback geben. Dazu kann er Action-Skripte, Anmerkungen, Screenshots oderAudiodateien an das Feedback anhängen.Somit hat das Entwicklungsteam umfang-reiches und aussagekräftiges Feedback fürdie zu implementierenden Funktionen undkann auf Änderungen oder Wünscheschnel ler reagieren.

Kommunikation imEntwicklungsteamIm Verlauf eines Softwareentwicklungs -projekts muss nicht nur die geplante Arbeiterledigt werden. Es kommt auch neuerArbeitsaufwand hinzu. Neue Funktioneneiner Software können Fehler enthalten, diebehoben werden müssen. Vielleicht müssenÄnderungen an der implementieren Funk -tion anhand von Kundenfeedback vorge-nommen werden. Agile Teams sind offenfür Änderungen und können effizient damitumgehen. In Scrum werden alle Anfor -derungen im Product Backlog als ProductBacklog Items (PBI) gesammelt und ent-sprechend priorisiert. Die in einer Iterationzu implementierenden PBIs werden dann indas Sprint Backlog übertragen.

advertorial

3 www.objektspektrum.de

Abb. 5: Die relevanten Testschritte bei einem Fehlerfall können extrahiert und mit wei-teren Informationen für die Entwicklung ergänzt werden.

Page 4: Agile Softwareentwicklung mit Visual Studio v.Next ......nes Application Lifecycle Management und agile Softwareentwicklung. Dort erwarten Sie Keynotes von Microsoft-Sprechern Dort

werden. Für agile Entwicklungsteams lohntes sich daher, auch in automatisierteDeployment-Prozesse mit dem TeamFoundation Server zu investieren.

Trotzdem endet für unser Entwicklungs -team bei der Übergabe der Software an denIT-Betrieb traditionell die Feedbackschleife.An diesem Punkt treten jedoch häufigFehler auf, die nur schwer zu reproduzierensind. In Visual Studio v.Next kann dieerprobte IntelliTrace-Infrastruktur in dieProduktivumgebung eingebracht werden.In Zukunft kann auf einem Produk -tivsystem IntelliTrace installiert und aneinen laufenden Prozess angehängt werden,um Diagnosedaten zu sammeln. So verbes-sert und intensiviert sich die Zusam -menarbeit von Entwicklungs- und Betriebs -team noch stärker und führt zu erhöhterSoftwarequalität bei gleichzeitigerMinimierung von Missverständnissen beider Kommunikation von Fehlern.

FazitEin modernes Application LifecycleManage ment System sollte den gesamten

Entwicklungszyklus möglichst breit abde -cken. Wir haben uns darauf konzentriert,ständiges Feedback im gesamten Entwick -lungsprozess zu gewährleisten. Das hilft

dem Team, sich auf das Wesentliche zukonzentrieren – Werte zu liefern, indemneuen Funktionalitäten in der Anwendungimplementiert werden. ■

4Online-Themenspecial Agility 2011

Online-Themenspecial Agility 2011 advertorial

Abb. 6, 6-1: 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 zusammen-hängt. IntelliTrace Debug-Informationen helfen dem Entwicklungsteam, den Fehler schnell zu lokalisieren und dem IT-Betriebschnelles Feedback zum Stand der Behebung zu geben.

Referenzen

[Pro] projectcartoon.com: How Projects really work.

URL: http://www.projectcartoon.com/cartoon/3. 2006

[Agi01] Agile Alliance: Manifest für agile Softwareentwicklung.

URL: http://www.agilemanifesto.org/iso/de/. 2001

Die ALM-Experten treffen sich im November auf den ALM Days. Vom 23. bis 25. November finden in München die Microsoft Visual Studio ALM Days 2011 (ehemals TeamConf) statt.

Schwerpunkt dieser Konferenz für IT-Leiter, CIOs, Entwicklungsleiter und Softwareprojektmanager sind die Themen: moder-

nes Application Lifecycle Management und agile Softwareentwicklung. Dort 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. IT-Entscheider und Entwicklungsleiter sollten diese Gelegenheit

nicht verpassen, sich vor Ort in München über die Zukunft der Softwareentwicklung zu informieren. Informationen und

Anmeldung unter www.almdays.de.