mardi 5 janvier 2010

L’ALM: c’est quoi ?

On parle de plus en plus souvent de l’ALM. Mais savons nous précisément ce que c’est ? Cet article propose une approche qui fait son chemin. Elle est notamment portée par David Chappell, dont certains travaux commandés par Microsoft visent à fournir une définition plus globale.

Définition

L’ALM est l’Application Lifecycle Management, c’est à dire le cycle de vie de l’application.

Comprendre ce qu’est l’ALM revient donc à comprendre toutes les phases de la vie d’une application. Quand l’application nait elle ? Quand se développe-t-elle ? Quand meure-t-elle ?

ALM vs SDLC

Une idée commune est que le cycle de vie de l’application se confond avec le cycle de vie du développement logiciel (ou SDLC: Software Development Lifecycle).

Mais cette approche n’est elle pas un peu réductrice ? Et si l’ALM englobait tout ce qui se passe avant le lancement du développement ? Et tout ce qui se passe après son développement ?

Cette vision plus globale est très intéressante, car elle permet de gérer toutes les activités d’un projet, et pas uniquement sa phase de production. En effet, de nombreuses tâches débutent bien avant l’ouverture de son environnement de développement logiciel: fixer les objectifs, vérifier la pertinence et l’adéquation avec la stratégie, la constitution des équipes projets, la construction du projet, le chiffrage…ont lieu bien avant la phase de développement.

La phase post développement donne lieu à un grand nombre d’activités: déploiement des versions successives, surveillance et opérations…qu’il s’agit également d’intégrer dans le cycle de vie.

Les 3 phases: Gouvernance, Développement, Opérations

Les 3 phases d’une application peuvent se résumer ainsi:



L’application nait à partir de l’idée. La phase de gouvernance va permettre de préparer la phase de Développement. Enfin, la phase Opération intervient pour gérer les problématiques de déploiement, de surveillance, et de retrait.

Phase de gouvernance

La phase de gouvernance consiste en 3 activités principales, indiquées par le diagramme ci après.



Développement des cas métiers

Il s’agit de la première activité du projet, qui consiste à définir les différents scénarios métiers adressés par l’application, et à en développer les principales spécifications, en terme de résultat attendu, de bénéfices…

Gestion du portefeuille projet

Cette phase vise à concrétiser ce projet en cas de pertinence. Un chef de projet est nommé, une équipe est mise en place.

Le processus de validation de la pertinence des projets peut être complexe: l’impact de chaque projet sur la stratégie est évalué. Si un projet permet d’atteindre un grand nombre d’objectifs stratégiques, ou si son impact est fort sur certains axes stratégiques de l’entreprise, il aura une priorité importante, et pourra éventuellement être activé.

Ce type de processus est de plus en plus utilisé par les entreprise, lorsqu’elles ont un grand nombre d’idées d’innovations, mais un nombre limité de ressources. Il s’agit donc de concentrer son énergie sur les projets les plus intéressants.

Gestion du porte feuille d’application

Au cours de la vie de l’application, même lorsque celle ci est déployée, il convient d’analyser l’impact de l’application. Cette discipline s’appelle l’APM (Application Portfolio Management). Elle voit chaque application comme une valeur (à l’instar d’une machine par exemple), dont les coûts et les bénéfices doivent être analysés. Cette analyse peut aboutir à des décisions: remplacement de l’application, nouvelle version, etc…

Développement

Cette phase correspond au SDLC. Les activités sont décrites ci après.




Il s’agit donc des différentes phases de production de l’application, incluant les itérations, les opérations de maintenance, les nouvelles versions…

Cette phase est la plus connue dans l’ALM !

Les opérations

Cette phase regroupe les activités de déploiement et de surveillance de l’application.


Les déploiements sont étroitement liés aux phases de développements: nouvelle version, etc…Les opérations de surveillance et de monitoring sont quand à elles actives pendant toute la vie de l’application.

Les outils pour chaque étape

Chaque étape de l’ALM peut être supportée par un (ou plusieurs !) outils.

Dans l’écosystème Microsoft, les outils sont les suivants.

Gouvernance

La suite EPM est dédiée à cette phase des applications.

Avec la version EPM2007, l’ensemble des activités de cette phase pourra être supporté: gestion des propositions de projet, gestion des coûts/budgets, planification des ressources, outils décisionnels, etc…

Avec la version EPM2010, les activités de gestion de portefeuille projet pourront être supportées par Project Portfolio Server, dont c’est la mission principale. Retrouver les autres billets de ce blog à la catégorie EPM pour avoir la description de cet outil.

Développement

Le cycle de vie du développement est supporté par Visual Studio, aidé par Team Foundation Server. Cet outil permet à la fois la production, mais également la gestion de configuration, le test, l’intégration continue…

Opération

Un outil tend à se démocratiser pour gérer cet aspect: System Center. Véritable suite logicielle dédiée à l’administration du parc informatique, sa mise en oeuvre permet une maîtrise des différentes configurations en production.

Encore insuffisamment exploité dans le monde du développement logiciel, des connections avec les autres outils d’ALM (par exemple la gestion des tests dans TFS/Lab Manager) vont sans doute lui donner une place importante dans l’ALM, surtout dans un contexte qui pousse de plus en plus à la virtualisation.



Cet article n'est pas de moi mais d'un amis : Sylvain Gross ( s.gross@evaluant.com ), merci pour sa participation ;)

samedi 2 janvier 2010

PsTFS Web admin - Création d'un script PsTFS (powershell) pour l'ajout de WI

Comme vous le savez, PsTFS web admin permet d'exécuter des commandes Powershell, donc PsTFS, pour l'affichage soit sous forme de tableau, soit sous forme de graphique des données.

Maintenant il est possible de faire des commandes pour l'ajout de données. Par exemple en utilisant la CMDLET "Add-Workitem" de PsTFS il est possible de créer un Workitem très facilement et avec des paramètres.

Add-WorkItem -tfs http://monserver:8080 -ProjectName MyProject -Type {@Title:Type%20WorkitemType:StringInformation:Type%20Workitem%20for%20project%20NONO} -Title {@Title:Title%20for%20WorkitemType:StringInformation:Title%20for%20Workitem} -Param {@Title:ParamType:MultiLineInformation:Ex:'Description'%20'Category'}

Ce type d'élément :
{@Title:Type%20WorkitemType:StringInformation:Type%20Workitem%20for%20project%20NONO}

Permet de rentre cette information saisissable dans le formulaire web, par exemple :
  • Title : Est le titre du Label, la valeur sera dans notre cas "Type de workitem"

Il existe 3 élements pour une variable:

  • Title
  • Type
  • Information
Et pour type il existe 4 valeurs :
  • String
  • Bool
  • DateTime
  • MultiLine
Les espaces doivent être remplacés par %20 pour permettre le traitement de l'information.

Voici un exemple d'utilisation




Pour le télépchargement :
http://pstfswebadmin.codeplex.com

VPC pour TFS 2010 Beta 2

Bon téléchargement :

Microsoft® Visual Studio® 2010 and Team Foundation Server® 2010 Beta 2 virtual image for Windows Virtual PC :

Microsoft® Visual Studio® 2010 and Team Foundation Server® 2010 Beta 2 virtual image for Windows Server 2008 Hyper-V :

Microsoft® Visual Studio® 2010 and Team Foundation Server® 2010 Beta 2 for Microsoft® Virtual PC 2007 SP1 Image ;
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=540777b0-cbd7-485e-bde5-23a1d4f442e0

La premier est optimisée pour Windows 7 avec 3 Go de mémoire libre, les autres pour Hyper-V et VPC 2007 SP1.

mercredi 30 décembre 2009

PsTFS Web Admin

Il y a quelques temps je vous parlais d'un site web pour PsTFS. Celui-ci arrive enfin en version Alpha mais déjà utilisable, je dis version Alpha car il manque encore des fonctionnalités, un ou deux bugs non bloquant sont encore en cours de correction.

Mais si c'est en version Alpha avec des bugs, pourquoi publier ??? me poser cette question est tout à fait normale. J'ai développé cette application web avec mes besoins qui étaient :
  • Avoir des indicateurs de mes projets
  • Pouvoir facilement créer des nouveaus indicateurs
  • Afficher ces indicateurs dans WSS ou MOSS ou tout autre application (Web ou Winform)

Aujourd'hui PsTFS Web Admin correspond à ce besoin, mais il existe certainement d'autre besoin que vous auriez et c'est pour cela que je souhaite mettre à votre disposition cette application.

Voici des petites vidéos vous permettant de voir les capacités de cette application :





Pour suivre les évolutions je vous invite sur Facebook :
http://www.facebook.com/pages/PsTFS/229217054095

Pour le téléchargement :
http://pstfswebadmin.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=37962

Merci de vos retours

mercredi 9 décembre 2009

Comment changer l’Add-in TFS 2010 par celui de TFS 2008 dans Excel

Lors de l'installation de VS 2010 Ultimat (et oui version beta, mais déjà bien pratique), l'add-in dans Excel se trouve être naturellement la version 2010. Il se peut pour divers raison et pour faire des articles (là c'est mon cas) devoir changer la version de l'Add-in.

Pour ce faire :

Aller dans les options d'Excel :

Puis dans les compléments :

Puis dans Gérer choisir « Composant COM » puis « Atteindre »

Delà vous pouvez choisir entre les versions 2008 ou 2010 de Team Explorer.

vendredi 27 novembre 2009

Indicateurs pour vos projets avec PsTFS

Souvent, j'entends parler d'indicateurs projet et avec TFS soit nous utilisons Reporting soit Excel.

La version Reporting est assez lourde pour un chef de projet qui doit suivre l'évolution de son projet au quotidien. Excel quant à lui permet beaucoup de choses, cela fera l'objet d'un post prochainement, mais personnellement je préfère le bureau de Windows.

Certains d'entre vous connaisse peut être PowerGadget (http://www.softwarefx.com/sfxSqlProducts/powerGadgets/). Pour ceux qui ne connaissent pas, ce projet permet la création de gadget pour Vista ou Win 7. Il peut se connecter sur trois sources de données :

  • Web Service
  • Base de données
  • Commande PowerShell


Bien entendu pour ceux qui suivent mon blog, j'ai mes commandes Powershell pour TFS (http://PsTFS.Codeplex.com). Donc naturellement j'ai créé mes indicateurs pour gérer mes projets, en voici un exemple pour le suivi des bugs.

J'ai donc :

  • 1 bug actif
  • 7 bugs fermés
  • 5 bugs en attente d'être testé

Ces indicateurs sont mis à jour toutes les heures mais c'est entièrement et facilement paramétrable de 1s à 1h.

Pour avoir ce résultat, il suffit d'exécuter une de mes commandes de faire une petite boucle foreach et voilà :

Script pour récupérer les Bug Actif :

   1: $wis = get-Wis -tfs http://monServer:8080 -ProjectName MonProjet



   2: $count = 0



   3: foreach($w in $wis)



   4: { 



   5:     if($w.Fields["System.WorkItemType"].Value -eq "Bogue" -and $w.Fields["System.State"].Value -eq "Actif")



   6:     {



   7:         $count = $count + 1



   8:     }



   9: }



  10: $count




Simple non?



Faire la même chose pour les tâches :



 



Si vous souhaitez une démonstration contactez-moi : n.choulant@evaluant.com


samedi 21 novembre 2009

Quand le Web rencontre PsTFS

PsTS est déjà la rencontre entre PowerShell et TFS, les CmdLet que compose PsTFS permettent déjà beaucoup de choses (Ajout de WI, parcourt des Label, parcourt des projets, provider TFS...)

Aujourd'hui j'ai le plaisir de vous faire découvrir la pré version Alpha (et oui c'est ses débuts) mais les possibilités de l'outils que je vais vous présenter son prometteuses.
  • Ajout des WI par Interface Web
  • Parcourt des projets par Interface web
  • ...

Vous pourriez me dire que cela existe déjà (Team system web access) future Visual Studio 2010...

Mais PsTFS Web Admin va plus loin, si non quel est l'intérêt de le développer ;). Pouvoir exécuter des scripts powershell, personnaliser les CdmLet PsTFS à exécuter...


Mon exemple le plus concret est de devoir créer un projet TFS via une interface web avec l'ajout des comptes dans l'AD, envois de mail au membre de l'équipe avec toutes les informations du projet...

Ceci n'est pas possible aujourd'hui, bien que Antoine Habert est développé un outils super "PoshBoard", PsTFS Web Admin ne répond pas au même attente.

Vous pourrez développer vos propres scripts et créer le menu dans PsTFS Web Admin très facilement par fichier XML pour l'exécuter. Dans ce cas PsTFS Web Admin se chargera de vous présenter les paramètres à transmettre au script, de l'éxécuter et de vous donner le résultat.

Envoyer ses propres commandes powershell pour afficher la liste des projets de votre serveur TFS .

JQuery permet beaucoup de chose coté client. le trie, la recherche...

Les commandes powershell dont typé (Add, Get, Set, Remove etc..) La présentation changera suivant le typage des commandes souhaitées.

Par exemple les commandes de type Get vous seront présentés sous forme de Grille et les commandes typé Add sous forme de formulaire...

Les données générées dans powershell reste accéssible et cela vous permettra de suivre les différentes étapes.

Des élements graphique arriveront et permettront de générer des graphiques. Tableau de bord ? et oui, aujourd'hui en web nous ne pouvons utiliser que Reporting Service, par toujours pratique et pas en temps réel, et Excel service seulement si vous disposez de MOSS.

PsTFS Web Admin sera disponible en version Beta courant Décembre 2009, je vous invite à vous abonner au flux RSS de mon site pour avoir des nouvelles rapidement. Pour les plus pressé s vous pouvez me contacter par mail ( n.choulant@evaluant.com).

L'objectif finale est d'avoir un réel tableau de bord interactif pour Team Foundation Serveur sans devoir redévelopper un Add-in C# ou tout autre éléments. Un script Powershell est à la porté de tous ;)
A suivre bientôt sur : http://pstfswebadmin.codeplex.com/