Modul 426: Visual Studio Team Services und Scrum
Transcript of Modul 426: Visual Studio Team Services und Scrum
![Page 1: Modul 426: Visual Studio Team Services und Scrum](https://reader036.fdocuments.in/reader036/viewer/2022062519/62b2e545f32cb5739d746173/html5/thumbnails/1.jpg)
Software mit agilen Methoden entwickeln 1/10 VS Team Services und Scrum
Modul 426 Reto Glarner AB426-03 HS 2016
Modul426:VisualStudioTeamServicesundScrumđŻ
⢠Sie kennen die Notwendigkeit von Tools zur Projektfßhrung und kÜnnen ein geeignetes fßr Ihre Bedßrfnisse auswählen
⢠Sie kennen den Funktionsumfang des Team Foundation Server (Visual Studio Team Services)
⢠Sie kÜnnen den gesamten Scrum Projektablauf auf dem TFS abbilden ⢠Sie kÜnnen anhand des Outputs die Situation eines Projekts einschätzen
ScrumToolsMit welchen Hilfsmittel haben Sie die Ăbungen der AB01-02 durchgefĂźhrt? Excel, Word, Google Docs, MS Project, ... Praktisch wäre doch ein Werkzeug welche folgende Anforderungen erfĂźllt:
- Zentrale Speicherung der Daten - Erreichbar Ăźbers Internet - Vergabe von Berechtigungen, damit nicht ein Entwickler aus Versehen eine User Story lĂśscht - Vordefinierte Objekte fĂźr User Stories, Tasks usw. - Verschiedene Darstellungen (Liste, Taskboard) - Validierung von falschen Eingaben
Die Liste kĂśnnte noch beliebig erweitert werden. Klar ist, dass eine ânormaleâ Dateiablage mit einem Office Programm nicht zielfĂźhrend sein kann. Es gibt viele Produkte, welche spezifisch zur ProjektfĂźhrung von (Scrum / Software ) Projekten erstellt wurden: MyCollab Taiga Tuleap Open ALM Agilefant OpenProject OrangeScrum Odoo ]projekt-open[ Redmine ProjectLibre Die Tools unterscheiden sich im Funktionsumfang, Lizenzmodell, usw. Vor der Auswahl sollten Sie einen gewichteten Kriterienkatalog erstellen mit den Eigenschaften, welche fĂźr Ihr Vorhaben am wichtigsten sind und dann erst mĂśgliche Kandidaten begutachten. Wir werden das ALM1 Werkzeug von Microsoft einsetzen. Es gibt verschiedene Versionen davon:
- Team Foundation Server (TFS) Dies ist die kostenpflichtige Variante fßr beliebig grosse Teams. Der TFS wird direkt am Active Directory angeschlossen, wodurch die Benutzer bereits bekannt sind. (Keine doppelte Datenhaltung) Nebst einem Windows Server (mit Active Directory) wird auf folgender Technologie aufgebaut: SQL Server, Reporting Server, Internet Information Server, Sharepoint Server. Die Installation gestaltet sich daher nicht sehr einfach, da all diese Dienste aufeinander zugreifen, die korrekten Berechtigungen benÜtigen und zudem auf verschiedenen Betriebssystem installiert sein kÜnnen. Wenn der TFS aber einmal läuft, wird er zum unersetzlichen Werkzeug des Entwicklerteams.
- Team Foundation Server Express Wie es der Name schon sagt, handelt es sich um eine kleine Version des TFS. Die Installation ist sehr simpel und kommt mit weniger Hintergrundtechnologie aus. Diese Version ist kostenlos, dafßr beschränkt auf 5 Personen pro Team.
- Visual Studio Team Service Anstelle einer eigenen Installation, kann der TFS auch als Dienst (Teil von Azure) bezogen werden. Dadurch entfällt die Installation, aber die Benutzer mßssen sich bei Microsoft registrieren. Zudem wird sie immer automatisch auf den neusten (Update-) Stand gebracht. Bis zu 5 Benutzern pro Team ist diese Version kostenlos. Wir werden genau diese in diesem Modul einsetzen!
đ Weitere Informationen zu ALM: (freiwillig) https://www.visualstudio.com/de-de/features/alm-devops-vs.aspx
1 Application Lifecycle Management
![Page 2: Modul 426: Visual Studio Team Services und Scrum](https://reader036.fdocuments.in/reader036/viewer/2022062519/62b2e545f32cb5739d746173/html5/thumbnails/2.jpg)
Software mit agilen Methoden entwickeln 2/10 VS Team Services und Scrum
Modul 426 Reto Glarner AB426-03 HS 2016
OrganisationGruppenAus lizenztechnischen GrĂźnden ist die GruppengrĂśsse limitiert auf 4 Lernende. Kleiner als 3 Lernende sollte die Gruppe auch nicht sein, da sonst das âScrum Erlebnisâ nicht gleich realistisch mĂśglich ist. Die Lehrperson hat die Verantwortung fĂźr die Gruppeneinteilung und kann deren Findung selber entscheiden. Die Lehrperson stellt Ihnen die jeweiligen Teamprojekte fĂźr Ihr Team zur VerfĂźgung, zum Beispiel: team1-INF5A-2016.visualstudio.com Als Bestätigung dass Sie zum Team gehĂśren erhalten Sie eine Einladungsmail von [email protected] mit dem Inhalt âWelcome to ...â auf Ihre Adresse @iet-gibb.ch Bestätigen Sie mit dem vorgeschlagenen Link die Teilnahme und testen Sie den Zugriff auf das Projekt. Wenn Sie noch kein Konto mit dieser Emailadresse erstellt haben, werden Sie Schritt fĂźr Schritt dabei begleitet. Es ist nicht verboten ein wenig auf dem TFS herumzustĂśbern!
ArbeitenimBrowserHinweis: Die folgenden Erklärungen sind keinesfalls als abschliessend oder als Nachschlagewerk fßr den TFS aufzufassen. Es sollen lediglich die wichtigsten Schritte gezeigt werden, die fßr das Arbeiten an einem Scrum Projekt notwendig sind. Die Funktionalitäten des TFS sind enorm, wir werden nur einen kleinen Teil davon verwenden. Nach dem Login befinden wir uns auf der Einstiegsseite eines Teamprojekts:
Dies ist die Startseite, sie kann individuell angepasst werden. (Wer braucht schon Werbung?) Innerhalb eines Teamprojekts kĂśnnen mehrere Projekte erstellt werden, diese werden unter dem Punkt âRecent projects & teamsâ aufgelistet. (rotes Rechteck) Das ist praktisch da ein Team mehrere (Kunden-) Projekte im gleichen Teamprojekt durchfĂźhren kann.
![Page 3: Modul 426: Visual Studio Team Services und Scrum](https://reader036.fdocuments.in/reader036/viewer/2022062519/62b2e545f32cb5739d746173/html5/thumbnails/3.jpg)
Software mit agilen Methoden entwickeln 3/10 VS Team Services und Scrum
Modul 426 Reto Glarner AB426-03 HS 2016
Fßr die weiteren Arbeiten muss immer ein Projekt ausgewählt werden, das sieht dann so aus:
Es gibt immer die Auswahl Home / Code / Work / Build / Test / Release
Auch diese Seite kann individuell angepasst werden.
Wir werden auf diesem Arbeitsblatt den Unterpunkt âWorkâ behandeln. Auf dem nächsten Arbeitsblatt geht es dann um den Unterpunkt âCodeâ. Die anderen Optionen werden in diesem Modul nicht behandelt.
ErstelleneinesProductBacklogsDas gesamte Projektmanagement wird unter dem Punkt âWorkâ verwaltet. Auf dem AB426-01 gibt es im Anhang eine User Story, diese soll korrekt erfasst werden. Es gilt folgende Hierarchie auf dem TFS: Feature (Kann ein Bereich eines Programms sein, Bsp: Benutzerverwaltung) âł User Story (Product Backlog Item = PBI) âł Task Das bedeutet zum Beispiel dass ein PBI genau einem Feature zugeordnet werden kann. Bei der Produktplanung wird ja mittels User Stories gearbeitet, diese mĂźssen alle auf dem TFS erfasst werden. Ein minimales Feature sieht folgendermassen aus:
FĂźr unsere Zwecke reicht der Name eines Features aus.
Später werden dann automatisch damit verbundene Daten in diesem Fenster angezeigt.
![Page 4: Modul 426: Visual Studio Team Services und Scrum](https://reader036.fdocuments.in/reader036/viewer/2022062519/62b2e545f32cb5739d746173/html5/thumbnails/4.jpg)
Software mit agilen Methoden entwickeln 4/10 VS Team Services und Scrum
Modul 426 Reto Glarner AB426-03 HS 2016
Eine User Story sieht folgendermassen aus:
Vergleichen Sie die Angaben mit dem Anhang aus AB426-01! Jedes PBI hat zudem folgende Grundfunktionen:
- Zuordnung zu einem Benutzer (Verantwortung, nicht Umsetzung!) - Status: Wird automatisch vom System nachgefĂźhrt - Iteration (=Sprint): Wird im Sprint Planning Meeting 1 manuell gesetzt - Diskussion (nicht sichtbar, im unteren Bereich per Scrolling) - âFolgenâ Funktion pro Benutzer - Jede Anpassung wird in der History protokolliert! - VerknĂźpfung von mehreren PBIâs je nach Abhängigkeit - Beliebige Attachements (Printscreens usw.)
Eigene Notizen: Die PBIâs mĂźssen bereits bei deren Erstellung priorisiert werden. Dies kann in der Listenansicht per Drag & Drop erfolgen Wenn die Eigenschaft âPriorityâ abgefĂźllt wurde, kann diese zur Hilfe angezeigt werden: (Columns Options anpassen)
Nun kÜnnen Sie einen komplette Backlog erfassen è1
![Page 5: Modul 426: Visual Studio Team Services und Scrum](https://reader036.fdocuments.in/reader036/viewer/2022062519/62b2e545f32cb5739d746173/html5/thumbnails/5.jpg)
Software mit agilen Methoden entwickeln 5/10 VS Team Services und Scrum
Modul 426 Reto Glarner AB426-03 HS 2016
DurchfĂźhrendesSprintPlanningMeeting1Nun steht das Projekt kurz vor der Umsetzungsphase, dies entspricht dem Theorieteil von AB426-02. Wir definieren folgende Rahmenbedingungen: 4 Entwickler, 40 Stunden pro Entwickler pro Woche, Sprintlänge 10 Tage (= 2 Wochen) Der 1. Sprint startet am 3. Oktober. All dies kĂśnnen wir auf dem TFS definieren: Dazu wählen wir links âSprint 1â aus und dann die Option âSet datesâ:
Datumsangaben eines Sprints (Enddatum + 1 Arbeitstag)
Das ist noch nicht alles, die Kapazitätsplanung der Mitarbeiter anzugeben macht die Sprint Burndown Chart später aussagekräftiger:
Durch die Angabe wie viel Stunden pro Tag gearbeitet wird und die Sprintlänge, berechnet sich die
Kapazität jedes Mitarbeiters automatisch.
Es gäbe noch weitere Optionen, welche wir hier nicht verwenden: - Angabe pro Mitarbeiter an welchen Tagen frei bzw. Kapazität pro Tag definieren - Die Kapazität pro Aktivität (Programmieren, Testen, ..) kÜnnte einzeln festgelegt werden
Nun kommt der wichtigere Teil, nämlich die Entscheidung welche User Stories in den Sprint ßbernommen werden. Wir ßbernehmen (fiktive) 2 User Stories, wobei nur eine zur Demonstration dient. Es gibt mehrere MÜglichkeiten eine User Story einem Sprint zuzuordnen:
- Per Drag & Drop aus der Liste der User Stories einfach die Story auf den Sprint ziehen - Eine User Story Ăśffnen und unter âIterationâ den Sprint auswählen
Denken Sie daran, es wird immer nur der nächste Sprint geplant, nicht mehr!
![Page 6: Modul 426: Visual Studio Team Services und Scrum](https://reader036.fdocuments.in/reader036/viewer/2022062519/62b2e545f32cb5739d746173/html5/thumbnails/6.jpg)
Software mit agilen Methoden entwickeln 6/10 VS Team Services und Scrum
Modul 426 Reto Glarner AB426-03 HS 2016
DurchfĂźhrendesSprintPlanningMeeting2In diesem Meeting werden ja bekanntlich aus den User Stories die Tasks generiert. Wie kĂśnnen diese auf dem TFS erfasst werden? Dazu dient das kleine Pluszeichen rechts von jeder Story. Ein Task sieht folgendermassen aus:
Das sind die minimalen Angaben fĂźr einen Task
Eine komplette User Story umfasst dann viele Tasks:
Das System berechnet automatisch wie gross der Gesamtaufwand fĂźr diesen Sprint sein wird. Alle Tasks sind noch âTo Doâ und die âRemaining Workâ entspricht der Gesamtdauer dieses Tasks. Die Tasks sind noch nicht zugeordnet zu den Mitarbeitern.
![Page 7: Modul 426: Visual Studio Team Services und Scrum](https://reader036.fdocuments.in/reader036/viewer/2022062519/62b2e545f32cb5739d746173/html5/thumbnails/7.jpg)
Software mit agilen Methoden entwickeln 7/10 VS Team Services und Scrum
Modul 426 Reto Glarner AB426-03 HS 2016
DafĂźr sollte jetzt eine Sprint Burndown Chart entstanden sein:
Die offene Arbeit (Remaining Work) wird am 1. Tag noch nicht angezeigt. Simulieren Sie diese Arbeiten auf dem TFS! è2
DailyScrumMeetingAls Basis fĂźr das Daily Scrum Meeting wird das Taskboard genommen, dieses ist am 1. Tag noch nicht so spannend, da noch kein Task begonnen hat:
Die Tasks kĂśnnen nun in ihrer Einzelansicht oder per Drag & Drop auf den nächsten Zustand gezogen werden. (To do Ă In progress) Die Zuordnung kann auch direkt auf dem Taskboard erfolgen. Achtung! Wenn ein Task auf âDoneâ gezogen wird, stellt sich seine âRemaining Workâ auf 0! Jeder Entwickler kann nun so seine Tasks aktualisieren, die âRemaining Workâ nachzutragen ist enorm wichtig auch wenn der Status sich nicht ändert! Aus diesen Daten wird dann die Sprint Burndown Chart neu gezeichnet. Am Ende des Sprints sollten termingerecht alle Tasks auf âDoneâ stehen J
ProblemhandlingEs gibt unterschiedliche Typen von Problemen, wir werden diese beiden im Projekt verwenden:
- Bug Ein Bug ist von der Hierarchie gleich wie ein Task. Er kann im Sprint neu auftauchen ohne dass er im Sprint Planning Meeting 2 erstellt wurde. Entweder kann er während des Sprints erledigt werden oder die ganze Story gilt als nicht abgeschlossen. In diesem Fall wird sie nicht
![Page 8: Modul 426: Visual Studio Team Services und Scrum](https://reader036.fdocuments.in/reader036/viewer/2022062519/62b2e545f32cb5739d746173/html5/thumbnails/8.jpg)
Software mit agilen Methoden entwickeln 8/10 VS Team Services und Scrum
Modul 426 Reto Glarner AB426-03 HS 2016
am Sprint Review präsentiert sondern erneut in den nächsten Sprint ßbernommen! Jeder Entwickler kann einen neuen Bug erfassen.
- Imepdiment Dies kann ein allgemeines Problem sein, um das sich der Scrum Master kĂźmmern wird. Diese werden beim Daily Scrum auch abgehandelt:
Ein Impediment wird in den Queries mit dem âNewâ Knopf erstellt.
ArbeiteninVisualStudioDamit der Entwickler nicht ständig zwischen dem VS und der Webseite hin- und herspringen muss und um Verwechslungen sowie Fehlmanipulationen zu verhindern, kann direkt im Visual Studio auf den TFS zugegriffen werden. Wir schauen uns nur folgende Punkte an:
- Anzeige meiner offenen Arbeiten - Task aktualisieren - Bug melden
AnmeldungVSanTFSDie âHeiratâ zwischen dem Clienttool und dem Server geht in beiden Richtungen. Am einfachsten ist es, den TFS als Webseite zu Ăśffnen und dann die Option âOpen in Visual Studioâ auszuwählen, welche sich auf der Homeseite eines Projekts befindet. (siehe Seite 2) So muss lediglich die Emailadresse und das Kennwort angegeben werden. Wir vom VS aus auf den TFS zugegriffen, muss der Name des Servers sowie Email und Passwort angegeben werden:
Offenes VS Ă Team Ă Verbindungen verwalten Ă Verbinden Server Ă HinzufĂźgen Ă Eingeben des Namens, welcher von der Lehrperson angegeben wurde Angabe der Email und des Kennworts Ă Schliessen Auswahl des korrekten Projekts
![Page 9: Modul 426: Visual Studio Team Services und Scrum](https://reader036.fdocuments.in/reader036/viewer/2022062519/62b2e545f32cb5739d746173/html5/thumbnails/9.jpg)
Software mit agilen Methoden entwickeln 9/10 VS Team Services und Scrum
Modul 426 Reto Glarner AB426-03 HS 2016
Nach dem erfolgreichen Verbinden mit dem TFS Ăśffnet sich automatisch ein neues Fenster âTeam Explorerâ, darin kĂśnnen wir direkt auf den TFS zugreifen, ohne die Webseite jedes Mal zu Ăśffnen: Ansicht âStartseiteâ(fĂźr Code, siehe ab426-04)
Ansicht fĂźr âArbeitselementeâ (Work)
Die wichtigsten Funktionen:
- Anzeige der aktuellen Tasks fĂźr mich: âWork in Progressâ
- Tasks kÜnnen direkt hier bearbeitet werden! Die Remaining Work zum Beispiel kann verändert werden, die Angabe wird direkt im TFS angezeigt. (Speichern nicht vergessen)
- Anzeige alle Stories und Tasks: âUnfinished Workâ - Neue Elemente anlegen:
Verhalten Sie sich Ihrer Rolle entsprechend und legen Sie keine PBIâs und Tasks usw. an! (Werden vom Product Owner verwaltet) Als Entwickler sollten nur Bugs angelegt werden. Impediments werden durch den Scrum Master verwaltet.
- Es kĂśnnen auch eigene Abfragen (Queries) erstellt werden, dies erfordert ein wenig Ăbung.
Binden Sie Ihr Visual Studio nun an! è3 Jetzt sind Sie bereit ein Projekt vollständig zu erfassen, alle Meetings mit Hilfe des TFS durchzufßhren, als Entwickler den TFS zur Planung nutzen sowie per Burndown Chart den Trend des Fortschritts zu erkennen.
![Page 10: Modul 426: Visual Studio Team Services und Scrum](https://reader036.fdocuments.in/reader036/viewer/2022062519/62b2e545f32cb5739d746173/html5/thumbnails/10.jpg)
Software mit agilen Methoden entwickeln 10/10 VS Team Services und Scrum
Modul 426 Reto Glarner AB426-03 HS 2016
Aufgabe1 20MinutenĂbernehmen Sie den Product Backlog aus dem ab426-01 (Videokonferenz ) auf den Ihnen zugewiesenen TFS. Alle Teammitglieder sollen dabei mithelfen! Falls Sie noch keine Features definiert haben, machen Sie dies jetzt.
Aufgabe2 30MinutenĂbernehmen Sie auch Resultate aus den Sprint Planning Meetings aus ab426-02 auf den TFS. Erstellen Sie vorerst einen Sprint und fĂźllen Sie die Tasks ab. Am Ende sollte eine Burndown Chart ähnlich derer auf dem Arbeitsblatt resultieren.
Aufgabe3 15MinutenBinden Sie Ihr Visual Studio der bmWP2 an den TFS an. Verwenden Sie die Angaben aus dem BegrĂźssungsmail des TFS bzw. die gleichen Angaben wie fĂźr den Zugriff per Webseite. Weisen Sie sich einen Task zu. Vermindern Sie die âRemaining Workâ einmal während der Woche, so dass sich etwas tut auf der Burndown Chart. (Lassen Sie sich nicht durch allfällige Updates des Visual Studio aufhalten, diese mĂźssen Sie zu Hause durchfĂźhren nicht im Unterricht!)
FreiwilligkĂśnnenSiesichindennichtbehandeltenThemenweiterbilden:- Installation des TFS - Erstellung eines Projekt und das Zusammenstellen eines Teams - Korrekte Definition der Berechtigungen - Gruppenchat - Individualisierung der Darstellung