6
7 2 Scrum « Scrum est une façon de faire du développement logiciel, m’ex- plique Theo. Et une façon de faire que je qualifierais de plu- tôt radicale, ajoute-t-il. Scrum appartient à une mouvance que l’on appelle “Méthodes Agiles”. Mais le terme agile est parfois source de confusion parce qu’il est souvent associé à la notion de rapidité, alors que ce que l’on cherche à évoquer, c’est plutôt la flexibilité, la sou- plesse… Cette confusion crée parfois le faux espoir qu’avec Scrum, une équipe produira spontanément plus vite. En réalité, il est possible d’aller plus vite en adoptant Scrum, mais ce n’est pas l’objectif principal. L’essence de Scrum, c’est d’augmenter la réactivité du développement. En bref, son agilité. » Theo poursuit : « L’essence de Scrum, c’est d’accepter les changements consécutifs aux nouvelles découvertes ou idées que vous ou votre client pouvez avoir, y compris durant le développe- ment. Sur la base de ces idées, vous devez revoir les priorités et adapter votre logiciel. Pour cela, vous appliquez un cycle de développement court et prédictible, qui permet de livrer très fréquemment une nouvelle version stable du logiciel. L’essence de Scrum, c’est d’accepter les changements consécutifs aux nouvelles découvertes ou idées que vous ou votre client pouvez avoir, y compris durant le développement. Sur la base de ces idées, vous devez revoir les priorités et adapter votre logiciel. . © 2012 Pearson France – Scrum en action – Guillaume Bodet

Scrum en action - pearson.fr€¦ · 7 2 Scrum « Scrum est une façon de faire du développement logiciel, m’ex-plique Theo. Et une façon de faire que je qualifierais de plu-tôt

Embed Size (px)

Citation preview

Page 1: Scrum en action - pearson.fr€¦ · 7 2 Scrum « Scrum est une façon de faire du développement logiciel, m’ex-plique Theo. Et une façon de faire que je qualifierais de plu-tôt

7

2Scrum

« Scrum est une façon de faire du développement logiciel, m’ex-plique Theo. Et une façon de faire que je qualifierais de plu-tôt radicale, ajoute-t-il. Scrum appartient à une mouvance que l’on appelle “Méthodes Agiles”. Mais le terme agile est parfois source de confusion parce qu’il est souvent associé à la notion de rapidité, alors que ce que l’on cherche à évoquer, c’est plutôt la flexibilité, la sou-

plesse… Cette confusion crée parfois le faux espoir qu’avec Scrum, une équipe produira spontanément plus vite. En réalité, il est possible d’aller plus vite en adoptant Scrum, mais ce n’est pas l’objectif principal. L’essence de Scrum, c’est d’augmenter la réactivité du développement. En bref, son agilité. »

Theo poursuit :« L’essence de Scrum, c’est d’accepter les changements consécutifs aux nouvelles découvertes ou idées que vous ou votre client pouvez avoir, y compris durant le développe-ment. Sur la base de ces idées, vous devez revoir les priorités et adapter votre logiciel. Pour cela, vous appliquez un cycle de développement court et prédictible, qui permet de livrer très fréquemment une nouvelle version stable du logiciel.

“L’essence de Scrum, c’est d’accepter les changements consécutifs aux nouvelles découvertes ou idées que vous ou votre client pouvez avoir, y compris durant le développement. Sur la base de ces idées, vous devez revoir les priorités et adapter votre logiciel.„.

SCRUM Livre.indb 7 26/11/10 12:07

© 2012 Pearson France – Scrum en action – Guillaume Bodet

Page 2: Scrum en action - pearson.fr€¦ · 7 2 Scrum « Scrum est une façon de faire du développement logiciel, m’ex-plique Theo. Et une façon de faire que je qualifierais de plu-tôt

8

Ces livraisons fréquentes assu-rent une très grande qualité au produit, et renforce votre cré-dibilité auprès de vos clients. Dans ces conditions, collaborer étroitement avec vos clients devient critique puisque ce sont eux qui fournissent le feedback dont vous avez besoin pour ajuster vos développements. On entend souvent que les éditeurs de logiciels cherchent à établir une relation durable avec leurs clients. En réalité, ils échouent

souvent, faute de pouvoir durablement tenir leurs pro-messes et livrer de façon fiable. Scrum vous aide à tenir vos promesses. Il vous permet de mettre votre processus sous contrôle, et de le rendre transparent ; transparent pour vous, bien sûr, mais également pour vos clients. Et, conti-nue-t-il, d’une façon plus générale, on pourrait même dire que cela permet de rendre le monde meilleur. Vous allez peut-être me prendre pour un fou, mais si effectivement on parvient à améliorer l’efficacité et la pertinence des logiciels en ne produisant que ce qui est nécessaire, et avec une très grande qualité, alors c’est beaucoup de temps, d’argent et de ressources qui seront économisés ! Et je ne parle même pas des piles de papier inutilement gâchées pour rédiger des spécifications qui doivent être revues et corrigées en permanence. Mais peut-être cette préoccupation pour l’en-vironnement est-elle trop hollandaise à votre goût… »

Il sourit et me regarde avec une lueur de plaisir dans les yeux. J’hésite à le chambrer en lui faisant remarquer que, de toute évidence, il a également décidé de protéger la planète en se tenant éloigné des coiffeurs, à en juger par la longueur de son catogan. Mais je me retiens. J’ai le sentiment que

“Pour cela, vous appliquez un cycle de développement court et prédictible, qui permet de livrer très fréquemment une nouvelle version stable du logiciel. Ces livraisons fréquentes assurent une très grande qualité au produit, et renforce votre crédibilité auprès de vos clients.„.

SCRUM Livre.indb 8 26/11/10 12:07

© 2012 Pearson France – Scrum en action – Guillaume Bodet

Page 3: Scrum en action - pearson.fr€¦ · 7 2 Scrum « Scrum est une façon de faire du développement logiciel, m’ex-plique Theo. Et une façon de faire que je qualifierais de plu-tôt

9

son souci de l’environnement n’est pas une simple posture mais une vraie passion chez lui. D’ailleurs, il poursuit ses explications sans s’interrompre :« Pour compléter, j’ajouterais qu’avec Scrum, les déve-loppeurs sont intégralement responsables de leurs résultats. Ils ont le contrôle de leur façon de travailler. Et leur point de vue là-dessus est plus important que toutes les procé-dures standardisées. Leur objectif est de produire un logiciel parfaitement opérationnel. Point. Et c’est bien là l’objectif ultime de toute organisation de développement, non ? La documentation, par exemple, aussi importante soit-elle, reste une production secondaire par rapport au logiciel.– Attendez une seconde, dis-je. Dans ce cas-là, ça devient vite le bazar. Si les développeurs ne font que ce qu’ils jugent important, sans avoir à documenter quoi que ce soit, alors c’est rapidement l’anarchie ! »

Je me souviens d’un précédent employeur, chez qui j’avais eu en charge la mise en place d’un processus de dévelop-pement unifié. Cela m’avait absorbé durant des mois et maintenant, M. Catogan essaie de me convaincre que les développeurs devraient faire uniquement ce qu’ils veulent, sans rien documenter ?« C’est la porte ouverte au chaos, lancé-je. Et ce chaos s’ins-tallera très vite, donc effectivement de façon très agile ! »Theo rebondit :« Je pensais vous avoir précisément expliqué qu’il ne faut pas confondre agilité et vitesse. Si vous écoutez aussi atten-tivement vos clients, je peux déjà prédire l’avenir de votre société… »

Il me présente un grand sourire et poursuit plus doucement :« Non, je vous assure, Scrum n’est pas absurde, même s’il peut apparaître un peu magique au premier abord. Laissons de côté cette histoire de documentation pour l’instant, ce

SCRUM Livre.indb 9 26/11/10 12:07

© 2012 Pearson France – Scrum en action – Guillaume Bodet

Page 4: Scrum en action - pearson.fr€¦ · 7 2 Scrum « Scrum est une façon de faire du développement logiciel, m’ex-plique Theo. Et une façon de faire que je qualifierais de plu-tôt

10

n’est pas l’essentiel. L’essentiel, je le répète, c’est la réactivité, ou pour le dire autrement, la tolérance au changement. Nous avons appris au cours des der-nières décennies qu’en matière de développement logiciel, les besoins ne sont jamais complets et changent systématiquement à la dernière minute. Nous aurions dû nous adapter à cette réalité. Mais nous ne l’avons pas fait. Jusqu’à récemment, nous avons nié que le changement est inhé-rent au développement logiciel,

et avons plutôt cherché à l’interdire. Pourtant, dans la plu-part des domaines, et particulièrement dans les affaires, être tolérant au changement est une bonne chose. C’est en s’adaptant que l’on crée de la valeur. Les approches tradition-nelles du développement n’ont jamais véritablement intégré cette notion, probablement en raison de son impact sur le budget et le planning. Ajuster le périmètre, ou modifier les exigences en cours de développement est resté un tabou. »

« Au contraire, un contrôle étroit des exigences, consistant in fine à refuser les changements, était considéré comme le seul moyen de maîtriser budgets et délais. L’idée de mettre en place un processus de développement qui au contraire intègre dans sa structure le changement est en conséquence une idée puissante ! Et même mieux, de choisir une façon de travailler qui encourage ces changements. Une nouvelle version d’un logiciel est toujours l’occasion de voir éclore de nouvelles idées, poursuit-il. Et pour avoir du succès, vous devez avoir la volonté d’améliorer tout ce qui peut l’être sur la base de ces nouvelles idées. Regardez les choses ainsi, Marc : dans notre métier, nous parlons toujours de

“Jusqu’à récemment, nous avons nié que le changement est inhérent au développement logiciel, et avons plutôt cherché à l’interdire. Pourtant, dans la plupart des domaines, et particulièrement dans les affaires, être tolérant au changement est une bonne chose. C’est en s’adaptant que l’on crée de la valeur.„.

SCRUM Livre.indb 10 26/11/10 12:07

© 2012 Pearson France – Scrum en action – Guillaume Bodet

Page 5: Scrum en action - pearson.fr€¦ · 7 2 Scrum « Scrum est une façon de faire du développement logiciel, m’ex-plique Theo. Et une façon de faire que je qualifierais de plu-tôt

25

Nous échangeons nos cartes de visite et je promets de l’ap-peler lundi pour organiser un dîner. Je me lève, règle les consommations et me dirige vers ma chambre. Je m’endors à peine glissé sous les draps.

�Ce qu’il faut retenir

�• Acceptez�le�changement.�Si�vous�savez�à�l’avance�qu’il�y�aura�de�nombreux�changements�durant�votre�projet,�assu-rez-vous�que�votre�gestion�de�projet�permet�de�les�gérer.

�• Le�feedback�est�essentiel�pour�développer�un�bon�pro-duit.�Plus�vous�obtenez�ce�feedback�tôt,�plus�il�est�facile�de�l’intégrer�dans�le�développement,�et�plus�rapidement�votre�produit�convergera�vers�une�solution�optimale.

�• Scrum�autorise� le� changement�en�étant�parfaitement�flexible�sur�ce�qui�doit�être�fait�dans�les�itérations�à�venir,�mais�parfaitement�inflexible�sur�le�périmètre�de�l’itération�en�cours.�En�contrepartie,�l’équipe�de�développement�s’engage�à�livrer�ce�dernier�périmètre.�

�• Ce�que�vous�ne�faites�pas�bien,�ce�qui�vous�pose�pro-blème,�faites-le�le�plus�souvent�possible.�Ainsi,�vous�pro-gresserez�et�vos�problèmes�seront�bientôt�un�souvenir.�Cela�s’applique�en�particulier�à� la� livraison�d’un� logiciel� :�faites-le� le�plus�souvent�possible.�Si�vous� livrez�souvent,�vous�trouverez�les�bugs�plus�tôt�et�plus�vite.�Quand�la�ver-sion�commerciale�(ou�de�production)�sera�prête,�vous�aurez�déjà�résolu�la�plupart�des�problèmes.�Adieu,�les�crises�de�post-production�!

�• L’avantage�de�cycles�de�développement�courts�et�de�durée�fixe�est�qu’ils�vous�permettent�d’apprendre�quelle�quantité�de� travail�vous�êtes�vraiment�capable�de� fournir

SCRUM Livre.indb 25 26/11/10 12:07

© 2012 Pearson France – Scrum en action – Guillaume Bodet

Page 6: Scrum en action - pearson.fr€¦ · 7 2 Scrum « Scrum est une façon de faire du développement logiciel, m’ex-plique Theo. Et une façon de faire que je qualifierais de plu-tôt

26

en�un�seul�cycle.�Vous�pourrez�ainsi�souvent�confronter�vos�estimations�au�réalisé,�et�améliorerez�la�précision�de�vos�projections.�Vous�serez�alors�plus�à�même�de� tenir�vos�promesses.�

�• Ne�détaillez�que� les� fonctionnalités�dont�votre�client�a�besoin� rapidement.�Avec�Scrum,�ce�sont�ces� fonctionna-lités�que�vous�allez�livrer�en�premier.�Choisissez�les�plus�essentielles�au�début�de�chaque�sprint.�Ne�faites�que�ce�qui�apporte�le�plus�de�valeur�ajoutée.

�• Il� est� de� la� responsabilité� du� client� de� s’assurer� que�les� développeurs� comprennent� correctement� ce� dont� il�a�besoin.�Cela� implique�un�contact�étroit.�Si�un�client�ne�souhaite�pas�s’investir�à�ce�point,�alors�le�projet�ne�recèle�pas�une�valeur�ajoutée�suffisante�à�ses�yeux.�Dans�ce�cas,�considérez�la�possibilité�d’annuler�le�développement.

�• Le� product-owner� priorise� les� développements� que�l’équipe�devra� réaliser�à�chaque�sprint.� Il� le� fait�en�col-laboration�avec� toutes� les�parties�prenantes.� Il� construit�une�liste�d’exigences�qui�s’appelle�le�product backlog.�Le�product�backlog�est� la� liste�de�tout�ce�que�le� logiciel�doit�être�en�mesure�de�faire.�Cette�liste�est�ordonnée�selon�la�valeur�de�ses�éléments.

SCRUM Livre.indb 26 26/11/10 12:07

© 2012 Pearson France – Scrum en action – Guillaume Bodet