Partage d'un bel exemple de ce que l'adoption de l'Agilité peut apporter à une organisation, au-delà de la simple utilisation de Scrum. En particulier, sa présentation porte sur les pratiques mises en place à la Société immobilière du Québec (SIQ) dans un contexte d'équipes nombreuses :
- la définition de la portée par les processus d'affaires;
- la planification du développement avec les cas d'utilisation;
- l'établissement d'un cadre méthodologique Agile;
- la qualification des exigences fonctionnelles par des tests automatisés (BDD).
La présentation s'adresse à n'importe quelle personne qui veut des exemples d'une transition réussie ou qui souhaite découvrir le potentiel de l'Agilité.
2. Société Immobilière de Québec (SIQ)
• Gestion du parc immobilier des ministères et
organismes publics;
• 5,5 millions de mètres carrés d’espaces
répartis;
• Plus de 1300 édifices en propriété et location.
3. , c’est plus de 12 ans en
formation, accompagnement et développement
Agile :
Collaborateurs passionnés;
Montréal, Québec, Genève (Suisse);
Plus de 200 clients.
4. Qui sommes-nous?
Guy Rochette (grochette@siq.gouv.qc.ca)
•Directeur général des TI à la SIQ.
Mathieu Boisvert (mboisvert@pyxis-tech.com)
•Architecte fonctionnel agile à la SIQ;
•Coach agile à Pyxis;
•Chargé de cours à l’UQAM;
•Co-Auteur du livre Choisir l’agilité.
6. Le programme de modernisation
• Architecture actuelle manquant de cohérence:
44 systèmes différents;
• Infrastructure désuète;
• Information de gestion déficiente: qualité des
données compromises sans des sources
uniques et fiables.
7. Enjeux
• Livrer dans le budget et les temps:
– Nouvelle phase chaque année pendant 6 ans;
• Projet capital:
– 11 000 j/h en 2011 sur 19 000 j/h planifiés en 2011,
35 ressources TI, 15 ressources affaires;
• Nouvelles technologies:
– Web et .NET;
• Nouveau processus de développement:
– Scrum, XP et Agile UP.
8. Pourquoi Agile?
• Bâtir le meilleur logiciel possible dans les ressources
disponibles;
• Valeurs humaines enlignées avec la vision des
gestionnaires;
• Hypothèse que le coût total de développement sera
moins élevé.
10. Manifeste comme système de valeurs
pour la SIQ
• le logiciel fonctionnel est la meilleure façon de
mesurer l’état d’avancement;
• les conversations sont plus importantes que les
processus en place, et;
• accepter les changements, selon le contexte, est plus
utile que le suivi d’un plan rigide.
11. Défis de l’adoption de la méthode SCRUM
• Livrer un nouvel incrément à tous les mois;
• Documenter de manière incrémentale;
• Découvrir le rôle du responsable de produit: cadence
difficile pour les experts affaires;
• Apprivoiser les pratiques agiles, comme
l’engagement et la définition de terminé.
12. Rédaction d’un cadre méthodologique
• Pour évaluer les incidences sur l’organisation;
• Servir de base au matériel de formation: introduction
au processus, introduction au rôle de responsable de
produit;
• Assurer la pérennité des façons de faire;
17. Défis du développement d’une solution
intégrée
• Livrer une solution intégrée et fonctionnelle à toutes les
itérations;
• Résoudre les dépendances entre les carnets de produit
des différents domaines d’affaires;
• Coordonner le développement des liens inter-système;
• Maîtriser les pratiques de développement logiciel XP.
18. Nouvelle relation avec les unités d’affaires
• Expert affaires: Implication des directeurs immobiliers et
propriétaires de processus aux démarrage de chaque phase;
• Responsable de produit (RP) : Des employés d’expérience par
équipe;
• Coordonnateur des RP: Un directeur soutien à l’exploitation
pour coordonner la planification de haut niveau;
• Une démonstration à chacune des itérations au reste à
l’organisation (affaires et TI) .
19. Stratégie pour livrer un système utile
Comprendre les processus
d’affaires et leurs liens
Identifier les événements de
vie et rédaction des cas
d’utilisation
Fixer la priorité des éléments des
carnets de produit
19
20. Planification intégrée entre plusieurs équipes
Processus d’affaire
Coordonnateur
responsable de
la vision
systémique
Les carnets
découlent
Projet A Projet B Projet C
des
RP et RP et RP et
processus
son équipe son équipe son équipe d’affaires
20
21. Exemple d’un cas d’utilisation
Description du cas d’utilisation
Projet mineur en construction de 15000$ en gré à gré en réparation majeure.
Ordre Id de l’activité / Nom processus Intrants Extrants Remarques et descriptions
Nom de l’activité du processus
1 CB1- Projet +/- 100k --- ---
Réparation majeur / Amélioration
2 CB3- Créer un contrat Données relatives aux ---
contrats
3 CB4 - Choix du mode de sollicitation --- --- Gré-à-Gré
4 CB5 - Autorisation choix du Vérifier licence Demande d'exception aux règles
fournisseur d'attribution de contrat
5 CB7 - Saisir résultats --- nom fournisseur + montant
6 CB9 - Adjuger le contrat ? Oui- Cocher M3- Contrat publié dans SEAO
l'adjudicataire
7 CB10 - Inscrire garanties, assurances Inscrire licence ---
et licences
8 CB11 - Émettre le contrat Inscrire Date signature + Commande d'exécution Bloquer la CE
nom signataire
9 PD- Réalisation des travaux Processus Parallèle : PD-CP1 à PD-CP4
21
24. Suivi du projet •Pour l’ensemble des projets
• Indices de performance des coûts et des
délais
• Sun Set Graph agrégé
• Suivi de la livraison des fonctionnalités
Programme selon les points d’efforts estimés pour
l’ensemble des projets
•Indicateurs traditionnels (faits, saillants, coûts,
Projet demandes de changement, points en suspens
et gestion des risques)
•Indices de performance des coûts et des délais
Itération •Sun Set Graph
•Parking Graph
•Suivi de la livraison des fonctionnalités selon les
points d’efforts estimés
•Indicateurs traditionnels (Faits
saillants, coûts, demandes de
changement, points en suspens et gestion des
risques)
•Carnet de commande
•Stories et les tâches sont décrites et suivies
dans un outil (URBAN TURTLE)
•Burndown
•Bilan de l’itération
32. Dynamique des équipes
Analyste
organique
Développeurs Scrum Master
Équipe
Analyste Responsable
fonctionnel de produit
33. Dynamique de gestion
Coordonnateur
des
Architectes
responsables
de produit
Coordonateur
Bureau de
des Scrum
projet
Masters
Équipes
34. Mécanismes décisionnels
Règlements des points en suspens
•Lorsque la vision
Niveau Comité
Directeur
nécessite des
stratégique clarifications, le point est
(décisionnel) soulevé au
coordonnateur des
responsables de produits
Registre points
en suspens (CRP) ou à l’architecte
fonctionnel (AF)
Niveau
Chef de •Si le point n’est pas résolu rapidement
tactique Directeur
Projet projets TI et nécessite une recherche ou de le
(vision)
documenter, un point en suspens est
Comité architecture soulevé par le CRP ou l’AF
•Le point est adressé à la personne
ayant la responsabilité ou les
connaissances requises pour apporter
Niveau Scrum une solution rapidement et selon le délai
opérationnel Coordonnateur
de Scrum requis; si le point n’est pas résolu en
des RP
(réalisation) Comité intégration temps opportun, le CRP ou l’AF fera une
interprocessus proposition au comité d’architecture
•Le comité d’architecture fait un suivi
Rencontre hebdomadaire des points en suspens et
organique s’il n’y a pas consensus, le point est
Équipes de amené au comité directeur pour
réalisation décision
36. Culture du test et de développement
• Nouvelles pratiques d’ingénierie et de
programmation (orienté-objet, mock, services,
composant web)
• Intégration à tous les mois
• Apprentissage du TDD (test-driven
development) et BDD (behavior-driven
development)
39. Conclusion
• Adaptez l’Agilité à la culture de votre organisation
• Implantez l’Agilité par palier
• Faites-vous appuyer pendant la transition
• Pensez, dans le contexte multi-projets, à implanter rapidement,
les moyens permettant la collaboration entre les équipes
• Mettez en place une structure qui permet de régler rapidement
les points en suspens
• Pensez à adapter votre message, surtout en reddition de compte,
aux différentes catégories de personnes qui le reçoivent
• Adaptez votre style de gestion afin de ne pas faire d’ingérence
tout en étant proche des équipes et informé
• Évitez de prendre les crises à la légère.
• Pensez à la pérennité
Organisme responsible de la gestion immobilière des
Guy est le mandataire de initiative AgileMathieu est conseiller avec les gens de la SIQ depuis le début de initiative en 2009
Projet ambitieux de renouveler les systèmes de mission, pour plusieurs raisons stratégiques pour la SIQ
État des lieux au démarrage de la transitionPlusieurs défis à relever pour les équipes de développement. La seule adhésion au .NET représente en lui seul tout un défi.Projet d’important pour la SIQ: environ la moitié des ressources sont engagés dans le projet de modernisation
Hypothèse que ça coutera moins cher: certains indice comme la simplification de la documentation et le la portée est balisé selon la portée, ce qui évite les dépassements de coûts, mais c’est lorsque nos systèmes seront majoritairement en entretien que nous serons en mesure de mesurer les gains véritables.
Présentation de soi et de nos entreprisesDurée: 10 minutesPortée : Slides 8 @ 13Temps accumulé : 10 minPrésentation de l’agenda. Étapes de la transition ou démarrage de la transition? À voir.
Pourquoi adopter agile à la SIQ?Certains concepts étaient particulièrement intéressant:- Le feedback sur les ajustement à apportés dés le début du projet ont été apprécié par le précédent DG- La gestion de produit agile permet d’assurer le meilleur livrable dans les ressources possibles: on peut imaginer comment cela est un avantage compétitif dans le milieu public ou les résultats sont observés à la loupe par le publicConstruire un esprit de corps avec la nouvelle équipe d’employéConversation versus quels processus?
La première étape a été d’adopter les mécanique de Scrum. Au départ, nous avions une seule équipe, un seul projet, avec un coach organisationnel et un coach d’équipe.: Les précédents ont été des sujets chaud pendant la 1ère année, mais aujourd’hui ils ne le sont plus.
Mathieu: Personnellement, j’étais sceptique d’écrire un cadre méthodologique. Comme l’agilité est un approche de travail, les coach agile ne sente pas toujours le besoin de formaliser le processus.Fait intéressant: il a été construit de manière incrémentale
Le cadre métho est concentré sur les équipes de développement, mais traite quand même du reste de l’organisation. Il était important pour nous de déterminer les impacts sur:Le bureau de projet: avec l’estimation en points d’effortL’équipe de gestion du changement: produire une documentation sur un produit développé de manière incrémentalL’équipe de direction: donner l’autonomie aux équipes, dans un cadre.
Nous avons fait un travail intéressant avec le cadre méthodeTraite des rôles, des activités et des livrablesInclus un processus d’assurance qualité, est compatible avec le RACIRespecte l’esprit agile: précaution de ne pas prendre des travers non-agiles avec une méthode. Ne pas oubliez que l’important c’est l’interaction entre les individus, pas les outils et les méthodes.
Gestion de produitDurée: 10 minutesPortée : Slides 14 @ 21Temps accumulé : 20 min
Quand on intégrait, on voyait les lacunes!
Un aspect important des approches agiles c’est la collaboration des gens affaires. À la SIQ, cela c’est traduit de plusieurs manières:Nous avons affecté un PO dédié par équipe. Malgré qu’ils étaient très compétent dans leur domaine, ils n’étaient pas en mesure de concevoir ensemble une produit intégré. Nous avons trouvé un coordonnateur en mesure de créer une synergie. De plus, une pression de leur pairs (métier)Maintenant, non seulement nous livrons un nouvel incrément à tous les mois, mais en plus il est intégré
Inspiré par le storiy mapping, nous avons décider de basé la planification des carnets autour de cas d’utilisation, qui couvre de manière transversale le processus affaire. Cela permet d’identifier les priorité du carnetExemple du site de recherche d’emploiDans un contexte d’équipes multiples, on utilise les processus affaires: pas seulement sur un domaine intégré, mais intégré, pour identifier les interactions entre les différents domaine d’affaires. On peut imaginer comment les projets sont très liés au contrats et aux services financiers.Cette stratégie encourage la capitalisationet diminue le risque de ne pas livrer un produit utile et cohérent.
Ce qui fait que le RP permette de livrer ensemble un incrément intégré entre tous les domaines d’afffaires, en priorisant de manière coordonné la livraison d’un cas
Exemple d’un cas d’utilisation: représente un événement de vie dans le domaine d’affaire
Ce qui fait qu’à environ toutes les trois itérations, la démonstration est intégré, c-à-d que les RP démontrent ensemble un cas de vie réel avec toute ses implications.Vous pouvez voir comment l’événement attire les gens affaire qui peuvent constater et comprendre l’évolution du logicilelN’oublions pas que le but n’est pas d’aller en prod à chaque fois, même si ça serait possible, mais plutôt d’augmenter le feedback. On veut limiter au maximum les intégration en fin de parcours. De plus, cela permet de tester réelement le potentiel du logiciel avec un groupe de référence.
Reddition de compteDurée: 10 minutesPortée : Slides 22 @ 27Temps accumulé : 30 min
Dynamiques de groupeDurée: 10 minutesPortée : Slides 27 @ 29Temps accumulé : 40 min
Scrum Masters- Corps de métier- Rôle à temps partiel- Développement des compétencesArchitectes- Comités de métier- Vaincre le Us versus them- Éviter de dévenir le goulot d’étranglementResponsables de produit- Planification en groupe- Coopération avec les équipes de développement
Même si l’équipe est au cœur de la réalisation, cela n’empêche pas aux responsables de l’organisation de définir la vision d’architectures, de produit et de processus. Demande une coordination des différents responsables pour assurer une cohérence globale.