Numélink - 24 mai 2012 



           Définition


                            Introduction 
                              à l'agilité
@Agnes_Crepet
@GuillaumeEhret
 @AlfredAlmendra
Manifeste agile - 4 valeurs
              http://agilemanifesto.org/iso/fr/

Les individus et leurs interactions
                    plus que les processus et les outils

Des logiciels opérationnels
                plus qu’une documentation exhaustive

La collaboration avec les clients
                 plus que la négociation contractuelle

L’adaptation au changement
                         plus que le suivi d’un plan
Manifeste agile - 12 principes (simplifiés)

L’application : fonctionnelle/utilisable, plutôt que des docs à rallonge, non 
à jour


1. Satisfaire le client en livrant tôt et régulièrement des logiciels utiles
(cf. Scrum)

3. Livrer fréquemment une application fonctionnelle avec une tendance 
pour la période la plus courte (de 2 semaines à 2 mois par itération)

7. Un logiciel fonctionnel est la meilleure unité de mesure de la 
progression du projet (i.e. c’est le meilleur indicateur qualitatif).
Manifeste agile - 12 principes (simplifiés) 
L’équipe : communicante et auto-organisée,
pas uniquement les développeurs

5. Bâtissez le projet autour de personnes motivées. Donnez-leur 
l’environnement et le soutien dont elles ont besoin, et croyez en leur 
capacité à faire le travail.

6. La méthode la plus efficace pour transmettre l’information est une 
conversation en face à face.

8. Rythme de développement durable (à l’infini !) : commanditaires, 
développeurs, utilisateurs.

11. Les meilleurs architectures, spécifications et conceptions sont issues 
d’équipes qui s’auto-organisent.
Manifeste agile - 12 principes (simplifiés) 
Le client : collaborant, investi tout au long du projet,
pas uniquement concerné par un contrat et une recette

4. Les “gens de l’art” (i.e. métier) et les développeurs doivent collaborer 
quotidiennement au projet (cf. XP)


L’acceptation du changement : flexibilité (de l’équipe, des outils, 
des méthodes et des mentalités), et non pas suivre un plan initial 
dans une structure rigide

2. Le changement est bienvenu, même tardivement dans le 
développement, ce qui constitue un avantage compétitif pour le client
(cf. ergonomie et expérience utilisateur)
Manifeste agile - 12 principes (simplifiés) 

Concernant la qualité (“5ème valeur !?” ou plutôt savoir-faire, art)

9. Une attention continue à l’excellence technique et à la qualité de la 
conception (pérennité, dette technique).

10. La simplicité est essentielle : c-a-d l’art l’art de minimiser la 
quantité de travail inutile. (cf. éliminer le gaspillage : Lean, Kanban)

12. A intervalles réguliers, l’équipe réfléchit aux moyens de devenir plus 
efficace, puis accorde et ajuste son comportement dans ce sens. (cf. 
amélioration continue, et rétrospectives sur tout).
Le modèle en cascade




On travaille chaque étape l'une après l'autre : la moindre 
erreur coûte cher
Le cycle en V




On ajoute à la cascade de l'anticipation et du travail simultané
 La gestion classique 
Les biais cognitifs




Spinning Dancer (Nobuyuki Kayahara, web designer)
Les biais cognitifs 
Notre cerveau est bogué !
...mais nous sommes maintenant avertis !

Psychologie cognitive : les (nombreux) biais du cerveau

                                Dissonance cognitive
 Biais de Confirmation d'hypothèse

                            Malédiction de la connaissance
     Ancrage

           Dunning-Kruger            Perception sélective
                                              ...
         Halo             Conformisme
Itératif, incrémental, adaptatif




Monalisa selon Jeff Patton @jeffpatton

On diminue considérablement le risque d’effet tunnel
Dans chaque itération : mini cycle en V, XP, Kanban, ...
Itératif, incrémental, adaptatif
Et l’adaptatif...
Les besoins se précisent voire évoluent continuellement
Pendant le projet, même quand on croit toucher au but
Itératif, incrémental, adaptatif
Les besoins évoluent aussi après la mise en production
(la maintenance est-elle un mythe ? une stagnation ?)

Jean-François Jagodzinski @jfjago a remplacé le terme projet par 
processus de fabrication (cf. Kanban)

Introduction à l'agilité numélink - 24 mai 2012 - #1 définition

Notes de l'éditeur

  • #3 Le Manifeste Agile est un texte rédigé par 17 experts reconnus pour leurs apports respectifs au développement d'applications informatiques sous la forme de plusieurs méthodes dont les plus connues sont Extreme Programming et Scrum .   Les plus connus d'entre eux étaient Ward Cunningham l'inventeur du Wiki via WikiWikiWeb , Kent Beck , père de l' extreme programming et cofondateur de JUnit , Ken Schwaber et Jeff Sutherland , fondateurs de Scrum , Jim Highsmith , prônant l' ASD , Alistair Cockburn pour la méthode Crystal clear , Martin Fowler , et Dave Thomas ainsi que Arie van Bennekum pour DSDM (Dynamic System Development Method) la version anglaise du RAD ( Développement rapide d'applications ).    Ces experts estimaient que le traditionnel cycle de développement en cascade ne correspondait plus aux nouveaux besoins applicatifs. Le Manifeste Agile est considéré comme l'acte généralisateur des méthodes agiles sous la dénomination initiale de Agile Manifesto [1] . Les valeurs et principes du Manifeste Agile sont défendus par l' Agile Alliance .
  • #12 L' effet Dunning-Kruger décrit un phénomène selon lequel les moins compétents dans un domaine surestiment leur compétence alors que les plus compétents auraient tendance à sous-estimer leur niveau de compétence. « l'ignorance engendre plus fréquemment la confiance en soi que ne le fait la connaissance » (pour reprendre l'expression de Charles Darwin ).   Malédiction de la connaissance : une fois que nous savons quelque chose, nous ne pouvons même plus imaginer penser différemment. Ex: un manager plongé dans le monde de la stratégie de l'entreprise ou dans son domaine d'expertise parlera par évidence à des opérationnels ; il ne comprendra pas et n'acceptera pas que son message soit incompris. Il pourra même être considéré comme inaccessible. Le biais de confirmation d'hypothèse, est la tendance qu'ont les individus à privilégier les informations qui confirment leurs idées préconçues ou leurs hypothèses (sans considération pour la véracité de ces informations) et/ou d'accorder moins de poids aux hypothèses jouant en défaveur de leurs conceptions. En conséquence, ces personnes rassemblent des éléments ou se rappellent les informations mémorisées, de manière sélective, et les interprètent d'une manière biaisée. Dissonance cognitive : Selon cette théorie, l'individu en présence de croyances incompatibles entre elles, éprouve un état de tension désagréable : c'est l'état de « dissonance cognitive ». Dès lors, cet individu mettra en œuvre des stratégies inconscientes visant à restaurer un équilibre cognitif. Ces stratégies sont appelées « modes de réduction de la dissonance cognitive ». L'une des stratégies pour réduire la dissonance cognitive consiste à modifier ses croyances, attitudes et connaissance pour les accorder avec la nouvelle cognition ; elle est appelée « processus de rationalisation ».   L'effet de halo, ou effet de notoriété, est un biais cognitif qui affecte la perception des gens ou de marques. Une caractéristique jugée positive à propos d'une personne ou d'une collectivité a tendance à rendre plus positives les autres caractéristiques de cette personne, même sans les connaître (et inversement pour une caractéristique négative). Cet effet pourrait par exemple avoir un rôle dans des phénomènes comme le racisme.    
  • #13 "Don't know what I want, but I know how to get it." Johnny Rotten parallèle en génie logiciel : "We know what we want. Can you estimate how long it will take to build?"