jeudi 4 septembre 2008

ROSARIO : Quoi de neuf?

La dernière version de la plate forme ALM de Microsoft arrive. On s'attendait à une plate forme présentant des évolutions compte tenu du haut niveau de services déjà proposés dans les versions précédentes (2005 et 2008), le résultat est en fait plus proche d'une révolution tant la plate forme propose de nouvelles fonctionnalités et de nouveaux outils.
Dans cette série d'articles, nous allons donc nous interesser module par module aux nouvelles fonctionnalités et innovations apportées par cette release majeure de TFS dont le nom de code est ROSARIO.
Le présent article constitue une vue synthétique de l'ensemble des innovations apportées à la plate forme ALM de Microsoft, pour avoir une description détaillée de ces innovations avec des exemples de mise en oeuvre, les articles suivants sont accessibles en utilisant les liens suivants :
Pour Rappel, TFS est la plate forme ALM (Application Lifecycle Management) proposée par Microsoft, c'est une plate forme serveur orientée services accompagnée d'une partie cliente Visual Studio Team System.
Ces différents services sont au nombre de 6 et se décomposent de la manière suivante :
  • Project Management
  • Work Item Tracking
  • Reporting
  • Build
  • Source Control
  • Document Repository
Ces différents services sont adressables de manière extensible, au travers de multiples clients comme le montre le schéma ci dessous, Microsoft a dans Rosario non seulement enrichi les fonctionnalités des clients existants et a de plus créer de nouveaux clients.


Vue synthétique de la plate forme TFS
(cliquer pour agrandir)

Ces différents services sont mis à disposition de différentes catégories de personnes adressées par des rôles . Les différents rôles adressés par la plate forme sont :
  • Project Manager
  • Architecte (logiciel et infrastructure)
  • Développeur
  • Développeur Bases de données et DBA
  • Testeur
Le schéma ci dessous illustre l'accès aux services par les différents rôles. Rosario fournit une gestion de la sécurité très fine permettant de définr les droits et permissions de chaque intervenant sur un projet et ce service par service.


Roles et Services dans TFS

Nous allons aborder la présentation de l'ensemble des nouveautés module par module. Les points présentés ne sont pas exhaustifs sachant que la plate forme est toujours en cours de développement. L'édition 2008 des Tech Ed à Barcelone sera sans doute le rendez vous permettant de faire un point précis de la version finale de Rosario.
Les nouveautés du module Project Management
L'activité de Program Management est une des activités les mieux loties en terme d'améliorations. On notera tout d'abord le très attendu support d'une structure WBS pour les phases de préparation et de pilotage des projets dans TFS, cette structure hiérarchique pourra être gérée en affichage et modification à partir de tous les clients proposés : Visual Studio, Excel, Project et même Team System Web Access ainsi qu'un tout nouveau client : Team Tracker.
Les Program Managers et Project Lead bénéficieront d'une multitude de nouveaux rapports et dashboards disponibles via Reporting services, Excel mais aussi le client Web Team System Web Access ainsi que le client Project PortFolio fourni avec Project. Ci dessous quelques captures illustrant ces nouveaux outils de reporting, les connaisseurs s'apercevront au traverss de ces snapshots que nous entrons dans une nouvelle ère du reporting projet, avec une véritable approche dashboard, de la Business Intelligence et des KPIs :







L'intégration avec Project Server est maintenant incluse en standard permettant de ce fait une approche PMO pour les projets gérés à l'aide de TFS.
Pour plus de détails sur ces nouveautés, se référer à l'article : Module Project Management

Les nouveautés du Module Team Architect

Avec ROSARIO Team Architect, Microsoft se fixe les objectifs suivants :

  • Gérer la complexité à l'aide de modèles visuels
  • Comprendre, Manipuler et faire évoluer des applications existantes.
  • Améliorer la maintenabilité, la modularité et la réutilisation de composants des applications.
Pour atteindre ces objectifs, les fonctionnalités suivantes ont été implémentées :

L'Architecture Explorer : L'architecte possède maintenant un couteau suisse sous la forme d'un outil avec une interface en WPF, lui permettant d'explorer une solution existante afin de recueillir des informations sur l'ensemble des artefacts d'un projet ainsi que leur dépendances et la possibilité d'exécuter des actions sur les éléments selectionnés.
Le Support de l'UML : Après la modélisation physique avec les DSL , Microsoft a décidé d'intégrer la modélisation logique avec le support du langage UML via des designers pour réaliser les types de graphiques suivants :
  • Diagrammes de Use Case
  • Diagrammes d'activité
  • Diagrammes de classes
  • Diagrammes de composants
  • Diagrammes de séquence
A noter que les diagrammes de séquence permettent même d'effectuer des actions de rétro-conception sur du code existant, ou encore de la génération de code à partir d'un modèle.
L'intégration des software factories via DSL : Issu d'un rapprochement des équipes de Rosario et de Patterns & Practices, les architectes pourront aller jusqu'au Design en mode graphique de services WCF par exemple avec génération du code associés : implémentation, contrat et host. Le concept WSSF exploitant GAX est maintenant intégré au Diagramme Application Designer.
Pour plus de détails sur ces nouveautés, se référer à l'article :Module Architecte

Les nouveautés du Module Team Developer
Les développeurs vont également découvrir 4 nouveautés leur permettant d'améliorer la qualité de leur code ainsi que leur productivité :
  • Le Standalone Debugger : pour effecuer des opérations de débogage sur des stations non équipées de Visual Studio.
  • Le History Debugger : Une nouvelle expérience F5 avec un processus d'enregistrement en tache de fond des évènements et erreurs ayant lieu durant une session de debug. Le développeur peut alors revenir par la suite et consulter les informations recueillies en parcourant le stack des appels.
  • La gestion des tests unitaires impactés : Après chaque modification de code, le développeur est informé des tests unitaires impactés par les modifications de code apportées, et peut donc rejouer ces tests afin de pallier à tout phénomène de regression.
  • La gestion de l'analyse statique de code par groupe de règles paramétrables : Cette nouvelle fonctionnalité permet au développeur de cibler les règles à corriger gràce au paramétrage de groupe de règles. Le développeur peut donc réduire le bruit généré par l'application des 206 règles et cibler plus précisément les corrections à effectuer en fonction d'un contexte donné.

Pour plus de détails sur la mise en oeuvre de ces 4 nouveautés, se référer à l'article : Module Développeur

Les nouveautés du Module Team Tester
Les testeurs sont sans contexte les utilisateurs qui seront les plus surpris, tant les nouveautés apportés à ce module sont importantes. Microsoft a entièrement revu son framework de tests et également développé une nouvelle génération d'outils qui vont améliorer grandement la productivité des équipes de test.

Les Principaux objectifs de Team Test sont donc :
  • Aligner l’assurance qualité dans l’organisation du cycle de vie projet
  • Gérer la qualité au plus tôt dans le cycle de vie projet
  • Augmenter la productivité des équipes de Test
  • Eliminer le syndrome de non reproductibilité des bugs
  • Mise à disposition d’outils modernes, et simples à utiliser
  • Capacité de priorisation des tests ( Connaitre les tests impactés par des modifications de code)
  • Capacité de calcul de Taux de couverture des tests (par rapport au WBS Projet)
Ces objectifs ont été atteints par la production des outils et concepts suivants :
  1. CAMANO : Le client de dernière génération pour gérer et exécuter les cas de tests incluant l'ensemble du cycle de vie de l'activité de tests. CAMANO a pour fonction principale la planification, l'analyse et le reporting sur l’activité de test, mais aussi la création et l'exécution des tests ainsi que la transmission des bugs reproductibles aux développeurs encapsulant la trace (Proteus), les captures d'écrans et optionnellement la séquence video du jeu du test ainsi que le détails des étapes du test et les résultats obtenus par le testeur.
  2. Automation Strips : Ce nouveau concept permet de mémoriser les étapes d'un test par une technique de recording pour automatisater le jeu de tests manuels et donc accèlérer les campagnes de tests.
  3. Coded UI Tests : Les tests codés permettent à partir d'un Automation Strip de coder un test afin de produire une automatisation complète du test manuel afin de pouvoir par exemple jouer ce test lors de builds automatisés. Un test codé va jusqu'à controler les valeurs présentes dans des controles d'interface Graphiques et controler la conformité avec la valeur attendue du test. La fonctionnalité est aujourd'hui fonctionnelle pour les clients Web et est attendue très prochainement pour les clients riches.
  4. TEAM LAB : Sans contexte l'innovation la plus spectaculaire de Rosario : avec Team Lab Microsoft apporte une solution à la probblématique récurrente des temps passés à la préparation, la configuration et le déploiement d’environnements de tests entrainant de la perte en productivité des équipes. Team Lab est basé sur une technologie de virtualisation et offre en outre le concept de snapshot, permettant au testeurs de mettre à disposition des développeurs des snapshots d'environnements pour reproduire des bugs identifiés. Team Lab sera intégré à Camano. Team Lab permet de déployer des environnements de tests à la demande en quelques minutes.
Pour plus de détails sur les nouveautés incluses dans ce module, se référer à l'article : Module Testeur

Autres nouveautés apportées par Rosario
Parmi les autres nouveautés, on citera :
  • L'intégration de Windows Workflow Foundation à Team Build permettant de gérer des scenarios complexes de build automatisés.
  • Coté Source Control il est possible désormais d'ajouter des fichiers au contrôle de code source par un simple cliquer glisser de fichier, la gestion des Workspaces est simplifiée et les fonctions de recherche, les affichages d'historique et la navigarion ont également amélioré.
  • Un module de visualisation des branches permettra de suivre graphiquement les activités de brnaching et de merge. Ci dessous une illustration de cette nouveauté :

  • Une nouvelle version de Team System Web Access entièrement relookée

1 commentaire:

JeromeN a dit…

Quelles seront les nouveautés apportées à Team Build: éditeur de team build types, support de Biztalk, WSP, etc...?