décembre 2012 agile d’hier et agile de demain … · décembre 2012 agile d’hier et agile de...
TRANSCRIPT
Vers une méthode Agilede 3 ème génération
Evolution des Méthodes AgilesEvolution des Méthodes Agiles
Jean-Pierre Vickoff
Protocoles de séance : Questions techniques immédiates OK mais controverses lors du débat
Décembre 2012 Agile d’hier et Agile de demain
20/12/2012 2
Une très longue carrière consacrée à la méthode
Premier article sur les méthodes 01 Informatique 1979
Suivi de plus de 50 autres et d’une dizaine de livres
1981 : La « une » de Temps Réel
« Pré-programmer pour mieux programmer »
Très certainement la base de ce qui
deviendra plus tard l’Open code et
même XP (joke !!�)
Une double culture méthodologiqueFrançaise et Nord-Américaine
A Montréal l’article qui m’a rendu célèbre
Micro-Gazette (Québec), Décembre 1991
« Les environnements graphiques transforment
nos méthodes de
pelletage »
Tout ça pour en arriver là
3
Méthode Agile (Itérative – Incrémentale – Adaptative)
RAD la première méthode Agile
Concepts d’itératif, incrémental
Mise en œuvre du concepts Itératif Adaptatif
Structure de la présentation
PUMA Essentiel le Framework
Entreprise Agile et Anticipation rationnelle
Histoire et fondamentaux
20/12/2012 3
Historique des époques et méthodes Agiles
1991 1995 1999 2001 2007 2013
Fondateurs Commerciaux Généralisation
1991 RAD J. Martin (US)
2001 – Scrum Schwaber-Beedle (US)
2001 Agile Manifesto (US)
2008 – PUMA Essentiel
framework d’urbanisation
1999 XP Kent Beck (US)
1995 DSDM J Stapleton (UK)
1994 RAD cso2 JP Vickoff (FR)
Arrivée des USAdu « mot » Agile
EmergenceItératif Adaptatif
Déploiement mondialléger (France 4 livres)
Début explosion commerciale en SI
Evolutiondes principes
Evolution du paradigme
Hydro-Québec 91
Bell Mobilité Cellulaire 92
Abbott Lab 93
SEITA 94
SG 95
Trou méthodologique
5
Une devinette pour commencer
20/12/2012
- un cycle itératif incrémental adaptatif,
- des variables d’ajustement (périmètre variable)
- la dynamique applicative par l’utilisateur (priorisation)
- la présence d’un animateur facilitateur
- une charte projet acceptée par toutes les parties,
- l’adaptation permanente et la validation permanente de l’utilisateur
- une équipe autonome de profil unique « concepteur-développeur »
- une organisation consensuelle du développement
- une phase de construction proche de eXtrême Programming,
- l’affichage mural des informations du projet,
- une salle dédiée, réunions quotidiennes matinales, SHOW, rétrospectives,
- et quelques autres diableries …
Enfin, tout ce qui fait maintenant une bonne méthode Agile.5
Si je vous dis :
Vous répondez quoi ?
6
C’est terrible d’avoir toujours 10 ans d’avance !
20/12/2012
1991 Je me battais contre la modélisation lourde et la conduite de projet « cascade » dont la représentation en France s’appelait Merise. A l’époque la méthode RAD semblait anarchique (slide précédent) et pourtant :
6
7
Les méthodes Agiles ne sont pas apparues avec l’Agile Manifesto mais celui-ci consacre en 2001 leur commun dénominateur :
- Pilotage incrémental du projet- Pilotage itératif de la conception et de la réalisation- Acceptation du principe Adaptatif
Les méthodes Agiles
- soit se reconnaissent comme des directes émanations du RAD comme DSDM ou FDD, ASD, …
- soit en apportant un plus d’usage comme XP (1999).
- soit en « pompant » la totalité des techniques RAD sans référencer la source comme Scrum (2001) dont le seul apport (mais gigantesque)est commercial.
Origines des techniques Agiles et dates officielles des méthodes
20/12/2012
8
20/12/2012
Dix ans après RAD, en 2002, en réponse au Manifeste Agile, je proposais PUMA une Proposition pour l’Unification des Méthodes Agiles (sur la base de leur complémentarité).
On trouve toujours ce document en anglais à partir du wiki de Ward Cunningham (http://c2.com/cgi/wiki?PumaProposal)et en français sur le site d’ADELI (ftp://ftp2.adeli.org/adeli/lalettre/l48p19.pdf).
Cette proposition “pour le plaisir”, que je savais commercialement impossible, se transforma en simple principe d’urbanisation, puis en 2007 en méthode publiée :
PUMA Processus Urbanisant les Méthodes Agiles
2001-2012 … Et encore 10 ans de bataille !
8
9
PUMA est un framework de pratiques
20/12/2012
La fusion évidente des pratiques agiles est le principe basique de PUMA Essentiel (sans malheureusement la simplicité et l’homogénéité).
L’avantage de PUMA, c’est la formalisation existante de cette évolution.
De plus, les nouvelles techniques qu’il propose sont porteuses d’une capacité d’élargissement de l’Agilité aux grands projets et aux couches supérieures de l’organisation.
9
Et évidemment les sectaires incultes me tombent dessus !
A chaque décennie je me fait crucifier !
Ah décidemment, c’est terrible d’avoir toujours 10 ans d’avance !
10
Méthode Agile (Itérative – Incrémentale – Adaptative)
RAD la première méthode Agile
Concepts d’itératif, incrémental
Mise en œuvre du concepts Itératif Adaptatif
Structure de la présentation
PUMA Essentiel le Framework
Entreprise Agile et Anticipation rationnelle
Histoire et fondamentaux
20/12/2012 10
Jeff PattonIncrémental
Itératif
L’incrémental ou l’itératif
ITERATION = Revenir « sur » pour affiner
11
ITERATION = Revenir « sur » pour affiner
L’itératif-incrémental
Incréments livrables
Itérations dans
Incrément
12
Etude d'opportunité
Projet Cadre
Analyse(DBS, CAS, SES, SIS, ...)
Programmation
Tests unitaires
Tests fonctionnels
Site pilote
Cascade
Différents phasages pour des problèmes différents
Full Itératif Semi-itératif
EXPLORATION
ARCHITECTURE
Par la structure : cohérence systémique (Top Down)
Par le besoin : adéquation fonctionnelle (Bottom Up)13
Cycle en V
Cascade
Cycle en V
Cascade
La Spirale
CascadeItératif et Incrémental
New New Product Development Game
CascadeIncrémental et Concourant
Agile : RAD, Scrum, XP, PUMA
CascadeItératif Incrémental Adaptatif
Résumé de l’évolution des cycles de vie
14
15
Méthode Agile (Itérative – Incrémentale – Adaptative)
RAD la première méthode Agile (slides d’origine)
Concepts d’itératif, incrémental
Mise en œuvre du concepts Itératif Adaptatif
Structure de la présentation
PUMA Essentiel le Framework
Entreprise Agile et Anticipation rationnelle
Histoire et fondamentaux
20/12/2012 15
EXIGENCES
120 J maximum par projet et incrément idéal de 10 JP
F
6% 23% 50% 12%9%
CONCEPTION
CONCEPTION
CONSTRUCTION
CONSTRUCTION
RAD : Rapid Application Development
20/12/2012 16
Projet avec 2 sous projets et 7 développeurs
Planification stratégique et opérationnelle
La plus stratégique (délais) Time Boxing
La moins risquée (ressources) Team Leading
La plus fiable (visibilité, qualité) Show Release
La moins coûteuse (budget) Target Costing
Périmètre variable, oui mais 2
17
� L'UTILISATEUR devient « CONCEPTEUR »
� détermine les fonctionnalités et les priorités
� impose la dynamique applicative
Rôles et implications professionnelles
Le ... Really Approved Designimplique une redistribution des rôles et un apprentissage
� L'INFORMATICIEN devient « PROTOTYPEUR »
� maîtrise les outils de réalisation et les "add-on"
� représente une force de proposition technique
� Une équipe d’ANIMATION et de FORMALISATION est formée :
� un facilitateur, neutre, spécialiste en communication
� un ou des rapporteurs (secrétaire, formalisateur, modélisateur)18
Animateur neutre ou « facilitateur »
� Former les intervenants au RAD
� Réaliser le plan de communication
� Organiser, animer, contrôler les réunions
� Informer des écarts et de leurs conséquences
Ses fonctions de base
� Garant du respect de la méthode
� Neutre en regard des parties impliquées
Un spécialiste en communication et un organisateur
19
L’équipe de développement RAD
Le RAD ne connaît qu’une seule forme d’équipe :
SWATSes membres sont tous des
Concepteurs-Développeurs
� formés dans des spécialités complémentaires
� entraînés au rapport et à la modélisation « directe »
Le discours de l'encadrement doit tendre vers la question suivante :
« que vous faut-il pour atteindre vos buts. » 20
� Conception détaillée
� ETRéalisation en Prototypage Actif
� et Validation utilisateur immédiate
� et Site pilote (mini) naturel ...
« Le choix de l’AGL de Réalisation est déterminant
ainsi que la disponibilité planifiée des utilisateurs »
Construction RAD : contenu
La phase où l’ondétaille l’analyse enimplémentant la réalisation
21
Publication des normes
État de livraison permanente (n)
étape Vérification personnelle
étape Vérification utilisateur
étape Intégration modules
Planification incrément
Développement
Intégration J Zéro Défaut
étape Revue de code (croisée)
Construction « proche de XP et remplaçable par XP »
Prise en compte des remarques
22
23
Méthode Agile (Itérative – Incrémentale – Adaptative)
RAD la première méthode Agile
Concepts d’itératif, incrémental
Mise en œuvre du concepts Itératif Adaptatif
Structure de la présentation
PUMA Essentiel le Framework
Entreprise Agile et Anticipation rationnelle
Histoire et fondamentaux
20/12/2012 23
24
1 2 3
1.1 1.2 1.3
Incrémental
Itératif
Adaptatif
2.2 2.3 3.1 3.2 3.3
1.1 1.2 1.3 2.1 2.2 2.3
Total livré utile
1.1 2 3
Fonctionnalités : Développées et livrées Livrées utiles
4.1
Changement après ou en cours de développement
Apport du changementmesuré coût
Au-delà des apparences : conforme aux nouveaux besoins
cv cv
1
2
3
Le prix éventuel de la dynamique du changement
3.1 3.2 3.3
Le gain certain de la dynamique du changement
2.1
L’adaptatif et son coût
2.1
24
Contractualisation des changements permanents
17/05/2012 25
Il ne faut pas rêver sur l’ingénuité des relations clients / fournisseurs.
Pour s’assurer de maîtriser les conflits potentiels liés aux évolutions, la seule option réaliste consiste à mettre systématiquement en œuvreune mesure immédiate et tracée de chaque changement(éventuellement qualifié par ses causes).
Cette gestion s’effectue en bas du kaban et implique les notions de :- Livré Utile- Livré Abandonné- Livré Total
La métrique des modifications et les Unités œuvre
Accepter et maîtriser les changementssur la base d’une métrique formelle
(exprimée en unités d’œuvre)comprise et acceptée par les deux parties
Titre du projet
IncrémentProduit Tâches En cours Testé AchevéSPRINTProduct
« Backlog »
26
L’adaptatif et Scrum
17/05/2012 27
Les pratiques de Scrum sont essentiellement orientées vers la maîtrise d’une livraison d’incréments (sprint) mais réfutent la possibilité de changer significativement les fonctionnalités en cours de réalisation (dans le backlog de sprint).
Cette limite interdit la mise en œuvre d’une conception émergente comme celle d'XP ainsi que celle d' itération, base de l'adaptabilité (possibilité d'affinement par modification permanente).
« Scrum, ne disposant pas de métrique de gestion du changement à ce niveau, nécessite donc une importante spécification préalable à la mise en production (backlog produit) et, du fait de cette prédictibilité imposée, ne peut pas être considéré comme réellement itératif, donc adaptatif. »
28
Planification stratégique : variables d’ajustement
En mode Agile élémentaire (exemple Scrum) accepter la dynamique du changement pour les Développeurs
implique pour le Product Owner d’accepter la variabilité du périmètre
Prédictive classique
Budget
Périmètre Délais
Les types de conduite de projet et leurs variables d’ajustement
Budget
Périmètre Délais
Agile élémentaire Agile étendue
Planification standard Planification opérationnelle Planification opérationnelle et stratégique
Périmètre
Contraintes de Ressources
Visibilité
Délais
Qualité
20/12/2012
Paramètre fixe Paramètre variable Paramètre variable ou fixe
28
29
Méthode Agile (Itérative – Incrémentale – Adaptative)
RAD la première méthode Agile
Concepts d’itératif, incrémental
Mise en œuvre du concepts Itératif Adaptatif
Structure de la présentation
PUMA Essentiel le Framework
Entreprise Agile et Anticipation rationnelle
Histoire et fondamentaux
20/12/2012 29
- Les pratiques communes liées aux ressources humaines
Participation de l’utilisateur final aux groupes de travail.
Groupes de travail disposant du pouvoir de décision.
Autonomie et organisation centralisée de l’équipe (motivation).
Spécification et validation permanente des Exigences.
-
Méthodes Agiles Pratiques communes Partie 1
3020/12/2012
- Les pratiques communes liées au pilotage du projet
Niveau méthodologique variable en fonction des enjeux du projet.
Pilotage par les enjeux et les risques.
Planification stratégique globale basée sur des itérations rapides.
Réalisation en jalons par prototypage actif itératif et incrémental.
Recherche continue d’amélioration des pratiques.
-
Méthodes Agiles Pratiques communes Partie 2
3120/12/2012
- Les pratiques communes liées à la qualité de la production
Méthodes Agiles Pratiques communes Partie 3
Recherche d’excellence technique de la conception.
Présentation visuelle d’une modélisation nécessaire et suffisante.
Vision de la documentation nécessaire et suffisante.
Normes et techniques raisonnables de qualité du code (métrique).
Architecture à base de composants,
Gestion des changements automatisée.
-
3220/12/2012
DSDM : spécialisation des rôles (Ambassadeur, Visionnaire, …)
FDD : features (priorité fonctionnalités porteuses de valeur)
XP : refactoring, pair programming, code collectif
RUP : vue 4+1, cas d’utilisation, processus formel, CCM
RAD : GAR (groupe animation/rapport), War room, SWAT, ...
Pratiques différenciatrices des méthodes
Autres méthodes : ASD,Crystal Clear, AUP, Essup, …3320/12/2012
+
Puma « Essentiel »
Utilisation optimisée des pratiques du tronc commun Agile
Sélection des pratiques spécifiques utiles à un projet particulier
Un simple framework des meilleures pratiques
Vers la troisième génération de méthodes Agiles ?
Moteur de SolutionPiloté par la valeur métier
« Business driven »
Moteur de PilotagePiloté par la performance« Production driven »
Moteur de CommunicationPiloté par la collaboration« Consensus driven »
Une mise en œuvre simple et élégante de l’Agilité dans les projets conséquents
Exploration Implémentation
Moteur de RéalisationPiloté par la qualité« Tests driven »
Scrum and XP « like »
Le framework Agile : PUMA Essentiel
35
Moteur de Réalisation (Ingénierie logiciel)
Réorganisation des binômes
PlanificationItérationjournalière
Stand-Upmeeting
Planification d’une itération de Release
Validation derelease
Show ReleaseLivraison
Pair Programming etvalidation utilisateur
TDD, Refactoring etIntégration continue
Release Journée Show de releasePréalable Projet
Communication des règles de réalisation
Planification des itérationsdu projet
Exigences, Priorisation, Estimation
36
Moteur de Pilotage (gestion des incréments)
Planification d’une itération de Release
Validation derelease
Show ReleaseLivraison
Réorganisation des binômes
PlanificationItérationjournalière
Stand-Upmeeting
Release Journée Show de releasePréalable Projet
Communication des règles de réalisation
Planification des itérationsdu projet
Exigences, Priorisation, Estimation
Moteurde
Réalisation
37
DynamiqueDynamique
applicativeapplicative
EquipeEquipe
uniqueunique
EngagementEngagement
simultanésimultané
AppropriationAppropriation
collectivecollective
ParticipationParticipation
optimiséeoptimiséeResponsabilitéResponsabilité
partagéepartagée
ValidationValidation
permanentepermanenteGo / NoGoGo / NoGo
communscommuns
Modèle Agile de Solution
MAXIMUM 4 classes d’Exigences sur 4 niveaux de profondeur itérative MAXIMUM 38
Convocationà la session
Pré-session Session Post-SessionPréalables au Projet
Signature de l’engagement Agile
Charte
Plan de communication scope et plan d’itération Points d’action
ouvertsDécisions validées
Organisation d’une Session Traitement des Thèmes Alimentation PDLPlanification du Projet
Gérer les entretiens en mode incrémental itératif
39
Le moteur de Pilotage spécialisé dans la conduite itérative incrémentale du projet est le seul élément pouvant être apparenté à une phase complexe.
Imbriqué dans une phase, un moteur de Réalisation n’est en fait qu’une simple boîte à outils composée des meilleures techniquesactuelles de développement.
Le moteur de Solution n’est pas une phase mais un modèle itératif de structuration des exigences.
Le moteur de Communication est lui aussi un modèle itératif de facilitation de la communication en environnement sensible.
Une seule phase semi-itérative
40
Agile : Nous déclarons que la qualité d’un produit logiciel est intimement liée à la qualité de ce produit logiciel.
C’est pourquoi nous mesurons la qualité de ce produit logiciel
(Jean-Pierre Vickoff).
CMM / Agile « Philosophies »
CMM : Nous déclarons que la qualité d’un produit logiciel est intimement liée à la qualité de son processus de fabrication. C’est pourquoi nous mesurons la conformité de ce processus (Watts Humphrey).
41
42
Méthode Agile (Itérative – Incrémentale – Adaptative)
RAD la première méthode Agile
Concepts d’itératif, incrémental
Mise en œuvre du concepts Itératif Adaptatif
Structure de la présentation
PUMA Essentiel le Framework
Entreprise Agile et Anticipation rationnelle
Histoire et fondamentaux
20/12/2012 42
43
Le management Agile se base sur la mise en œuvre de l’intelligence collective et s’instrumente par la conjonction de trois vecteurs opérationnels :
1. la motivation rationnelle des ressources humaines
2. des processus reconfigurés en continu (rétrospectives)
3. l’usage intensif des nouvelles technologies
L'Agilité devrait devenir pour les sociétés avancées ce que le taylorisme a été à la révolution industrielle Son émergence découle du plus vaste mouvement d'échanges dérégulés jamais initié : la mondialisation
Une approche managériale novatrice
43
Modèle Agile
de Solution
(Exigences)
PUMA Entreprise une vision Agile globale
LogicielArchitecture Dynamique d’Entreprise Agile
LogicielArchitecture applicative Agile (SOA)
LogicielProcessus Ingénierie Agile (BPM)
LogicielConduite de projet
LogicielConfiguration de processusLogicielOptimisationde processus
LogicielModèle collaboratifLogicielOutillageBPM
LogicielAnticipation
Rationnelle
PUMA Essentiel
Architecture Dynamique d’Entreprise Agile
L’Entreprise Agile opère au présent une structure issue du passé qu’elle projette dans un futur immédiat.
LogicielOpération des Processus
PragmatiqueAnticipation Rationnelle
(Technico-Fonctionnelle)
PragmatiqueMonitoring et Optimisation
continue des Processus
TechniqueAdaptation Compétences
et types de CollaborationTechniqueProjection métier, ressources
et technologies de support
TechniqueSystèmes d’Informations et
Systèmes Technologiques
La dynamique d’opération et d’évolution de l’entreprise Agile se structure en6 Modèles d’Actions et 9 Modèles d’Interactions
MA-1 MA-4
MA-2 MA-5
MA-3 MA-6
MI-2 MI-3
MI-7
MI-6
45
Unité Stratégique Agile
LogicielComposant 2LogicielComposant 1LogicielLogistique
LogicielComposant 4LogicielComposant 3LogicielAssemblage
LogicielOrdonnancement
LogicielCommercialisation
LogicielDistribution
Bus multicanal d’Entreprise étendue
UDDI : Universal Directory Discovery and Intégration (principe SOA)Principe de la grappe industrielle Produits ou ServicesDéformation du modèle tactique = perte de performance et d’Agilité Globale
RessourcesProduitsServices
EOS-UDDI
Entreprise Orientée Service : une orchestration d’Unités Tactiques composant la réponse à sa mission
46
Anticipation rationnelle Agile
Un petit groupe de pilotage stratégique transverse et permanent
oriente des missions de recherche
effectuées par des groupes de travail temporaires
composés de généralistes volontaires employés de l’organisation
sur des thèmes précis d’évolution possibles
des exigences clients
des offres concurrentes
et des technologies émergentes.
47
Principes de l’anticipation rationnelle Agile
Dans un premier temps, la mission d’anticipation rationnelle :
� Détermine les axes possibles d’évolution de l’exigence client
� Recherche l’émergence de technologies de réponse ou simplement génératrices de valeur, de croissance ou de qualité
Dans un second temps, la mission d’anticipation rationnelle :
� Evalue cycliquement les émergences en termes d’avantages (catalyseurs) et d’inconvénients (inhibiteurs)
� Présente des recommandations d’évolution lorsque les évaluations démontrent la maturité de la solution émergente
48
Pilotage des paramètres de choix
- Tendances- Coûts/performances- Stabilisation des standards- Intégration de NTIC- ……….
- Rareté des compétences- Manque de vision- Obsolescence rapide- Coût d ’intégration- ……….
Ce qui pousse l’émergence
Ce qui freine l’émergence
Exemple pour une technologie :
Pour chaque composant de l’évolution l’anticipation rationnelle calcule l’opportunité d’adoption à l ’aide de catalyseurs et d’inhibiteurs
Catalyseurs InhibiteursCalcul
d’opportunité
Prend en compte la stratégie métier actuelle et l’existant en terme de technologies
49
Tracking des tenseurs
Chaque catalyseur ou inhibiteur détermine un tenseur.
Des métriques simples donnent un poids à chacun d ’eux.
Ces éléments évoluent et semesurent dans le temps.
L’ensemble des tenseurs matérialisent dans un graphe « radar » la maturité de la solution en regard des différentes contraintes .
Une évolution dynamique de cette maturité dans le temps peut aussi être projetée afin d’anticiper son point d’adoption.
Dans l’exemple ci-contre (le suivi se fait au trimestre), la technologie n’est pas adoptée tant que tous les tenseurs courants ne sont pas dans les limites « Cible » au T3
50
Une progression globale de l’état de l’art
� Amélioration des modes de communication
� Adaptation des pratiques de conduite de projet
� Perfectionnement des techniques de conception
� Optimisation des conditions de réalisation
Pour conclure
Pas de miracle mais ...
52
Entre dynamique et communications’impose l’énergie du rythme !
� Rythme de l’engagement des utilisateurs
� Rythme des modes d’entretiens (agilité étendue)
� Rythme de la dimension temporelle des livraisons
� Rythme des cérémonials et rétrospectives
L’essentiel : le rythme du changement
53