Visual Studio 2013

Ahh, ENFIN ! c’est officiel, il va y avoir un VS et un TFS 2013.

De nouvelles fonctionnalités qui vont à mon sens assoir la maturité de TFS qui est maintenant l’outil incontournable pour tout projet (.NET, mais pas seulement !).

Si vous n’avez pas jeté de coup d’œil à TFS 2012, prenez un peu de temps pour vous mettre à jour, ça vaut vraiment le coup.

Pour moi, la feature majeure, c’est la direction ‘‘Agile Entreprise’’ que prend Microsoft sur ce sujet avec l’apparition d’un portfolio agile. Ca permet d’inscrire les projets d’équipe TFS dans une vision plus large en partant des objectifs de la société jusqu’à la tâche d’implémentation.

image

Plus d’infos ici : http://blogs.msdn.com/b/bharry/archive/2013/06/03/visual-studio-2013.aspx

.Dispose();

Techdays 2013 : Vous vous intéressez à Visual Studio 2012 et Windows 8 ?

 

Si vous venez au TechDays, ne manquez pas la session que j’anime avec Florent Santin juste après la plénière du jour 1 !

Le sujet : Visual Studio 2012 pour Windows 8 !

On parlera de plein de choses :

  • Nouveautés de Visual Studio pour Windows 8
  • Tests fonctionnels d’une application Modern UI
  • Tests sur une tablette
  • Organisation d’un projet Windows 8 avec TFS
  • Amélioration des performances
  • Prototypage de l’interface
  • Debug à distance
  • et bien d’autres choses…

Ca se passe part ici : http://bit.ly/SDpeQR

.Dispose();

Visual Studio 2012–Update 1 disponible

Annoncé hier par Brian Harry , l’update 1 pour Visual Studio 2012 et Team Foundation Server 2012 est disponible au téléchargement.

Pour rappel, l’équipe qui développe le produit est passé d’un mode de livraison tous les 2 à 3 ans à un mode plus rapide de mise à jour tous les 3 mois environ.

L’intérêt est de ne pas devoir attendre plusieurs mois pour une fonctionnalité qui pourtant est déjà prête !

Cela entre dans le même ordre d’idée que la version hébergée de TFS: Team Foundation Service qui elle cependant est mise à jour tous les mois pour apporter de nouvelles fonctionnalités.

Lien du download : http://www.microsoft.com/visualstudio/eng/downloads#d-visual-studio-2012-update

.Dispose();

//BUILD/ Developer productivity with Visual Studio & TFS 2012

Cette session présenté par Jamie Cool (Group Program Manager de TFS) promet d'être un bon résumé de ce que vous savez certainement déjà sur les outils de productivités de Visual Studio et TFS.

Personnellement, cette session ne m'a rien appris, mais c'est un bon regroupement de tout !

La version 2012 respecte plusieurs thèmes

  • Friction free
  • Collaboration
  • Cross platform (y'a pas que Microsoft dans la vie ! ;))

La session comporte 1 slide et que des démos. Mes sessions préférées :)

L'ensemble des démos sont réalisées sur Team Foundation Service.

Ensemble des trucs cools, en vrac:

  • Dans visual studio, il y a moins de boutons et fenêtres partout
  • Le team explorer est mainenant organié en hubs qui donnent accès à des fonctionnalités par thème
  • On peut rechercher des Work Item par leur nom (ENFIN?)
  • Ils vont ajouter des cases cocher dans la fenêtre de pending changes pour l'exclusion, inclusion des fichiers dans un checkin (actuellement ça avait un peu changé)
  • Ils vont rendre le changement de team project plus simple que ce ne l'est actuellement dans le team explorer
  • Ils ont globalement fait la chasse aux fenêtres modales, quand c'est possible
  • L'outil de comparaison à été remplacé par un VRAI outil de comparaison intégré à l'éditeur de texte
  • On a maintenant la possibilité de faire un rollback à partir de l'UI ! :)
  • On peu maintenant avoir des workspaces locaux et éviter d'avoir les fichiers en readonly et activer notamment une expérience complétement plus agréable qu'avant!
  • On peut facilement ignorer certains types de fichier pour ne pas les ajouter par erreur dans le contrôle de code source (fichier .tfignore)
  • Mise à disposition d'un plugin git-tfs :)

clip_image001

  • Très bon exemple d'utilisation de GIT-tfs d'ailleurs à partir d'un Mac en simulant un développeur IOS qui récupère son code à partir de TFS via le plugin pour pouvoir le modifier dans xCode puis repousser les modifications vers TFS
  • Concernant la limitation horrible à 260 caractères elle existe toujours côté client, mais à disparut côté serveur, dans TFS ! Yes, Merci ! ;)
  • Dans le team explorer : My work permet de gagner pas mal de temps pour démarrer une tâche, la mettre en pause ou encore le code review.
  • Il est maintenant possible de faire du déploiement continu vers azure
  • Codemap : permet de naviguer visuellement dans l'architectuire

.Dispose();

//BUILD/ DevOps : Integrating Development and Operations for the Last Mile Velocity

Lary guger (Senior program manager) présente cette session, qui, contrairement à la précédente parle ENFIN de DevOps avec Visual studio 2012.

DevOps in a nutshell

  • Devops est un investissement à faire pendant tout le cycle de vie d'une application
  • Devops est quelque chose à prendre en considération par l'intégralité de l'équipe
  • DevOps permet de mettre en place de meilleures pratiques de développement
  • DevOps accélère le dernier km avant que l'application soit en production et livrée

clip_image001

clip_image002

Les problématiques courantes

  • Les incidents de prod sont complexes résoudre
  • Les utilisateurs detectent les bugs en production
  • Les outils sont isolés entre prod et dev
  • Les temps de dev sont long avant d'avoir une version corrigée
  • C'est complexe de reproduire un problème survenu en prod

Utilisation des outils suivants dans les dans les démos:

  • System center
  • Visual Studio 2012 avec la CTP 3 de l'update 1 de Visual studio 2012

A partir de System Center Operation manager, il est possible de visualiser des alertes remontées par les sites et machines de production.

Dans une application moderne, la trace d'erreur n'est pas affichée avec le détail à l'utilisateur, pour avoir plus de détail, on va utiliser les traces gérées par SCOM. On peut alors créer un Work item à partir de SCOM vers TFS. Un nouveau type de work item existe (Operational Issue).

  • Il contient la trace de l'application
  • L'intelliTrace (!) sans effort particulier pour que ça arrive. Ceci donne accès à ce qu'on connait déjà de l'intelliTrace (Stack Trace, Exceptions, etc.)
  • Pour avoir accès à ça, il faut que les symboles des binaires soient publiés dans un serveur, par exemple avec le système de build de tfs

Pour activer l'intelliTrace et le gérer en production, SCOM vient avec de nouvelles fonctionnalités qui permettent de configurer le fonctionnement du collecteur.

On peut collecter manuellement un snapshot de l'intelliTrace via SCOM quand celui-ci est activé et transmettre cela à l'équipe de dev.

System Center 2012 Orchestrator :

  • Permet de lancer une build
  • Récupérer le résultat de la build
  • Déployer si besoin
  • En résumé, faire tout ce qui est nécessaire pour le déploiement

--> Je découvre ça, et franchement je vais creuser, c'est simplement énorme !

En résumé : session très intéressante. Cela montre que Microsoft est vraiment en train d'investir dans cet aspect de plus en plus à la mode qu'on appel le DevOps et qui a pour objectif de visualiser l'IT comme un tout et non pas comme un ensemble de mondes séparés.

Pour l'instant, les outils se concentrent principalement sur les problématiques techniques (comment donner les infos à un développeur pour corriger le problème) mais je ne doute pas qu'on ait bientôt des choses concernant les aspect de gestion du changement, des demandes de mise en prod, etc.

.Dispose();

//BUILD/ Bridging the DevOps gap with Windows Server 2012 and Visual Studio 2012

Je démarre cette journée par une session matinale (et en profite pour gagner un Achievement “Early Birdy” ;-) prouvant que j’étais là tôt pour vous !

image

J’attends énormément de cette session car je pense que c’est le seul sujet que je n’ai pas creusé dans la gamme de produit : cette fameuse interconnexion avec les opérations.

On va parler de déploiement automatisés principalement !

Observations :

  • Le client est roi et son expérience est importante
  • Le site-up est la reine (et il faut que la reine aussi soit contente)
  • Les Systèmes échoues, les systèmes changent

Netflix utilisent ce qu’ils appellent le Chaos Monkey : Il s’agit de tuer des processus au hasard pour voir ce qu’il se passe

Il faut vivre avec l’échec, le comprendre, le maîtriser, et savoir qu’une machine peut échouer à n’importe quel moment et que c’est normal.

Tout change (le métier, internet, le besoin, etc.). Tout va vite (50 déploiements par semaine dans certaines entreprises !)

La question : comment on gère ça ?

-> La culture principalement, et les outils également : c’est ce qu’on appelle : DevOps

Principaux sujets

  • Culture
    • Il y a de plus en plus d’offres d’emploi pour métiers mixte (développeur / administrateur). C’est un métier à part entière, qui n’existe que très peu
  • Automatisation des opérations
    • La manière d’éviter les échecs est principalement liée à l’automatisation
    • L’automatisation doit être reproductible sans que cela ne se passe différent (Idempotent)
    • Tout l’automatisation que nous montre le speaker est réalisée via PowerShell
      • Ils utilisent les workflows de PowerShell pour avoir une notion de parallèlisme (qui se base sur Workflow Foundation)
  • Mesurer sur le terrain
  • Partager la connaissance

Il faut choisir : DEVops or devOPS or juste DevOps (il faut une équilibre entre les deux mondes) (note : j’adore cette manière de présenter les chose!)

En résume: une session qui parle plus de PowerShell que de Visual Studio 2012, mais ce fut tout de même intéressant et m’a donné quelques idées, au niveau de l’automatisation des déploiements :)

.Dispose();

//BUILD/ Application Lifecycle Management: It’s a Team Sport

Après une matinée pleine d’annonces cools, je retrouve enfin mon domaine préféré dans cette session sur l’ALM ! :-)

Brian Keller is in da place ! :)

Attention : cette session n’apprend pas grand chose de nouveau, mais je vous propose tout de même le résumé !

Il commence par le slide classique de Florent et moi appelons communément entre nous “La banane” (plus connu sous le nom du Stadium ;-)) avec un rappel de ce qui existe dans la gamme de produit et notamment dans Team Foundation Server.

Il met l’emphase sur 3 points importants:

  • Continuous Feedback
  • Continuous quality
  • Continuous improvement

L’amélioration continue est pour lui constituée de 3 domaines :

  • Définir (problématiques courantes : Erreur de compréhension du besoin, Conflits dans les priorités)
    • VS 2012 propose un plugin dans PowerPoint pour construire des Storyboard (“Plan conceptuels” en français)
    • VS 2012 propose les désormais très connus outils de backlog et task board pour définir et planifier le travail à réaliser
      • La nouveauté ici, mais qui a déjà été annoncée, c’est la possibilité d’avoir accès à un tableau Kanban
  • Développer (problématiques courantes : Perte du focus, qualité qui passe en dernier, utilisateur qui n’a pas ce qu’il voulait)
    • VS 2012 permet de mettre en pause un travail (cela fait un shelve, et sauvegarde le travail en cours, les fenêtres ouvertes, leurs positions sur les moniteurs, etc.)
    • Il est possible de filtrer dans le solution explorer pour ne voir que les fichiers en checkout
    • Les diagrammes de dépendances ont été optimisés et sont beaucoup plus performants
    • Les workspaces locaux permettent maintenant de travailler avec un autre programme que Visual Studio facilement (absence de readonly sur les fichiers) et le mode hors ligne propose une expérience utilisateur plus avancée
    • Visual studio permet de simplifier la mise en place de code review (tout est automatisé pour transmettre le code au relecteur et pour envoyer ses remarques)
    • Les tests unitaires ont été complètement réécrits et fonctionnent maintenant pour C++ nativement (!!!)
  • Opérer (production)
    • Il parle ici de ce qui vient de plus en plus à la mode : DevOps
    • Comment faire pour diagnostiquer facilement les problèmes qui sont survenus en production ?
      • On a maintenant la possibilité d’utiliser intelliTrace en production
      • On peut lier TFS à System center, plus d’infos dans une session que l’on verra demain ! :)

En résumé : On arrive à mon avis ici à un produit qui atteint une maturité incroyable. on est passé du “je sais qu’il faut faire ça pour atteindre cette objectif” à “je veux atteindre cet objectif, fais-le pour moi” !

.Dispose();

TFS Preview n’est plus une preview ! tfs.visualstudio.com

Voilà, ça y est. On y croyait presque plus, mais ENFIN, tfspreview.com sort en version finale sous le nom déjà connu de Team Foundation Service.

L’adresse pour pouvoir accéder au service est : http://tfs.visualstudio.com !

Vous aviez déjà un compte? Pas de problème, tout est migré de manière transparente.

Très franchement, félicitations à l’équipe chez MS Corp pour ce taff car c’était un projet ultra ambitieux qui voit maintenant le jour !

Quelques infos intéressantes :

  • Le service est gratuit pour les équipes de 5 développeurs ou moins
  • Le service est accessible à tout personne payant un compte MSDN dans le cas suivant :
    • Visual Studio Ultimate with MSDN
    • Visual Studio Premium with MSDN
    • Visual Studio Test Professional with MSDN
  • Le service pourra être accessible en payant par la suite pour les équipes n’entrant pas dans ces conditions, courant 2013 (pricing non communiqué à l’heure actuelle)

Le “Free plan” propose :

  • Jusqu’à 5 utilisateurs
  • Un nombre illimité de projets
  • Le contrôle de code source
  • Les work items (tasks, bug tracking, etc.)
  • Les outils de planification agiles (task board, backlog, etc.)
  • L’outil de remontée de feedback
  • La build (qui elle est encore en préview, avec des agents disponibles dans le cloud)

C’est une énorme occasion pour n’importe qui voulant profiter de la puissance de la plateforme Team Foundation Service sans surcoût et sans besoin d’administration poussé ! :)

Pour plus d’infos au sujet de Team Foundation Service

.Dispose();

//BUILD/ The principles of Microsoft Design Language

On continue avec une session traitant de la volonté de Microsoft de mettre en place un langage commun pour toutes les applications pour Windows 8 pour les aspects de design.

Introduction

  • Depuis 2007, Microsoft 20 Milliards de dollars par an en design.
  • En décembre 2011, Xbox a été mis à jour avec le “Microsoft Design” style :)

Pourquoi un langage commun ?

  • L’objectif d’avoir un langage commun, c’est d’instaurer une impression de confort d’environnement connu : on est pas perdus.
  • Le constat fait par Microsoft c’est que ce qu’’un utilisateur veut, ça n’est pas pas d’avoir des barres de défilements, des fenêtres ou des icônes... Ce que veut un utilisateur, c’est le contenu, c’est pour ça qu’on utilise un PC.
  • D’où le crédo : Content before chrome

Le reste de la session se concentre principalement sur les 5 Principes fondamentaux.

Pride in craftsmanship :

  • Attention portée au détail
  • La symétrie est importante, elle est rassurante
  • Les applications doivent suivre le même canvas pour ne pas perdre l’utilisateur, et pour donner le même feeling peu importe le facteur de forme
  • L’idée c’est de jouer sur la position, le contenu, mais il faut suivre ce canvas
  • Microsoft reconnait tout de même que dans certains cas c’est nécessaire de ne pas suivre (avoir une marge plus grande par exemple) mais cela doit être intentionnel, réfléchi et utile pour mettre en avant un contenu en particulier

Be Fast and fluid:

  • Les applis doivent être designées pour le touch
  • Elles doivent être fluides
  • L’intéraction doit être intuitive

Authentically digital:

  • Doit être moderne
  • Connecté au cloud

Do more with less:

  • L’intention derrière le design doit être concentrée sur l’objectif à atteindre et directe, les fioritures ne sont pas vitales
  • Le design doit inspirer la confiance
  • Ne pas polluer l’interface, par exemple
    • Quand je regarde une photo je veux la voir en plein écran. Je ne veux voir que ça. Les menus d’éditions, de retour, doivent apparaitre quand j’en ai besoin
    • Quand je regarde une page web, je ne veux voir que la page et pouvoir faire apparaitre les menus et autres quand j’en ai besoin
  • Montrer les opérations que je peux faire seulement quand c’est utile, et pas tout le temps

Win as one:

  • Centraliser les besoins
  • Contextualiser les besoins
  • Par exemple, la recherche ou encore le partage Windows 8 est centralisée, et contextualisé

Conclusion : Windows 8, c’est Windows, ré-imaginé.

En résumé, je pense vraiment que la réflexion menée par Microsoft et le résultat obtenu sont très intéressants. Evidemment, je n’ai pas attendu cette session pour me faire ce point de vue, mais chaque fois qu’une personne différente m’explique l’intention derrière cet ensemble de guidelines, cela me renforce dans cette idée. N’essayons pas de refaire nos applications sur Windows 8 à l’identique, profitons de cette opportunité pour améliorer l’expérience de nos utilisateurs !

Et vous, comment allez-vous ré-imaginer vos applications? :-)

.Dispose();

//BUILD/ Developing Continuous Services : Real world experiences of the Team Foundation Service Engineering Team

Voilà, après cette superbe keynote par Steve Ballmer, je démarre mon parcours //BUILD/ avec une session par Buck Hodges qui parle de comment Microsoft fourni en continu Team Foundation Service. Cette plateforme connue pour l’instant surtout sous le nom de tfspreview.com est la version hébergée de Team Foundation Server en ligne.

Je vais vous proposer pour chacune de mes sessions un billet de blog regroupant mes notes. Vous pourrez avoir l’information complète regardant les sessions quand elles seront publiées Clignement d'œil

The box (TFS) and the service

TFS on premise est développé à travers un cycle de 2 à 3 ans avec une longue phase de stabilisation ceci amène une certaine dette technique et de fonctionnalités en retard.

L’objectif du service est de fournir à tout le monde un service toujours disponible, toujours à jour et surtout, fréquemment mis à jour avec de nouvelles fonctionnalités quand le marché en a besoin.

Planning

La planification se fait comme ça:

  • Ils ont un storyboard highlevel avec une vision à 18 mois
  • Ils planifient à 6 mois en accord et partenariat avec l’équipe Azure
  • Les équipes pour chaque feature possèdent chacune leur backlog

Scrum dans l’équipe Microsoft

  • L’équipe utilise Scrum depuis la version 2010 pour le développement de Visual Studio et TFS
  • Pourquoi faire ?
    • Travailler comme leurs clients
    • Délivrer des features de manière incrémentale
    • Construire une bonne expérience Scrum (ils l’utilisent, donc savent ce dont les gens ont besoin)
  • L’équipe
    • 130 personnes
    • Ils ont découpés en équipes par features (6 devs, 5 testeurs et 1 ou 2 PM par équipe)
  • Sprints de 3 semaine
  • Ils en font pas de Scrum de Scrum mais ils utilisent des “Scrums emails”
    • Au démarrage d’un sprint, l’équipe envoie un mail avec ce qu’ils vont faire
    • à la fin d’un sprint, l’équipe envoie un mail avec ce qu’ils ont fait (avec des vidéos, des explications, des démos…)

Cadence de travail

  • Objectif : augmenter la cadence des versions, mises à jour fréquentes
  • Nouvelle version tous les mois
  • Ils réalisent une semaine de vérification (pas de stabilisation mais bien de vérification !)
  • Une fois que la vérification est faite si c’est un GO –> Mise en production ! Sinon, pas de MEP

Engineering

  • TFService et TFS utilisent la même base de code
  • Ils travaillent dans une seule branche pour TFService !!
    • Gated checkins pour éviter de casser le code
    • Tests automatisés (2 à 3 heures)
  • Si les modifications très importantes, dans ce cas ils créent une branche pour la feature

Différences entre TFService et TFS

  • Le scaling n’est pas le même
  • Ils ont besoin d’un modèle de prix différents car
    • Multi tenant DB
    • Tout va dans des blob Azure
    • -> Il faut financer ! :)
  • Mise à jours onlines : avec une petite coupure, non globale, juste quand on met à jour VOTRE projet
  • Déploiement automatisé de ces mises à jours

Monitoring & Diagnostics

  • Changement de culture dans l’équipe : il faut maintenant monitorer le service, il faut qu’il marche toujours et il faut pouvoir réagir rapidement s’il y a un problème
  • Les alertes sont basées sur les logs de l’application, l’event log, la trace de l’application

En résumé : une session très intéressante malgré le fait que je connaissais déjà “un peu” le sujet ;-) Je pense vraiment que Microsoft entre dans une nouvelle ère pour délivrer leurs outils plus rapidement, plus facilement, quand c’est nécessaire. :)

.Dispose();

 

TFS 2012 : Activer la fonctionnalité de backlog

La version 2012 de Team Foundation Server arrive avec un site web tout nouveau qui apporte un ensemble de nouvelles fonctionnalités (au delà d’une refonte ergonomique).

Les apports notables sont : une interface de gestion du backlog…

image

… une interface de suivi du projet qui affiche les éléments de travail sous forme de post-its :

image

Autant la 2ème est disponible pour tout le monde, autant, d’après ce que nous pouvons lire ici (http://www.microsoft.com/visualstudio/11/en-us/products/compare) dans la catégorie “Team Foundation Server”, laisse imaginer que l’outil de gestion de backlog et de planification de sprint ne sera accessible qu’aux personnes possédant un Visual Studio Premium, Ultimate ou un Test Manager.

Note : cela ne signifie pas que ces personnes ne pourront pas visualiser les éléments du backlog et les positionner dans un sprint, cela signifie principalement qu’il n’auront pas accès à la nouvelle interface web, plus ergonomique.

Pour pouvoir activer ses fonctionnalités dans le site, il est nécessaire de se rendre dans la configuration du serveur :

image

puis de se rendre dans web access et de choisir le mode d’accès par défaut pour tout le monde ou de spécifier quel niveau de droit d’accès a chaque utilisateur, en fonction de sa licence client.

image

C’est également à cet endroit qu’on peut configurer finement (au delà d’une problématique de licence) ce qu’on souhaite mettre à disposition des utilisateurs.

On peut notamment définir que certains ne peuvent voir que les éléments de travail qu’il ont créés (View My Work Items).

.Dispose();

Techdays 2012 – Visual Studio 11

Lors des techdays 2012 à Paris, j’ai eu le plaisir d’animer une session de présentation des nouveautés de Visual Studio 11 et Team Foundation Server 11 avec Florent Santin.

La vidéo est enfin en ligne !

Vous pouvez le retrouver ici : http://www.microsoft.com/france/mstechdays/programmes/parcours.aspx#SessionID=83357591-85b1-4b20-8a83-aa912f8dc108&fbid=XQNOAiwOs2V

Les slides sont disponibles ici : http://www.slideshare.net/Microsoft_France/les-nouveauts-de-visual-studio-11

image

Bientôt un billet plus consistant ! ;)

.Dispose();

Pas d’intelliTrace sur mon site web dans IIS !

J’ai récemment eu un problème pour obtenir l’intelliTrace sur un site web dans IIS. Il n’y avait pas de message d’erreur, rien dans le journal d’évènement Windows, et après 3 appels à une voyante, 2 visites chez un marabou, j’ai failli me résigner… jusqu’à ce que je tombe sur ce KB : http://support.microsoft.com/kb/2547655 qui indique que : “Le SP1 de Windows 7 peut causer un échec de la collection de l’intelliTrace.”

Soit.

La correction est assez simple à appliquer. Il suffit de :

  • Modifier le fichier applicationHost.config
  • Chercher dans <applicationPools> le pool d’application dans lequel tourne le site pour lequel on veut récupérer l’intelliTrace
  • Modifier setProfileEnvironment="false" en setProfileEnvironment="true"

Et bim, ça marche :-)

En espérant que ça peut vous permettre d’éviter de perdre du temps!

.Dispose();

TFS 11 - Améliorations du lab management

Le lab management permet de connecter TFS à un environnement de virtualisation Hyper-V. Avec TFS 2010, il est nécessaire de posséder un server Hyper-V et de passer par System Center Virtual Machine Manager.

Dans TFS 11, ceci ne sera plus une obligation pour activer les fonctionnalités associées au lab management de déploiement et d’exécution de test. On peut partir d’un serveur classique (virtualisé ou physique) possédant ce qu’il faut pour faire tourner notre application et simplement l’inclure dans un environnement de type Standard. C’est le Lab Center de Test Manager qui se charge de déployer les agents de tests et de build.

Tout devient plus simple et il est surtout plus facile d’intégrer le lab management dans un environnement existant !

Plus de détails sur le blog de Brian Harry : http://blogs.msdn.com/b/bharry/archive/2011/10/31/lab-management-improvements-in-tfs-11.aspx

.Dispose();

TFS 11–Le nouveau flux de travail des développeurs

Note : Ce billet fait partie d’une série plus complète sur les nouveautés apportées par TFS 11.

Le projet de l’équipe les barbus démarre et les développeurs commencent à travailler. Dans Visual Studio, le nouveau Team Explorer, permet d’accéder à son travail via My Work :

image

Via cette interface, on accède au tableau de bord quotidien du développeur. Celui-ci est filtré pour chacun en n’affichant que ce qui le concerne directement.

image

Lorsque je désire commencer à travailler sur une tâche, je l’ajoute au travail en cours de réalisation. Ceci est à mon sens une différence majeure en terme de logique d’utilisation de TFS par rapport à la version précédente: j’indique ce que je veux faire au moment ou je commence, et non pas au moment ou je l’ai terminé (lors du checkin). Ceci est une approche beaucoup plus évidente.

image

Après avoir réalisé les modifications dans le code source que j’estime nécessaires à la réalisation de la tâche que j’ai choisie, je m’apprête à archiver mes modifications. La fenêtre My Work affiche un résumé des modifications réalisées :

image

En cliquant sur View changes je visualise le détail de mes modifications.

image

L’équipe des barbus à décidé de faire relire le code de chacun par un autre membre de l’équipe, pour éviter les fautes d’inattention. De ce fait, plutôt que de réaliser un checkin à l’instant, je décide de demander à Léonard d’effectuer une review :

image

Je peux alors lui préciser un commentaire et c’est parti !

image

A partir de ce moment, lorsque léonard visualise la page My Work il retrouve ma demande de review :

image

En double cliquant sur ma demande, Léonard obtient une page la détaillant. Il accepte alors ma demande :

image

Comment ça marche? Léonard va être capable de visualiser mes modifications sans pour autant que j’ai eu besoin de réaliser un archivage. En effet, il est important qu’il puisse valider mon code avant que je ne l’ai partagé avec le reste de l’équipe dans TFS. Lorsque j’ai cliqué sur la demande de review, le Team Explorer 11 à enregistré mes modifications dans un Shelve (mise sur étagère ou “réservation” en Français). L’avantage ici, est que ce type d’opération est transparente.

Au sein de la même fenêtre, léonard a accès à l’ensemble des fichiers que j’ai modifié / créé. Il peut visualiser les différences entre ceux-ci et me donner son avis via des commentaires fonctionnant sur le même concept que les commentaires de Word (ligne par ligne) :

image

Lorsqu’il a terminé la relecture, il indique que tout est ok (ou pas, suivant son analyse ! ;)) :

image

De mon côté, je peux visualiser en temps réel les commentaires que Léonard réalise sur mon code, lui répondre si besoin, et voir quand il a terminé de relire :

image

Je n’ai alors plus qu’a choisir si je veux abandonner ou réaliser la modification dans le contrôle de code source.

Une fois le checkin réalisé, la tâche est fermée, et elle n’apparait plus dans My Work :

image

Même si cela paraitra évident, il est important de comprendre que tout au long de mes modifications, l’état du work item sur lequel je travaille se met à jour, et que cela a un impact dans la visualisation des post-its au sein du site web. Maintenant que le travail est considéré comme terminé, le work item se retrouve dans la colonne de droite :

image

Remarquez d’ailleurs le rapport de burndown en haut à droite de la page. Lorsque l’on clique sur l’image, elle donne accès à un rapport plus détaillé :

image

Mon analyse de tout ça est que TFS 11 apporte une dimension très importante en terme d’ergonomie. La plupart des opérations que vous avez lues tout au long de cet article auraient pu être réalisées avec la version 2010. La différence réside dans la facilité avec laquelle ces opérations se font. Si je veux demander à quelqu’un de relire mon code dans la version 2010, je dois réserver mon code, prévenir la personne qui doit déreserver le code, etc. En TFS 11, je clique sur “Obtenir un relecteur” et tout se fait pour moi.

TFS 11 est la version de la simplicité, la version de l’abstraction. Un besoin simple est derrière tout ça : “Je ne veux pas que tu m’explique comment je dois faire pour réaliser quelque chose, je veux juste le faire”.

.Dispose();

TFS 11–Machines virtuelles disponibles

En parallèle de ma série de billets sur la prochaine version de TFS, je vous invite à télécharger la machine virtuelle mise à disposition depuis quelques heures par Brian Keller ici : http://blogs.msdn.com/b/visualstudioalm/archive/2011/09/16/visual-studio-11-developer-preview-virtual-machine-with-hands-on-labs-demo-scripts-now-available.aspx

Au delà de vous faire gagner du temps par rapport à l’installation, la vraie raison est qu’elle contient des données de démos, des ateliers qui peuvent aussi vous êtes utiles pour réaliser des démos :)

Amusez-vous bien.

.Dispose();

TFS 11 – Démarrer le premier Sprint

Note : Ce billet fait partie d’une série plus complète sur les nouveautés apportées par TFS 11.

Rappel : l’équipe Les barbus démarre un projet de développement d’application Windows 8. L’administrateur a créé l’espace pour l’équipe dans TFS, elle veut maintenant planifier le premier sprint.

Dans l’interface d’administration du projet, le responsable de l’équipe ajoute un premier sprint à la première release :

image

Nouveauté de la version 11, il est maintenant possible de définir une date de début et de fin pour une itération ! Ceci permet d’afficher automatiquement des rapports corrects de Burndown notamment :)

image

Dans l’interface d’administration de l’équipe, le responsable choisit le sprint qu’il vient de créé et l’assigne comme itération courante.

image

Maintenant que le sprint est sélectionné pour l’équipe, il est nécessaire d’ajouter les premiers éléments du backlog global du projet. Pour cela le responsable (en général nommé product owner) utilise le site du projet.

Note : il est également possible de faire ces ajouts à partir de Visual Studio et Excel, comme dans les versions précédentes.

image

Il assigne le User Story (fonctionnalité) au Sprint 1 et enregistre :

image

Cette liste est en général globale au projet, et est alimentée en continu. A l’heure actuelle, le product owner n’a qu’une liste restreinte, mais peu importe, le projet peut démarrer !

image

A partir de là, tout se fait dans le portail dédié à l’équipe !

Dans la section backlog en sélectionnant Sprint 1, l’équipe visualise l’ensemble des User Stories présentes dans le sprint en question. On peut remarquer que le travail en heures (WORK (0 h)) est à 0 car aucune tâche n’a encore été assignée aux User Stories.

image

Après avoir ajouté les tâches à chacune des User Stories (en utilisant le bouton + bleu), l’équipe a une vision complète de ce qu’elle est nécessaire de faire.

image

Note : il est possible d’ordonner les éléments du backlog en effectuant un drag’n’drop vers le haut ou le bas.

Importante nouveauté également, la possibilité de définir combien de temps par jour sont disponibles chaque membre de l’équipe pour ce projet. On peut également préciser les dates pour lesquelles chaque personne n’est pas disponible (congés, autre projet, etc.):

image

Deux vues permettent alors dans la section board de visualiser l’état des tâches.

  • Par User Story (notez la possibilité d’effectuer un drap’n’drop pour changer l’état dans TFS !) :

image

  • Par membre de l’équipe (la sauvegarde suite à un drag’n’drop se fait en asynchrone, de manière transparente) :

image

L’équipe à bien démarré le projet, les tâches sont en cours !

Mon avis sur le sujet : La nouvelle ergonomie apporte une fluidité dans le travail au quotidien. On prend très rapidement les réflexes et on se retrouve très facilement dans l’interface quand on a compris les 2 ou 3 concepts de base. Je pense que c’est une avancée énorme en termes de productivité !

.Dispose();

TFS 11– La nouvelle notion d’équipe

Note : Ce billet fait partie d’une série plus complète sur les nouveautés apportées par TFS 11.

Depuis toujours, TFS fonctionne avec un principe de groupes de sécurité dans lesquels on ajoute des utilisateurs pour leur donner les droits associés au groupe. C’est plus ou moins grâce à cela que l’on peut représenter une équipe dans TFS jusqu’à la version 2010. Le problème de cela, c’est qu’il s’agit bien de groupe de sécurité et que la notion d’équipe s’arrête au titre que l’on donne au groupe.

TFS 11 apporte justement cette notion d’équipe. Pour la comprendre, il faut s’imaginer un groupe avec des propriétés supplémentaires. Une équipe est constituée d’un ou plusieurs membres et on peut lui associer des informations telles que l’itération sur laquelle elle travaille, les jours de disponibilités des membres (peut être qu’ils travaillent aussi sur d’autres choses, ou qu’ils prennent des congés), etc.

Avant de rentrer dans les détails du concept d’équipe, voici une présentation rapide du nouveau site (web access) de TFS 11. Il est constitué principalement de 3 vues :

  • Le site classique, qui correspond fonctionnellement à ce que l’on avait précédemment:
    • Voir / modifier les work items
    • Consulter les sources
    • Exécuter / Consulter les builds

image

  • Le site d’administration, qui est bien distinct du site des utilisateurs et qui offre énormément plus de possibilités que ce que l’on pouvait faire à ce sujet dans les versions précédentes

image

  • Le site d’équipe, qui n’existait pas auparavant. Son rôle est de présenter à chaque équipe l’ensemble des informations qui la concerne et uniquement celles-là. Chaque équipe a accès à son backlog (liste des fonctionnalités à développer), à une vue sous forme de post-it drag’n’droppable, et bien d’autres choses.

image

Pour bien comprendre le principe d’équipe dans TFS, je vais imaginer un “cas concret” avec une équipe que l’on va appeler Les barbus qui démarrent un projet d’une application pour Windows 8 avec un style metro et qui permettra de se connecter à TFS et d’afficher un tableau de bord interactif.

Via le lien Manage teams and project groups sur la page d’accueil du projet, l’administrateur créé une nouvelle équipe :

image

Il nomme l’équipe et l’ajoute au serveur TFS :

image

Il ajoute les différents membres :

image

Il défini de quelle(s) area(s) l’équipe est en charge (potentiellement tout le projet):

image

Et l’itération sur laquelle ils vont travailler sera définie plus tard, par l’équipe au fil de l’avancement des projets.

L’équipe est désormais créée et les membres peuvent commencer à travailler :

image

Attention : Il est important de comprendre que l’objet Team n’a pas pour vocation de remplacer les groupes de sécurités classiques. Des “teams” peuvent faire partie de groupes pour obtenir des droits associés.

Le billet suivant traitera de l’utilisation du site par l’équipe !

.Dispose();

TFS 11–Découverte du nouveau Team Explorer

Note : Ce billet fait partie d’une série plus complète sur les nouveautés apportées par TFS 11.

La première chose que l’on peut remarquer quand on lance pour la première fois Visual Studio 11 est que le team explorer (TE 11) à été complètement revu en termes d’interface. L’actuel (TE 10) présente les informations sous forme d’arborescence tandis la navigation au sein de TE 11 se fait via différentes pages accessibles par des liens:

image

Notez au passage l’apparition d’une zone de recherche pour trouver un work item. “Enfin” n’est-ce pas ?

  • Work Items donne accès à l’arborescence classique des requêtes sur les work items. Vous pouvez remarquer le nouveau design pour les fiches de Work Item (ici la création d’une tâche) sur lequel je reviendrais plus tard:

image

  • La fenêtre des pending changes a été également revue. Plus de dialogue modal comme dans TE 10, et une arborescence affichant les fichiers modifiés permet de beaucoup mieux se rendre compte de ce que l’on visualise :

image

  • La fenêtre des builds permet désormais de filtrer sur les définitions pour rechercher facilement celle qu’on souhaite exécuter. Toujours pas de répertoires pour organiser les builds cependant il est possible d’en épingler certaines (comme permettait déjà de faire les power tools dans TE 10). Les builds en cours d’exécution que j’ai lancé s’affichent dans la section My Builds : assez pratique pour ne pas avoir à ouvrir la fenêtre de file d’attente générale. Une icône indique quel type de déclencheur est associé à la build (manuel dans l’exemple ci-dessous) :

image

  • Les sections Documents et Reports n’offrent que peu de différences par rapport à leurs équivalents TE 10 si ce n’est qu’ils sont affichés dans des pages distinctes.
  • La fenêtre de configuration Settings en revanche est complètement différente. On passe d’une boite de dialogue modale à une liste de liens amenant vers les différents éléments configurables. Une grande partie de ces liens amènent vers le site web. Je reviendrais sur le site en détails à travers mes différents billets, mais j’ai l’impression que l’équipe produit veux donner une place beaucoup plus centrale à celui-ci qu’il n’avait par le passé. Ceci est certainement lié à l’apparition de Team Foundation Service (TFS hébergé dans Azure par Microsoft) qui nécessite plus d’administration via un site web (certaines choses n’étant pas réalisables à distance).

image

  • La section My Works est certainement la plus intéressante. Je ne vais pas m’attarder sur celle-là car elle fera l’objet d’un billet complet, mais il faut comprendre que c’est le point d’entrée du flux de travail du développeur. Contrairement à la version précédente dans laquelle je précise le work item sur lequel je travaille uniquement à la fin du développement (lors du checkin), la version 11 permet d’indiquer le démarrage d’une tâche, de mettre en pause le travail, de le reprendre facilement, etc.

image

Voilà pour un premier aperçu qui annonce de très bonnes choses pour cette version ! :)

.Dispose();

Nouveautés pour Team Foundation Server vNext (TFS 11)

Maintenant que TFS 11 est disponible en preview, il est temps de voir ce qu’il y a sous le capot. :) Même si on avait déjà accès à un livre blanc et des captures d’écran ou encore de nombreuses communications de la part de Brian Harry, c’est toujours mieux de cliquer soi-même!

Je commence une série de billets qui vont vous permettre de découvrir les nouveautés notables sur les différentes fonctionnalités.

Voici une liste que je mettrais à jour au fil de l’écriture :

“Et tu ne parles pas de Team Foundation Service ?” Me direz-vous? Les fonctionnalités sont exactement les mêmes à l’heure actuelle entre les deux versions, l’intérêt du service (qui est la version TFS hébergée dans Azure) est de simplifier les aspects d’administration et d’installation, au delà de ça, rien ne diffère si ce n’est que la version en ligne n’offre pas les services de Documents (sharepoint) ni de Reporting Service.

Stay tuned ! :)

.Dispose();

Plus de Messages Page suivante »

Les 10 derniers blogs postés

- Etes-vous yOS compatible ? (2/3) : la nouvelle plateforme Yammer–Office 365–SharePoint par Le blog de Patrick [MVP SharePoint] le 04-22-2014, 09:27

- [ #Yammer ] [ #Office365 ] Quelques précisions sur l’activation de Yammer Entreprise par Le blog de Patrick [MVP SharePoint] le 04-22-2014, 09:03

- Après Montréal, ce sera Barcelone, rendez-vous à la European SharePoint Conference 2014 ! par Le blog de Patrick [MVP SharePoint] le 04-19-2014, 09:21

- Emportez votre sélection de la MSDN dans la poche ? par Blog de Jérémy Jeanson le 04-17-2014, 22:24

- [ #Office365 ] Pb de connexion du flux Yammer ajouté à un site SharePoint par Le blog de Patrick [MVP SharePoint] le 04-17-2014, 17:03

- NFluent & Data Annotations : coder ses propres assertions par Fathi Bellahcene le 04-17-2014, 16:54

- Installer un site ASP.net 32bits sur un serveur exécutant SharePoint 2013 par Blog de Jérémy Jeanson le 04-17-2014, 06:34

- [ SharePoint Summit Montréal 2014 ] Tests de montée en charge SharePoint par Le blog de Patrick [MVP SharePoint] le 04-16-2014, 20:44

- [ SharePoint Summit Montréal 2014 ] Bâtir un site web public avec Office 365 par Le blog de Patrick [MVP SharePoint] le 04-16-2014, 18:30

- Kinect + Speech Recognition + Eedomus = Dommy par Aurélien GALTIER le 04-16-2014, 17:17