Touareg Team System

Prise en main de VSTS par un groupe d'étudiants dans le cadre du projet Touareg
Touareg Project
Visual Studio Team System
Epitech
Microsoft Etudiants
Bien choisir son expert, c'est important...

Personnalisation de modèle de processus

Un modèle de processus offre la possibilité de mettre en place des éléments clés permettant de mener à bien un projet d’équipe. Tous les acteurs de celui-ci sont inclus, chef de projet, développeur, testeur, architecte… On pourrait représenter un processus par une méthode de travail ayant pour but le bon déroulement du projet avec tous les rôles qu’il comprend.

Team System est l’un des outils permettant d’automatiser les processus de différents modèles. Cela comprend la génération de documentation, les tests, le contrôleur de code source, les suivis de projet... A la création d’un projet d’équipe, les modèles disponibles sur le serveur sont directement proposés. Par défaut, ils s’appuient sur Microsoft Solution Framework (MSF), qui est basé sur des concepts et des principes ayant pour but d’améliorer efficacement et simplement la productivité d’un large panel de projets.

Les deux modèles proposés ont une approche différente. Le premier, MSF for Agile Software Developpment, cible les projets plus souples, alors que le second, MSF for CMMI Process Improvment, s’applique aux projets ayant besoin d’être formalisés.

 

Ce schéma représente la réalisation d’un projet avec MSF, où l’intégration est continue. La durée d’une itération est fonction du projet lui-même mais également de la méthode qu’il utilise.

 

MSF for CMMI Process Improvment :

A la base, CMMI (Capability Maturity Model Integration) sert à mesurer, sur une échèle de 1 à 5, la réussite d’un projet. MSF for CMMI permet normalement d’atteindre le niveau 3, c’est à partir de ce palier que le projet reste cohérent. Pour cela un grand nombre de documents est nécessaire, pouvant servir de comparatif et de suivi tout au long du projet. Une entreprise qui a formalisé ses méthodes de travail correspond parfaitement à ce modèle. Nous allons voir un peu plus précisément les projets pouvant s’appliquer a cette méthode :

  • Un projet à long terme, ainsi qu’une grande équipe.
  • De longues itérations.
  • Posséder une certaine assurance sur le projet (être certain qu’il sera fini).
  • Un plan bien défini, on privilégiera le processus en lui même.

Pour plus de détails vous pouvez consulter le Process Guidance de MSF for CMMI Process Improvment.

 

MSF for Agile Software Developpment :

La réussite d’un projet dépend de plusieurs facteurs, et l’individu en est le principal. Les méthodes agiles se basent sur ce principe et vont améliorer la productivité des membres de l’équipe, l’interaction entre les personnes et les outils étant devenue plus importante que le processus lui-même. A quels projets s’applique donc cette méthode :

  • L’équipe est de petite taille, ainsi que le projet.
  • Les livraisons se font régulièrement, les itérations sont courtes (environ 1 mois).
  • Les fonctionnalités peuvent changer fréquemment.
  • Vous devez avoir confiance en votre équipe, fortement soudée.

Pour plus de détails vous pouvez consulter le Process Guidance de MSF for Agile Software Development.

Bien sûr il y a d’autres alternatives. Il existe en effet beaucoup d’autres modèles de processus. Scrum en est un exemple et fait partie des modèles agiles de processus. TFS nous permet d’installer des modèles de processus différents, ce qui tombe très bien puisque nous allons utiliser le modèle Scrum pour la réalisation du projet Touareg. La société Conchango a développé un add-in pour cela, Scrum for Team System.

 

Scrum :

Comme pour toutes les méthodes agiles, Scrum donne une grande confiance à son équipe, car tout va se jouer autour d’elle. La première étape consistera à établir une liste de fonctionnalités (Product Backlog) ordonnées par priorité. Ensuite, l’équipe va se répartir le travail en tâches (Sprint Backlog) toujours ordonnées par priorité, et ce à partir des Product Backlog définies précédemment.

C’est à ce moment là que commencent les Sprints (l’équivalent des itérations pour les autres méthodes), d’une durée de 1 à 4 semaines. Pendant ce laps de temps, l’équipe doit se réunir tous les jours (Daily Scrum) pour voir les points de la journée passée et de celle qui arrive. Chaque période de Sprint va conduire à un produit potentiellement utilisable, se répétant jusqu’au produit final.

L’équipe devra à chaque fin de Sprint faire un feedback sur celui-ci, mettant ainsi les Product Backlog à jour.

Les modèles de processus sont vraiment essentiels pour une bonne gestion de ses projets d’équipe, et TFS est l’outil adapté pour les mettre en place. Il reste encore beaucoup de fonctionnalités de Team System pour améliorer la qualité de réalisation d’un projet. D’une autre part, vous pouvez créer votre propre modèle de processus et l’intégrer dans TFS, car avant tout le meilleur processus méthodologique, c’est le vôtre.

Après avoir vu les principes des trois modèles différents, nous ne manquerons pas de vous donner le retour d’expérience tout au long de la réalisation de Touareg Project avec Scrum et Team System.

Jérôme

Installation de Team Foundation Server 2005

Après étude des différents processus méthodologiques qui s'offrent à nous, que Jérôme vous décrira en détails dans un prochain billet, il s'agit pour nous de passer aux actes : l'installation de notre Team Foundation Server !

Pour ce faire, il nous faut commencer par remplir les prérequis nécessaires, tels que décrit dans la procédure d'installation de TFS :

  • Installation de Internet Information Services (IIS)
    Pour cela rien de bien compliqué, il suffit de se rendre dans la fenêtre d'ajout de composants Windows, et de sélectionner IIS et ASP.Net dans la partie Serveur d'applications
  • Installation de Microsoft SQL Server 2005
    Cette partie nécessite quelques petites précautions. Tout d'abord, il faut noter que nous devons impérativement installer la version Standard ou Entreprise de Microsoft SQL Server 2005 (sachant que la version Standard est fournie dans la boîte de TFS 2005).
    Il faut ensuite faire attention de bien sélectionner les composants suivants lors de l'installation de SQL Server :
    • SQL Server Database Services
    • Analysis Services
    • Reporting Services
    • Integration Services 
    • Workstation components, Books Online and development tools
  • Mises à jour des applications installées
    A ce niveau de l'installation, il est essentiel de procéder à une mise à jour Windows Update. En effet, cela aura pour effet d'installer le Service Pack 2 de SQL Server, qui inclut un Hotfix nécessaire pour le bon fonctionnement de TFS 2005. De plus, le Service Pack 1 du Framework .NET 2.0 est aussi requis.
  • Installation de Windows SharePoint Services 2.0
    Commençons par récupérer l'installeur de WSS 2.0 avec Service Pack 2. Pour lancer une installation silencieuse sans installer la version MSDE de SQL Server, je vous conseille de passer par la ligne de commande suivante :
     
    Au bout de trois minutes environ, vous devriez voir le lien de l'administration centrale dans Panneau de configuration -> Outils d'administration -> Administration centrale de SharePoint. Si vous voyez la page d'administration de SharePoint se lancer, c'est que l'installation a réussi et vous pouvez redémarrer la machine.
  • Création des comptes de service Team Foundation Server
    Team Foundation Server 2005 nécessite au minimum deux comptes de service pour pouvoir fonctionner.
    • TFSService : utilisé par le service Windows de TFS (Code Coverage Analysis Service et TFSSchedulerServer) et le service SharePoint Timer Service.
    • TFSReports : utilisé par SQL Server Reporting Services.

Voilà, tous les prérequis sont remplis, nous pouvons lancer l'installation de Team Foundation Server !

Dans notre cas, nous sélectionnons l'option "Installation sur un serveur". Les trois premiers écrans ne nécessitent pas d'attention particulière, il s'agit juste de rentrer le numéro de licence, et de préciser le répertoire de destination.

L'écran suivant s'occupe de vérifier que tous les prérequis ont bien été remplis, et que les performances de la machine sont suffisantes.

Il se peut que vous ayiez un avertissement qui vous signale que les performances ne sont pas suffisantes, même si vous remplissez les conditions minimales annoncées. Vous pouvez alors passer outre cet avertissement.

Ensuite, il vous est demandé de rentrer les informations pour le compte de service TFS, le compte des rapports ainsi que le serveur SMTP pour les alertes emails.

 

L'installation se lance alors, et se solde par un succès. Si toutefois vous rencontrez une erreur à ce moment là, je vous conseille de vous reporter à cet excellent post de Ayman Badawi qui liste tous les codes d'erreurs potentiels et la manière de les résoudre.

Pour vérifier que tout s'est bien passé, vous pouvez vous rendre à l'adresse http://localhost:8080/services/v1.0/Registration.asmx et lancer le WebService "GetRegistrationEntries". Pour finir, vous pouvez installer le Service Pack 1 de Team Foundation Server.

Nous avons vu comment installer Team Foundation Server 2005 de bout en bout. Dans le prochain billet, je vous parlerai de la configuration avancée de TFS pour l'intégration avec un serveur Windows SharePoint Services 3.0 distant.

Adrien

Deux membres de l'équipe en formation VSTS

Cette semaine, Jérôme et moi-même avons participé au workshop Microsoft 2631, "Optimiser le Cycle de Développement Logiciel avec Microsoft Visual Studio Team System".
Cette formation nous a été offerte par Winwise, centre de compétences Microsoft Visual Studio Team System et Microsoft Gold Certified Partner Learning Solutions.

Notre formateur, Mathieu Szablowski, a commencé par nous présenter les principes d'un cyle de développement logiciel ainsi que ses différentes phases :

  • Envisioning
    Elaboration du document de vision, des spécifications fonctionnelles et du diagramme des cas d'utilisation
  • Planification
    Paramétrage du projet, élaboration des diagrammes de conception et des spécifications techniques
  • Building
    Développement et tests unitaires, tests de couverture de code, tests d'analyse statique
  • Stabillizing
    Tests de charge et de performance, report de bugs et compilation
  • Deploying
    Rédaction des documentations et livraison des applications

Grâce à la gamme Visual Studio Team System, nous allons pouvoir gérer au mieux toutes ces différentes étapes d'un projet informatique. En effet, les produits clients sont adaptés à chaque rôle des membres du projet tandis que toutes les informations sont centralisées sur une même application serveur, Team Foundation Server.

Suite à cette introduction, et dans le cadre d'un exemple de réalisation d'une application concrète, nous avons pu expérimenter les fonctionnalités offertes par Team System pendant les trois jours de ce workshop.

  • Création d'un projet d'équipe en fonction d'un processus méthodologique
  • Configuration du projet d'équipe (sécurité, définition des itérations et des zones, politique de check-in)
  • Création et suivi des éléments de travail (Work Items)
  • Prise en main du contrôleur de sources et des espaces de travail
  • Création de branches du projet
  • Création des diagrammes de conception (infrastructure, application et déploiement)
  • Création de test unitaires, de couverture de code, de charge et de performance
  • Exécution des tests d'analyse statique du code
  • Génération et exports de rapports
  • Application de la méthodologie Test Driven Development (TDD)
  • Utilisation de Team Build pour créer et configurer des processus de compilation automatisés et déportés
  • et plus encore...

Bien entendu, nous reviendrons sur tous ces points plus en détails sur ce blog au fur et à mesure.

Cette formation était vraiment très intéressante, nous démontrant par des exemples concrets tout le potentiel de Team System. De plus, notre formateur a pu nous donner divers retours d'expérience et plusieurs best-practices sur le produit.

Prochaine étape : l'installation de Team Foundation Server et la personnalisation des processus de méthodologie Wink

Adrien

Posted: mars 05 2008, 08:35 par Galo | avec no comments
Classé sous : ,
Bienvenue sur ce blog !

Comme il en est de rigueur, ce premier billet se doit de servir une présentation de qui nous sommes, et de ce que vous trouverez sur ce blog...

Nous sommes un groupe de dix étudiants en 4ème année d'Epitech réunis autour d'un même Projet de Fin d'Etudes, le projet Touareg.

  • Adrien Siffermann
  • Michaël Alves
  • Rémi Moriceau
  • Jia Sun
  • Arnaud Auroux
  • Jérôme Dalicieux
  • Armelin Weisse
  • Sébastien Gigot
  • Jason Monce
  • Julien Medici

Le but du projet Touareg est de permettre au plus grand nombre de pouvoir accéder à son environnement de travail et à ses documents depuis n'importe quel ordinateur connecté à Internet. Touareg propose ainsi d'offrir un espace de stockage ainsi qu'une batterie d'applicatifs en ligne, centralisés et agréables d’utilisation. N’étant pas réservé à un public de spécialistes en informatique, son utilisation doit être intuitive et son interface ergonomique. De ce fait, le choix des technologies Microsoft et plus particulièrement de Silverlight s'est imposé à nous pour la réalisation du projet.

Qui dit projet informatique en équipe induit l'utilisation d'un contrôleur de source pour la gestion de versions du code source. De plus, qui dit projet implique une gestion des différents acteurs en tant que ressources, des tâches à effectuer et des rapports du travail effectué à tout instant du cycle de production. Pour tout cela, il nous fallait un outil logiciel, si possible unifié, et comme notre projet tourne autour des technologies Microsoft et sera développé avec Visual Studio 2008, Team Foundation Server nous est apparu comme l'outil le plus adapté à nos besoins.

Ainsi, grâce à la bienveillance de l'équipe de Microsoft France en charge de l'éducation, un partenariat s'est noué entre notre école et Microsoft et nous disposons à présent d'un serveur Team Foundation pour notre projet. Comme cela est assez inhabituel pour un groupe d'étudiants, il nous semblait intéressant de communiquer sur la prise en main d'un tel outil par des novices en la matière, d'où ce blog ;)

Vous l'aurez donc compris, vous trouverez sur ce blog des billets sur l'installation, la configuration et l'utilisation de Team Foundation Server ou des outils Team System.

Adrien

Posted: févr. 24 2008, 08:08 par Galo | avec no comments |
Classé sous : ,