Visual Studio Online est la plateforme de collaboration qui se trouve au coeur de la solution de gestion du cycle de vie des applications (ALM) de Microsoft. Pour de petites équipes de développement, VSO est disponible online et gratuitement.
Lors de cette session, principalement à base d’exemples pratiques, nous aborderons les modules Source Control (GIT et TFS), Planning (Kanban board, Sprint, suivi des états d’avancement), Collaborate (gestion des tâches et des bugs) et Intégration continue (Builds). Les concepts théoriques seront expliqués mais également les bonnes pratiques et les pièges à éviter lors de la conception d’applications modernes basées sur SCRUM.
10. TFVS GIT
Type Centralized Distributed
Alerts Yes Yes
Branching Risks / Releases Fondamental / Lightweight
Code security Repo / Folder / File Repository only (branch)
Builds Yes Yes
Code Review Code review Pussh Request
History Centralized Replicated
Manage work Pending changes / My work Changes / Commits / Branches
Scale Small & very large projects Small (& modularize large) projects
Tools Microsoft tools Microsoft & third-party tools
Compatibility VS 2010 and more VS 2013 and more
Shared Local
TFVC
Shared Local
GIT
16. Work Item Description Manager Developer Tester
Feature
Large work
(target date) X
Product Backlog item 1
User Story 2
Requirement 3
Specification
(estimated effort) X
Task Task to do X X
Impediment 1
Issue 2 & 3
Sub-task
Obstacle X X
Bug Problem X X X
A Task “can” not have sub-tasks
17. • Check in, at least every day
• Associate Check in to Work Items
• Update Remaining Work and
Completed Work
• Update Work Item State
New Active
Resolved Closed
Work
startedNew
Fixed Verified
Closed
Completed
Task
Bug
20. Web Browser: IE, Firefox, Chrome (free).
Windows Explorer
Visual Studio.
Team Explorer (free).
Team Explorer Everywhere
for Eclipse and Cmd (free).
Microsoft Excel.
Microsoft Project.
Dans VSO, créer un nouveau projet « JourneeAgile – Demo » de type AGILE et GIT.Copier l’URL pour cloner le projet localement.------------ Visual Studio ------------
Ouvrir Visual Studio et se connecter à VSOnlinea. Depuis le Team Explorer, se connecter à [myaccount].visualstudio.comb. Sélectionner le projet JourneeAgile – Demo.c. Revenir sur Team Explorer pour Cloner le projet Git à un dossier local.
Dans Team Explorer, cliquer sur New Solution et ajouter un nouveau projet de type Windows Forms Application.Nommer la solution PacMan et cocher la case "Add to control source".Supprimer les fichier Form1.cs et Program.cs
Ajouter les fichiers d’exemple de PacMan.a. Créer un dossier Characters.b. Ajouter (Shift-Alt-A) les fichiers dans le dossier principal et le sous-dossier.c. Compiler et exécuter le code.
Remonter le code source pour la première fois, dans Master (Commit and Sync).------------ VSO ------------
Ouvrir VSO et afficher le code source.
Depuis VSO, créer une branche Development, basée sur Master.------------ Visual Studio ------------
Se connecter sur la branche Development.Si elle n’est pas visible, faire un Fetch depuis le paneau Sync.
Modifier le code source - Surcharger la méthode Form1. ProcessCmdKey.- Copier le code de Form1_KeyDown et l’adapter pour gérer Keys.Up, Keys.Down, … protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
switch (keyData)
{
case Keys.Up:
(this.PacmanGroupBox.Controls[0] as Characters.ICharacter).Move(Characters.MovementWay.Up);
break;
case Keys.Down:
(this.PacmanGroupBox.Controls[0] as Characters.ICharacter).Move(Characters.MovementWay.Down);
break;
case Keys.Left:
(this.PacmanGroupBox.Controls[0] as Characters.ICharacter).Move(Characters.MovementWay.Left);
break;
case Keys.Right:
(this.PacmanGroupBox.Controls[0] as Characters.ICharacter).Move(Characters.MovementWay.Right);
break;
}
return base.ProcessCmdKey(ref msg, keyData);
} - Renommer la méthode Form1_KeyDown en Form1_KeyDownObsolete (Ctrl+R+R)
Remonter le code pour la seconde fois, avec le commentaire « Utilisation des touches Up, Down, Left et Right. ».------------ VSO ------------
Afficher les différences via le Web.
Démarrer un Pull Request (onglet Pull Requests dans la branche Development).
Afficher le Pull Resquest et accepter le Pull Request (zone Active à droite).
Afficher le code depuis la branche Master.
HomePage
Créer les Areas : Backend, Database, Frontend et MobileApp.
Créer les Itérations Sprint1, Sprint2 et Sprint3.
Backlogs / Features
Créer une Feature « Tickets Module »
Backlogs / Stories
Afficher le panneau des « Stories » et cliquer sur « Mapping On »
Créer les Stories :
Ajouter nouveau client
Valider le code postal du client
Suivre la zone géographique
Proposer une liste de villes adaptée à la région
Associer les 4 Stories à la feature « Tickers Modules »
Déplacer les 2 premières Stories vers le Sprint 1.
Ajouter des tâches à « Valider le code postal du client »
Définir une expression régulière pour le code postal.
Créer une WebAPI de validation.
Afficher le contenu d’une Tâche : Priority, Area, Original estimate, ....
Queries
Créer une nouvelle requête de type « Tree of work items »
Team Project = @Project
Work item type = [Any]
State = [Any]
Enregistrer la requête sous le nom « All items », dans le dossier Shared Queries.
Excel
Démarrer Excel et ouvrir la requête « All items » dans un onglet.
Créer les Tâches suivantes sous le Story « Ajouter nouvel employé »Ajouter 5 lignes vides dans Excel et copier / coller (Paste Special) les tâches.
Dessiner l'interface graphique
Ajouter le code JS pour valider les données
Créer un service web de communication
Enregistrer les données dans la base Serveur
Afficher un message de confirmation à l'utilisateur
Publier la feuille Excel et vérifier sur le Web.
1. Définir un XAML Build Definitions
a. General : PacMan Build
b. Trigger : Manual
c. Source Settings : Get sources from TFS Git repository
d. Build controller : Hosted Build Controller & Copy build output to the server
e. Process : - Projects : \PacMan\PacMan.sln
- Create work item on failure : true
f. Retention policy: default
2. Enregistrer (Save) le build et l’affichr dans le portail web.
3. Démarrer le Build manuellement. Attendre sur le web qui est terminé (cela peut prendre plusieurs minutes).
4. Afficher le détail du Build et récupérer le programme via Download drop as zip.
Optionnel.
5. Faire une erreur dans le code (ex: ctor = Form1ERROR). Remonter le code sur le serveur GIT (Commit and Sync). Fusionner la branche Development avec Master. Démarrer le Build manuellement. Afficher l’erreur sur le web.