Préparation Express / Démarrage de projet agile

Les pratiques Agiles les plus utiles sont souvent celles qui émergent sur le terrain, en collaboration avec ceux qui vivent le projet. J’ai eu la chance de le vivre dans le cadre de ma pratique. Lors de l’accompagnement de projets de différentes tailles, on m’a demandé d’épauler le démarrage rapide de petits projets Agiles dans une grande organisation de la fonction publique. Dans un environnement de cette ampleur, il est facile de blâmer la taille de l’organisation pour justifier la lenteur et le coût de démarrage de chacune des initiatives. Le printemps dernier, un directeur du côté client m’a demandé de transformer une initiative à faible budget en succès. Lors de ma pratique en clientèle, en collaboration avec des collègues internes, j’ai assemblé un amalgame d’ateliers existants et créé une démarche répétable pour les petits projets. Plusieurs privilégiés ont eu la chance d’expérimenter cet outil via des ateliers pratiques à l’Agile Tour 2016 de Québec (sous le nom d’architecture express).

Cette démarche a été utilisée à plusieurs reprises en environnement réel. Les types de projets possibles varient entre de nouveaux développements, des améliorations à un système existant, des intégrations d’un produit logiciel ou du développement sur un progiciel. Cette préparation de projet rapide se prête bien aux projets de quelques semaines à quelques mois. Afin de mener à bien la préparation, on vise normalement un noyau de leaders variant de 2 à 5 personnes pour animer des ateliers variant entre 5 à 12 personnes, et une réalisation Agile par la suite. Vous pouvez voir les détails dans notre section outils.

Ce genre de démarrage requiert une implication intensive de 1-3 jours dans un tour d’horizon en 10 ateliers. Par la suite, dépendamment du focus de l’équipe de préparation, une série d’ateliers de préparation (écriture de récits, modélisation Agile etc.) s’étalent sur 1 à 3 semaines. Une fois cette étape de préparation complétée, l’équipe de réalisation peut faire un estimé à haut niveau (ex: via une session murale) et ensuite se lancer en réalisation avec la méthode Agile de son choix.

Même les premières versions ont eu beaucoup de succès, chacune d’elles nous ayant permis d’en apprendre sur l’écosystème affaires et TI de l’organisation. L’outil peut sembler intimidant au premier regard, mais n’ayez pas peur de l’essayer, d’expérimenter et de démarrer vos projets dans une collaboration énergisante! Si toutefois vous souhaitez vivre cette démarche avec accompagnement, contactez-nous et il nous fera plaisir de vous appuyer dans son application.

Pour plus d’information sur la méthode: Éric Lessard

Pour plus d’informations sur notre offre d’accompagnement sur la Préparation Express: Christian Savard, Directeur

Le Manifeste du BDD

BDD Manifesto

On voit des manifestes un peu partout ces jours-ci. Étant un passionné de BDD (Behavior-Driven Development), je me disais que cela serait pertinent d’en faire un à ce sujet.

L’objectif, pour moi, est de pouvoir résumer rapidement la technique avec des exemples, et surtout de faire prendre conscience que le BDD n’est pas une histoire d’outils avant tout. En fait, l’outil peut même s’avérer facultatif et arriver dans un deuxième temps.

Bref, afin de comprendre rapidement ce qu’est le BDD, voici mon manifeste :

Combler le fossé de communication entre le domaine d’affaires et le développement
plus que
Développer sans connaitre les objectifs et la vision affaires

L’équipe de développement est responsable de la qualité
plus que
C’est la responsabilité du testeur

Se valider fréquemment à l’aide d’exemples et d’explorations
plus que
Découvrir les bogues plus tard dans le processus de développement

Obtenir une documentation vivante des spécifications de notre système
plus que
Avoir une documentation lourde et coûteuse  à mettre à jour

Avoir des communications efficaces, rapides et avec des perspectives différentes
plus que
Travailler de manière hiérarchique et en silos

Établir des scénarios et des exemples concrets, accessibles et abstraits
plus que
Établir des scripts de tests détaillés et complexes

Automatiser l’exécution des tests fonctionnels
plus que
Réaliser manuellement tous les tests fonctionnels

Qu’en pensez-vous ?

Vos commentaires et critiques sont très appréciés afin d’améliorer ce manifeste.

Vous voulez en savoir davantage ? Il y aura une formation pour le côté fonctionnel et technique « Introduction au BDD » bientôt chez notre partenaire AFI.

Autres manifestes:

Références BDD:

Des formations Agiles plus techniques ça existe?

Vous êtes développeurs, architectes et vous avez l’impression que la majorité des formations Agiles ne parle que de processus, valeur, culture, gestion, ….?

Vous vous dites « Me semble qu’à la base de l’Agilité il y a l’excellence technique? »

Hé bien vous avez raison!  C’est pourquoi nous avons pris un soin jaloux de couvrir l’ensemble des perspectives reliées à l’Agilité  lors du développement de notre cursus de formation.  Et vous savez quoi?  Février vous offre deux belles opportunités pour aiguiser vos réflexes d’ingéniéries Agile avec :

Le développement piloté par les tests (TDD)  le 5 février à Québec et;

Architecture organique Agile et ouverte les 8 et 9 février à Québec.

Faites vous former par nos conseillers experts en techniques d’architecture et en développement Agile et saisissez la vague Agile !

 

Heu! non, réécris-le

Oncle Bob (Monsieur Robert Cecil Martin pour les autres), mentionne :

Si tu penses commenter ton code, c’est sans doute que c’est mal conçu, alors réécris-le, ne le commente pas.

Cette phrase prend une grande place dans le rôle du professionnel TI que nous sommes.

Une devise de scout,

Nous quittons le camp plus propre que lorsque nous sommes arrivés.

Je suis dans le coaching Agile depuis quelques années, et il ne passe pas une journée où je dois répéter ces devises :

« Ce code est mal fait, je vais ajouter un commentaire pour le prochain qui va essayer de le comprendre » me dit un développeur tout souriant.

« Heu! Non, réécris le code, ne le commente pas. »

« Argh! la documentation n’est pas à jour » me dit l’analyste « Je vais laisser une note. »

« Merci du commentaire, maintenant mets-le à jour, et n’écris pas ta note. »

« OK!, si l’utilisateur active le bouton ‘non’, c’est parce qu’il doit changer la valeur d’un champ. Mais comment saura-t-il?  » demande le PO. « Ce n’est pas grave, nous allons écrire un texte dans l’écran pour l’expliquer » mentionne le rédacteur.

« Heu! Non, concevez la bonne interface graphique. »

Il n’y a pas de propriété intellectuelle, ce qui appartient à la communauté (projet, organisation, etc.) peut être modifié par celle-ci en tout temps. Vous allez me dire que vous n’avez pas le temps, bien alimentez votre carnet de dettes, car c’est bien ce que c’est.

« Fred, j’ai trouvé quelque chose pour bonifier ton texte. Je vais te laisser une note en bas dans la zone des commentaires. » Me mentionnez-vous. « Heu! non, modifies-le toi-même et laisse faire le commentaire. » Je vous répondrai bien, si ce n’est des contraintes de l’outil 😉

Ce que l’on a retenu de l’Agile Tour Québec 2015

Comme chaque année, l’Agile Tour Québec est une journée spéciale. En plus de formations et conférences, c’est une belle occasion d’avoir des échanges intéressants et de renouer avec d’anciens et de nouveaux collègues. Voici donc les faits saillants que nous avons retenus de cette journée:
Conférence Principale
L’expert de l’Agilité disciplinée, Scott Ambler, était de passage en tant que conférencier principal. Il a bien sûr discuté sur son approche, DAD, surtout au niveau entreprise.
  • On ne peut se limiter qu’à Scrum. On doit s’élever davantage, notamment  au niveau de l’entreprise.
  • Afin de s’élever, il faut avoir une pensée tactique et stratégique.
  • Comment réagiriez-vous si Google essayait de prendre votre business ?
  • Chaque {personne, équipe, organisme} est unique. On ne peut donc appliquer la même recette à tous.
  • Même chose pour les « lifecycle » de nos systèmes informatiques, un format ne convient pas à tous.
  • Bon conseil: toujours faire les choses les plus risquées en premier.
  • Important: l’équipe doit être au courant de la vision d’entreprise.

[slideshare id=54900825&doc=disciplinedagileenterprise-151109100627-lva1-app6892&w=650&h=500]

Lean/Kanban/Kaizen
Le lean est toujours présent à l’Agile Tour sous une forme ou l’autre. Comme par exemple:
Kaizen ou amélioration continue:
  • Petits changements simples que l’on peut contrôler 
  • Pas une responsabilité du gestionnaire, mais plutôt celle des équipes; le gestionnaire encourage cette responsabilité et la catalyse.
  • Ludifier une initiative d’amélioration continue permet de mobiliser les gens.
  • Il faut impliquer les équipes dans la ludification en leur faisant définir les règles et le système de récompense.

 

User Expérience (UX)
Le UX avait une bonne présence cette année avec 2 conférences. Voici en gros ce que l’on a retenu:
  • Le UX, c’est une forme de mentalité dans le processus de développement
  • La recherche se veut :
    • Efficace
    • Efficiente
    • Satisfaisante
    • Compréhensible
  • Le UX est composé de plusieurs techniques qui se regroupent dans les thèmes suivants:
    • Prototypage
    • Analyse d’affaire
    • Design visuel
  • Aller voir les utilisateurs pour réaliser le bon produit afin d’obtenir une meilleure adoption
  • Important de récompenser les échecs, cela nous permet d’apprendre
  • 3 saveurs au UX: Traditionnel, Agile et Lean
  • Bref: L’expérience humaine prime avant tout !
Pratiques Techniques:
Plusieurs sujets divers parlant du coté technique tels que:
L’excellence technique:
    • Nous sommes dans l’ère de la créativité désormais. Sommes-nous prêts ?
      Pour soutenir cette créativité et rester compétitif, il faut être capable de s’adapter rapidement. Pour cela, il faut mettre la qualité du code en priorité.
    • La connaissance est maintenant partout et les choses se complexifient
    • Besoin d’avoir une main d’oeuvre passionnée et curieuse car nous tendons vers une société axée sur le logiciel
    • Les pratiques d’extrême programming sont un préalable à l’Agilité, le code doit être Agile pour être Agile. Scrum et XP sont complémentaires.
    • L’excellence ce n’est pas d’être parfait mais d’être passionné, curieux (il questionne et n’est jamais satisfait du statu quo..) et créatif.
    • Vaut mieux embaucher une personne excellente que 10 mauvaises, l’embauche est la chose la plus importante.
Processus de développement:

Innovmetric a implanté de nouvelles pratiques afin de pallier à ses problèmes qui ralentissaient le développement :

    • Implantation de l’Agilité afin de faciliter la communication dans le cadre du développement et le bon travail d’équipe
    • Des outils ont été implantés afin de :
      • Tester quotidiennement la performance en mesurant le temps d’exécution des fonctionnalités.
      • Détecter la mauvaise utilisation de pointeurs et références en C++.
      • Valider les dépendances entre les modules/projets qui ont été implantés.
      • Enregistrer la pile d’appels dans un fichier dès qu’une exception anormale a lieu.
    • Les tests unitaires automatisés et de simulation de clics, sont exécutés sur une grande variété de systèmes d’exploitation et sur des comptes utilisateurs Windows ayant des droits d’accès variés.
    • Se sont dotés d’une politique pour que 10% des tâches des sprints soient consacrées à l’amélioration continue du système, et 90% pour le développement standard de nouvelles fonctionnalités.
    • L’intégration continue permet de connaître facilement la cause d’un impact négatif sur les tests automatisés ou sur un écran utilisateur. Il suffit de voir quels fichiers ont été modifiés depuis la dernière compilation/exécution des tests et d’analyser le tout afin de connaître la cause du problème et le correctif requis.

Au final, ça rapporte d’implanter ces processus:

    • Les coûts de développement sont maintenant moins grands qu’au départ.
    • Les employés sont plus heureux compte tenu qu’ils travaillent en collaboration et dans un cadre d’amélioration continue.
    • L’embauche et la formation de ressources est plus facile, compte tenu que le système est entouré de processus clairs et fiables.

Bref, dans l’ensemble les conseillers de Facilité Informatique ont bien apprécié cette journée. On a déjà hâte d’être à l’an prochain pour découvrir de nouveaux sujets afin d’améliorer notre Agilité.