dimanche 31 janvier 2016

Conférences Mes outils électroniques Agile, tout un programme !

De octobre à 2014 à décembre 2015, j'ai donné 5 conférences sur le thème des outils Agiles. Elles ont toutes 2 axes en commun : le choix souvent douloureux des outils, l'intégration de ces outils qui est à mon avis indispensable.

Mes outils électroniques Agile, tout un programme !

Sous un soleil magnifique, j'ai présenté avec beaucoup de plaisir cette conférence. C'était le 1er décembre 2015 lors l'Agile Tour Sohia-Antipolis 2015. Merci à l’organisation de m'avoir invité à cette belle journée Agile.

Mes outils électroniques Kanban, tout un programme !

Lors de le première édition du KabanDay en mai 2015, J'ai présenté une première version relativement similaire de cette conférence. Je remercie l'équipe organisatrice pour cette première édition réussie et de m'avoir fait confiance.

Ma Stack d'outils Agile, tout un programme !

Fin 2014, j'ai présenté une conférence à 3 Agile Tour 2014 . Celle- ci est plus orientée sur les technologies et l'ensemble des outils formant une Stack Agile. J'insiste beaucoup sur l’importance de s'intégrer avec les autres, notamment au travers des technologies du web :
  • API REST,
  • OAuth v2,
  • Web Hooks,
  • LightWeight HTML/JS extensions
J'y mets en particulier en lumière 2 produits très prometteurs
  • Zapier pour intégrer facilement 2 applications Web
  • Hubot pour étendre les fonctions de sa chat room 
Encore merci aux organisateurs et sponsors des Agile Tour Strasbourg, Aix/Marseille et Paris !

have a nice day

dimanche 22 juin 2014

Vidéos Visual Studio Online et nouveautés sur les tests fonctionnels

J'ai enregistré pour Microsoft France des vidéos afin de présenter les derniers nouveautés sur Visual Studio 2013 et surtout Visual Studio Online.

La première vidéo permet de découvrir les avantages de Visual Studio Online.Le premier avantage est de disposer en quelques minutes d'une plateforme complète de développement logiciel, mise à jour régulièrement et avec un niveau de service très élevé. Le seul point d'attention est sur la personnalisation : actuellement vous ne pouvez pas ajouter un nouveau champ à un élément de travail ou changer le modèle de processus. Il apporte aussi des services exclusifs que l'on peut utiliser même si nous utilisons une version "On Premises" de TFS. Ces services sont les tests de charges avec minimum 15 0000 d'utilisateurs virtuels minutes par mois, sans avoir à mettre en place une infrastructure coûteuse et demandant plusieurs compétences. Il apporte aussi Application Insights, en preview actuellement, qui permet de surveiller son application au niveau de la disponibilité, de la performance, de l'usage et des journaux de diagnostiques. Et même bientôt la possibilité de modifier son code source directement dans le navigateur pour des corrections minimes avec le projet "Monaco".

La deuxième vidéo se penche sur les évolutions des tests fonctionnels avec Visual Studio ALM 2013.Au cours des différentes mises à jour de TFS 2012 puis TFS 2013, un ensemble important des fonctionnalités de Microsoft Test Manager ont été portées sur directement dans le Web Access, l'interface Web de Team Foundation Server. Tout d'abord, la possibilité de créer des cas de test à partir d'un simple tableau. Il est même possible de le copier-coller depuis son plan de test Excel. Le testeur peut aussi exécuter ses scénarios de test directement dans Internet Explorer. Cela lui permet aussi de consulter l'avancement de son plan de test depuis tous ses terminaux, sa tablette par exemple. Cela permet de remplacer avantageusement le traditionnel cahier de test dans plusieurs de nos projets clients. Si nécessaire, il est possible d'exporter l'ensemble du plan en HTML pour l'imprimer ou l'envoyer par mail.

L'ensemble des vidéos sur les nouveautés de Visual Studio 2013 sont disponibles sur le site de Visual Studio France 

have a nice day.

samedi 3 mai 2014

Retour sur le ScrumDay 2014

En avril, j'ai participé au Scrumday 2014 organisé dans le centre de conférence de DisneyLand Paris. Le ScrumDay est, avec Agile France, un des rendez-vous phare de la communauté Agile.
La conférence du 10 avril proposait de nombreuses présentations et ateliers autour du thème de cette année la Culture Produit, autrement dit le Product Owner et ses pratiques ont été au centre de beaucoup de sessions. La KeyNote a bien lancée la journée avec un orateur plein d’énergie et prestigieux :Alistair Cockburn co-auteur du manifeste Agile. J’ai trouvé le contenu de bon niveau et les ateliers particulièrement intéressants. Pour résumer la journée en un slogan « Arrêter de faire des projets, créez des produits innovants … et disruptifs ».

En parallèle, de la conférence une « coach clinic » était à la disposition des participants pour échanger autour de ses projets produits avec un coach agile. Le centre de conférence et le service pendant les pauses étaient vraiment excellents. J’ai très bien petit déjeuner, déjeuner et goûter. Tant mieux ! Le soir venu, un dîner a réuni plus de 100 agilistes pour échanger dans une très bonne ambiance autour des pratiques, et aussi passer de bons moments de rire et détente.

cercle pour clôturer le forum ouvert
Le lendemain 11 avril, quelques-uns ont décidé de profiter du voyage pour visiter les parcs Disney en famille….d’autres ont essayé une nouveauté cette année : le forum ouvert (Open Space). Avant de démarrer, tous les participants peuvent proposer un sujet de leur choix, chaque thème est ajouté à une place de marché et associé à un lieu et un horaire. Chacun est ensuite libre de participer aux groupes de travail rassemblés dans une grande salle. Le concept impose peu de formalisme mais une simple loi « suivez vos 2 pieds ». J’ai pu expérimenter des jeux agiles, aider à trouver de vraies pistes pour débloquer une situation tendue, participer un atelier Lean Canvas pour construire le bon produit, et découvrir que j’étais du profil C1 pour Action Types !

Avec la possibilité d’utiliser votre DIF, j’espère vous croiser nombreux pour une édition 2015 du ScrumDay encore meilleure ou plus rapidement au prochaines soirées Meetup. En attendant, vous pouvez visualiser les vidéos des présentations sur la FrenchSUG TV et le reportage sur l’évènement avec une équipe d’organisation … disons #happy.

Edit : la page Scrumday 2014 regroupe les enregistrements des sessions

1er jour de conférence
have a nice day.

dimanche 16 mars 2014

Démarrer avec Specflow

L'article suivant vous propose de vous lancer avec Specflow en langage gherkin pour les francophones. Specflow est la version destinée à Visual Studio de Cucumber.

Installation dans Visual Studio

Dans Visual Studio 2010, 2012 ou 2013, depuis les extensions et mises à jour de Visual Studio Gallery, chercher « specflow » et l’installer.
Redémarrer ensuite Visual Studio 2013

Créer un projet de test

Il faut créer un projet de test pour intégrer les différents cas de test.
(Plusieurs framework de test unitaire sont supportés dont MsText, NUnit, xUnit, mbUnit)
Cliquer sur Ajouter au niveau de la solution et ajouter un projet de test unitaires :
Supprimer le fichier TestUNit1.cs créé automatiquement dans le projet.
Pour fonctionner avec MSTest, il faut installer le package NuGet SpecFlow dans le projet (Pour Nunit, remplacer par SpecFlow.NUnit). Il suffit de lancer la commande suivante dans le Nuget Package Manager  :
PM> Install-Package SpecFlow -ProjectName MonAppli.Extranet.Specs

ou l'installer via l'interface de Package Manager
La référence TechTalk.SpecFlow doit apparaître dans le projet de test :

Dans le fichier App.config, il faut modifier la configuration afin :
  • d'ajouter le langage par défaut en fr-FR pour écrire les Feature en francais (en-US par défaut)
    <language feature="fr-FR" />
  • d'indiquer le framework MsTest comme celui à utiliser pour générer les tests
    <unitTestProvider name="MsTest" />
Pour le détail des configurations possibles se reporter à la page de documentation suivante http://go.specflow.org/doc-config.

Créer une première feature

Cliquer droit sur le projet pour ajouter un nouvel élément. Choisir le SpecFlow Feature File et cliquer sur Add.
Ouvrir le fichier et modifier les mots clés par ceux correspondant au français.
"fr": {
 "name": "French",
 "native": "français",
 "feature": "Fonctionnalité",
 "background": "Contexte",
 "scenario": "Scénario",
 "scenario_outline": "Plan du scénario|Plan du Scénario",
 "examples": "Exemples",
 "given": "*|Soit|Etant donné|Etant donnée|Etant donnés|Etant données|Étant donné|Étant donnée|Étant donnés|Étant données",
 "when": "*|Quand|Lorsque|Lorsqu'<",
 "then": "*|Alors",
 "and": "*|Et",
 "but": "*|Mais"
},
Une aide contextuelle (Intellisense) permet de retrouver facilement les mots-clés :

Générer les étapes et exécuter les tests

Pour construire les tests unitaires sous-jacents, il suffit de générer les étapes en cliquant droit sur le fichier et choisissant Generate Step Definitions , puis en sélectionnant les étapes à générer et cliquer sur Generate.
Vous  pouvez alors choisir le fichier et la classe (existante ou à générer) qui accueillera ces étapes.

Une fois le squelette du code généré, lancer une compilation du projet en cliquant sur Projet > Générer. Chaque scénario peut être lancé depuis la fenêtre de Test de Visual Studio.
Il reste alors à implémenter le code de test puis le code réalisant la fonctionnalité.
N’oubliez pas de supprimer la ligne avec ScenarioContext.Current.Pending();

Pour aller plus loin

Pour bien coder et tirer parti des fonctionnalités de specflow, la page suivante permet de pointer sur les pratiques les plus importantes : http://www.specflow.org/getting-started/beyond-the-basics/
La page des ressources est aussi intéressante notamment les blogs Posts concernant ASP .Net MVC.
http://www.specflow.org/resources/

L'intégration à la build TFS est aisée. Comme des tests unitaires sont générés (MsTest, NUnit, …)., il n’est pas nécessaire d’ajouter de la configuration supplémentaire au niveau de la Build (si ce n’est l’exécution des tests unitaires, normalement configuré par défaut).

Pour des fonctionnalités plus avancées, il faut utiliser SpecFlow+ Runner qui est payant.
Il permet aussi de :

  • Afficher les titres des scenarios dans le résultat de l’exécution
  • Générer un rapport HTML détaillé et personnalisable
  • Permettre de filtrer les scenarios dans la définition de Build
have a nice day.


samedi 30 novembre 2013

Migrer de TFS 2008 SP1 vers TFS 2012

Si vous avez encore votre serveur TFS en version 2008 SP1, il faudra migrer d'abord celui-ci vers TFS 2012 avant éventuellement de le migrer vers TFS 2013. Voici un résumé des principales étapes pour cette migration et celle de votre contenu SharePoint (WSS3.0).
  1. Préparer les nouvelles machines avec : (Dans la plupart des cas, il n'est pas possible de migrer sur place)
    1. Windows 2008 R2 SP1
    2. SQL Server 2008 R2 SP2
    3. SharePoint 2010 SP2
    4. TFS 2012 Update 3 (une de mes migrations avec l'update 4 a échouée)
  2. Préparer les outils et Team Build
    1. migrer vers VS2012 autant que possible les solutions.
    2. migrer vos taches et outils de Build vers vers le nouveau modèle objet client.
    3. migrer une build .Net : à priori pas ou peu d'actions (sauf migration optionnelle de MsTest vers Test Runner et des personnalisations du 2.)
    4. migrer une build Cpp en conservant une solution et projets VS2008  :
      Voici les points que j'ai rencontré, vous en aurez surement de supplémentaires,
      Sur la machine de Build :
      • Installer Windows SDK 6.1A
      • Installer la fonctionnalité du serveur .Net 3.5.1
      • Installer VS2008 avec Team Explorer puis le SP1
      • Ajouter au PATH : "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\amd64"
      Sur la définition de Build et les projets, il faut parfois s’assurer que l'"OutDir" personnalisée soit utilisée (et les fichiers bien envoyés dans le répertoire de dépôt)
  3. Sauvegarder, puis Restaurer les bases vers le nouveau serveur de base de données
    • tfsXXX (toutes les bases de TFS)
    • Wss_Content (la base de contenu SharePoint)
    • ReportServer et ReportServertempdb (base des rapports).
      Cette restauration est à réaliser si vous avez des rapports personnalisés. Les nouveaux rapports sont créés automatiquement lors de la migration.
  4. Migrer les bases TFS en choisissant l'option Mise à jour dans la boite de dialogue.
    Suivre les instructions pour migrer les bases TFS et le reporting. (Je préfères migrer SharePoint séparément)
    La migration est longue voire très longue suivant la taille de votre base de code et le nombre d'éléments de travail. L'idéal est de la tester une première fois avant de réaliser la migration définitive.
  5. Configurer SharePoint 2010.
    Lancer une configuration standard en créant une nouvelle ferme de serveur et un nouveau site d’administration centrale. Puis lancer l'assistant d'installation pour configurer les applications et service, sauter la création d'un site de haut niveau.
  6. Installer les extensions TFS pour SharePoint depuis la console d'administration de TFS.
    (Ou les installer directement depuis les sources TFS si SharePoint est sur un serveur séparé)
  7. Ajouter la base de données de contenu. Pour cela, il faut utiliser la ligne de commande  (impossible de puis l'administration centrale)
    cd c:\Program Files\Common Files\microsoft shared\Web Server Extensions\14\BIN
    stsadm.exe -o addcontentdb -url http://SPSserveur/ -databasename WSS_Content -databaseserver DBServeur
  8. Vérifier l’association du serveur SharePoint avec le serveur TFS depuis la console d’administration de TFS, activer l'association si nécessaire. Fixer les liens entre les projet d''équipe TFS et leur site SharePoint depuis la section Paramètres de Visual Studio Team Explorer 2012. 
  9. Si vous migrez de domaine, changer les identités dans TFS et SharePoint.
    Mon billet disponible ici détaille les opérations.
  10. Vous pouvez alors appliquer l'update 4 de TFS sur les serveurs.
    Ou bien choisir de migrer vers TFS 2013, la procédure sera plus simple et détaillée sur MSDN.
  11. Pour bénéficier des nouvelles fonctionnalités du Web Access dans vos projets d'équipes existants, il vous faudra bien-sûr suivre la procédure de mise à niveau.
have a nice day.