décembre 2012 agile d’hier et agile de demain … · décembre 2012 agile d’hier et agile de...

54
Vers une méthode Agile de 3 ème génération Evolution des Méthodes Agiles Evolution 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

Upload: dinhdien

Post on 11-Sep-2018

213 views

Category:

Documents


0 download

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

Résumé du Pilotage de l’anticipation technico-fonctionnelle

51

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

Plus qu’un rythme c’est un état d’esprit !

Questions

Et désormais, …. une CULTURE

54