Monday, March 9, 2009

Très flatté d’être associé à “Vers les méthodes Agiles”

Merci de m’avoir associé à l’ouvrage “Vers les méthodes agiles “.  En effet il suffit de taper “Vickoff” sur Amazon pour voir que ce livre arrive en 3ème position de la liste des miens :
http://www.amazon.fr/s/ref=nb_ss_w?__mk_fr_FR=%C5M%C5Z%D5%D1&url=search-alias%3Daps&field-keywords=vickoff&x=8&y=13
Mais pourquoi avoir titré “Vers“  ? Perso j’aurais mis “Dans (et depuis longtemps)”. Mais moi je suis JPV, et modeste avec çà !

Posted by Jean-Pierre Vickoff at 16:38:58 | Permalink | No Comments »

Sunday, March 8, 2009

La Joconde adaptative

Je viens de me rendre compte que mon adaptation de la métaphore de la Joconde de Jeff Patton (qui illustre l’aspect adaptatif dans mon dernier livre), n’était pas claire pour tout le monde. Je viens donc de la modifier en conséquence : http://www.entreprise-agile.com/HistoAgile.pdf Cette éclaircisement est d’importance puisque c’est ce principe qui permet de traiter des forfaits en mode Agile (aspect qui semble toujours incompris de pas mal de gens).
 

Au-delà des apparences : conforme aux nouveaux besoins

Posted by Jean-Pierre Vickoff at 14:27:30 | Permalink | No Comments »

Thursday, March 5, 2009

Origines des techniques Agiles

Scrum est un sous-ensemble de l’ancienne méthode RAD qui a tenté d’évoluer indépendamment, mais malheureusement de manière imparfaite et incomplète. XP est aussi un sous-ensemble, mais d’un apport indéniable à l’ingenierie du logiciel même s’il  s’avère lui aussi incomplet. 

Il faut comprendre qu’il manque beaucoup de pratiques aux méthodes Agiles actuelles pour couvrir le large scope des techniques nécessaires à un développement de système d’information conséquent ou faisant appel à des architectures sophistiquées. Cette évidence, pour ceux qui utilisent ces techniques depuis lontemps, ou pour moi qui ai passé ces vingt dernières années à les faire évoluer, méritait bien quelques justifications simples. Avec cette article ce sera fait.

En premier lieu, rappel des dates : RAD 1991, Scrum 1996, XP 1999.

Sur le fond, les méthodes RAD, XP, Scrum ou Puma Essentiel, ainsi que les autres méthodes Agiles, sont identiques en termes de cycle, phasage, valeurs et principes. Pour le phasage, par exemple, en plus d’être incrémentale et adaptative,  l’approche est semi-itérative  (et  non pas totalement itérative comme le pense les simplistes).

Lire « Le mythe de l’itératif sans concession » http://agiles.blog.com/2008/3/

Note : Je suis prêt à parier qu’une grosse partie des problèmes actuels de Scrum est une mauvaise interprétation de ce point par des débutants sans réelle expérience du développement et qui sous-estiment l’importance de l’expression des exigences et des différentes formes d’architectures.

Voici les trois points à considérer à partir des techniques RAD déja publiées avant 1996, date d’émergence de Scrum :

Point positif 1 : la méthode XP présente un apport de spécialisation en ce qui concerne l’ingénierie du logiciel lors de la phase de Construction.

Point neutre 2 : si Scrum n’a rien apporté de nouveau, les techniques qu’il préconise ne sont pas mauvaises mais simplement et régressivement insuffisantes.

Point négatif 3 : Scrum, certainement à cause de son manque de spécialisation, fait régresser la méthode en termes de pilotage. Cette régression à pour source l’usage de solution d’un simplisme inadéquat en regard de la réelle technicité et complexité des projets de développement informatiques. En effet, ces derniers nécessitent  souvent une estimation préalable au codage ainsi qu’une modélisation formelle. Cette modélisation permettra de réaliser une planification prenant en compte de nombreuses interdépendances tant fonctionnelles que techniques et des concepts non triviaux, comme par exemple, la stabilité ou la granularité des objets. 

Lire « Le Mythe du périmètre variable »  http://agiles.blog.com/2008/1/

Les « emprunts » de Scrum  à la première des méthodes Agile, le RAD, sont aisés à mettre en évidence à travers les techniques et même leurs dénominations, qui n’ont pas été adaptées à la métaphore du Rugby, mais conservent les métaphores « commando » du RAD (SWAT, War Room, etc.).

Voila une simple petite synthèse des pratiques les plus en vue.

L’équipe : Team pour Scrum et SWAT Team pour RAD (SWAT  à l’origine du mot : Special Wapons And Tactic ou dans le cas informatique : Skill With Advanced Tools). La composition de l’équipe est strictement identique et se limite dans les deux  cas aux représentants du client, aux informaticiens de développement et à la présence d’un facilitateur nommé Animateur pour le RAD ou Scrumaster  pour Scrum.

La salle de travail se nomme War Room aussi bien pour le RAD que pour Scrum (On notera que cette dénomination militaire correspond à la salle de travail du SWAT).

Le reporting mural : même usage des murs avec, pour Scrum et XP, l’avantage indéniable de l’évolution et de la formalisation de cette pratique.

La planification est adaptative et essentiellement basée sur la valeur pour l’ensemble des méthodes.  La comparaison s’arrête là pour Scrum car le RAD, qui  est une approche dédiée aux développements applicatifs, prend en compte plusieurs autres interdépendances techniques ou besoins exprimés et propose une planification stratégique incluant des variables de contraintes pour compléter la priorité basée sur  la valeur ajoutée.

Les réunions :  Morning meeting pour le RAD, Stand Up meeting pour Scrum

Les retrospectives : Focus de fin d’itération (ou Show) pour le RAD  et « de fin d’itération » pour Scrum. Rétrospectives de fin de projet pour Scrum et post-mortem de projet pour le RAD (rarement fait dans le cas d’équipes externes).

La comparaison entre RAD et Scrum s’arrête là car Scrum ne comprend pas de pratiques d’ingénierie du logiciel (Construction du RAD et techniques XP).

Au niveau de la réalisation, pour pouvoir continuer la comparaison entre la méthode RAD et une autre méthode de développement, il faut switcher de Scrum à XP. On s’aperçoit alors que  l’ « architecture de réalisation » de RAD) est absolument identique à la structure itérative incrémentale de XP (dernier graphique de l’article « Le Mythe du périmètre variable »  http://agiles.blog.com/2008/1/) .

En matière d’ingénierie du logiciel, il sera noté deux différences : une  de forme dans les dénominations  et une de fond concernant l’usage eXtrême des techniques :

 - Pair Programming systématique avec rotation journalière des binômes pour XP et Pair Programming de contexte avec revue de code par les « pairs » avant les Focus de livraisons pour le RAD.

- Les jalons journaliers se nomment ZD comme Zéro-Défaut pour le RAD.  Les vérifications d’intégration qui sont relativement identiques peuvent éventuellement être en partie manuelles et en partie automatisées pour le RAD et semblent  plus mécaniques  et instrumentés dans XP (ces aspects n’ont pas été traités depuis des années dans le cas du RAD) .

Note : Le RAD des années 90 ne disposait pas des matériels et outils actuels permettant d’accroitre la mise en œuvre aisée du pair programming, du TDD et d’accroître la fréquence ou de l’intégration continue qui se réalisait une fois par jour en général.

C’est cette similitude entre la structure RAD et XP qui m’avait amené en 2000 à préconiser de remplacer la phase de construction du RAD par XP pour ceux qui désiraient atteindre un  haut niveau technique de qualité applicative en acceptant d’en payer le prix en termes de formation et de rigueur de mise en œuvre.

Ce papier représente un simple historique et une comparaison entre les méthodes Agiles actuelles et leur souche commune le RAD désormais pratiquement en désuétude en tant que méthode commercialisée.

Lire le « Comparatif Scrum, XP, PUMA »  http://agiles.blog.com/2008/4/

Bon, je ne vais pas perdre plus de temps dans ces souvenirs méthodologiques, bien que cela me rajeunisse grave.

Une nouvelle génération de méthodes Agiles va naturellement émerger et PUMA en est le précurseur.

Posted by Jean-Pierre Vickoff at 22:50:28 | Permalink | No Comments »

Tuesday, March 3, 2009

2 jours de libres ? Devenez Scrum Master certifié SGDG !

Première question : C’est quoi déjà ce job là ?

La définition du rôle semble être variablement floue « à la tête du client » et « à la tête de l’emploi ». Pour certains « On peut voir le ScrumMaster comme la déclinaison agile du chef de projet », « Voire un sous-rôle de chef de projet » Car: « Plutôt que de planifier, de contrôler et de diriger, le gestionnaire de projet Agile facilite et agit comme mentor et leader au sein d’équipes auto-organisées. Pour d’autres : « Il n’est pas nécessaire pour un ScrumMaster de bien connaître le domaine de l’application, ni d’être un expert technique. » Il y a des visions mixtes : « Celui qui le joue peut, ponctuellement, participer aux travaux du sprint avec les autres membres de l’équipe, mais cela doit rester limité : c’est un rôle à plein temps. ». 

Deuxième question : Mais au fait qui va le payer ?

A lire : http://www.entreprise-agile.com/PolScrumMaster.htm

Posted by Jean-Pierre Vickoff at 23:55:52 | Permalink | Comments (4)

Des projets à rentabilité immédiate

Flash-cxp : Pendant la crise, les projets continuent. Mais pas exactement les mêmes. Selon Comm’Back, agence de marketing direct spécialisée sur les secteurs de l’informatique et des télécoms, les entreprises auraient déclaré en 2008 18% de projets IT de plus qu’en 2007. Le plus intéressant n’est pas le taux de progression mais la nature des projets programmés au cours des derniers mois. Ces projets de crise ne sont pas ceux qui se seraient montés en période d’euphorie économique.
http://www.cxp.fr/flash-cxp/edito-tentation-projets-rentabilite-immediate_808

Voila qui devrait booster les développements Agiles. Dommage que les méthodes Agiles standards ne proposent pas des techniques de « business plan » Agiles comme PUMA.
http://www.entreprise-agile.com/Base/4BaseExtensionG1P1.htm

Posted by Jean-Pierre Vickoff at 13:06:02 | Permalink | No Comments »

Friday, February 13, 2009

Sans conception en vue de modification l’adaptatif c’est du pipo

Suite à un échange avec FrédéricTardieu concernant Scrum :
http://www.frederictardieu.net/?cat=25&lang=fr
J’ai tenu à lui donner mon opinion.  Après avoir lu The New New Product Development Game ou tous les principes fondateurs de Scrum étaient exposés (y compris la métaphore du rugby) et après avoir pris en considération les techniques du RAD largement publiées qui préexistaient, on se demande vraiment quel à été l’apport technique de Scrum à la conduite des projets de développement d’applications.

Au-delà des techniques itératives basiques, qu’il est toujours bon de connaître, il est évident que Scrum et une approche simpliste qui fait rêver beaucoup d’informaticiens en déficit de compétences techniques et rapporte gros a ses auteurs. Ce qui ne serait pas bien méchant si  Scrum ne créait pas de difficultés aux projets et aux organisations. Car, s’il est possible d’imaginer un rôle d’animateur sans maîtrise des pratiques du développement, il ne peut en aucun cas être de même du leader de l’équipe de développement.  

Techniquement Scrum est une incroyable régression en termes de planification stratégique du projet où les aspects d’interdépendances fonctionnelles ou techniques sont oblitérés. Il en est de même des aspects inexistants d’une modélisation minimum. C’est malheureux, car ce sont justement ces principes qui permettent, en s’appuyant sur les techniques de « conception en vue de modification», de réellement pouvoir livrer en «fonctionnalités réduites ».
Sans ces techniques, l’incrémental itératif et l’adaptatif c’est du pipo. 

Par contre, selon mon expérience, l’usage des murs et plus particulièrement le radiateur d’informations (associé à l’emploi de post-it ou de carte A5) pour gérer les itérations ainsi que les changements sont fondamentalement nécessaires à l’Agilité en projet de développement. De plus, je considère que pour passer au reporting automatisé, il faudra attendre une composition d’écrans tactiles aussi grand qu’un mur. Et au final, tout ceci implique qu’un projet Agile se réalise en mode plateau (et en mode projet évidemment).

En référence  :  http://www.touilleur-express.fr/2009/02/07/scrum/

 

Posted by Jean-Pierre Vickoff at 13:04:54 | Permalink | No Comments »

Wednesday, February 11, 2009

Historique et évolution de l’Agilité

Comme une bonne partie des présentations des sources du mouvement Itératif, Incrémental et Adaptatif dont les travaux ont conduit au manifeste Agile sont biaisées, lorsque ce n’est pas trafiquées par des révisionnistes ou des incultes, je vous en réalise une retrospective dont les dates sont officielles :
 
http://www.entreprise-agile.com/HistoAgile.pdf 
Et voici aussi un petit résumé des controverses en cours :
http://www.entreprise-agile.com/AgileControverses.pdf
Posted by Jean-Pierre Vickoff at 20:57:21 | Permalink | No Comments »

Sunday, January 25, 2009

Cartes de Planning Poker Game

Les cartes officielles étant hors de prix pour mes étudiants, j’en ai réalisé un jeu.
Elles sont un peu petites, mais ca marche quand même.

http://www.entreprise-agile.com/CartePlaningRectoVerso.pdf

Il suffit de les imprimer sur un support rigide puis de les ” massicoter “.
Comme c’est du recto verso dans le même fichier, il suffit de mettre deux pages rigides,  de lancer l’impression, de remettre les  deux pages en les retournant dans l’imprimante, puis de lancer l’impression de nouveau pour obtenir 2 jeux.
Astuce, au découpage ne pas masicoter horizontalement la bande d’explications.

Posted by Jean-Pierre Vickoff at 21:39:06 | Permalink | No Comments »

Saturday, January 3, 2009

CMM Agile : grand bluff, étreinte mortelle ou course en avant après effritement au Scrum ?

J’ai eu la chance (pour le côté expérience) de travailler dans des sociétés utilisant le cadre CMM (Software) et d’autres un cadre Agile. J’ai aussi réalisé pour le Gartner Group en 1998, la première synthèse de CMM en français à partir des travaux du Québécois Richard Basque. Puis un comparatif entre CMM et RAD qui avait conduit à la production pour le Gartner d’un processus formel RAD2 de niveau 5. Plus récemment, l’année passée, des organisations professionnelles de l’Ouest français m’ont commandé une étude-conférence  sur le sujet Agile / CMMi.

Ma conclusion : Même si -certaines- pratiques sont communes, l’approche Agile représente à l’évidence la philosophie contraire de celle qui sous tend la normalisation et CMM (même abordée comme dans CMMi light, un livre que je conseille à tous ceux qui souhaitent parler du sujet en sachant agilement de quoi il en retourne). D’ailleurs ma blague de conférencier sur le sujet :

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). 

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).

http://www.granit.org/data/upload/files/cri_granit_p1_0945h_jpvickoff_1J1isM.pdf

Bien qu’un mappage permet de comprendre les aspects techniques sans résoudre les problème fondamentaux,  j’ai énormément apprécié la vision d’un praticien qui ne se contente pas de blabater des généralités :

http://afoucal.free.fr/index.php/2008/07/31/cmmi-agile-mesures-analyses/

Evidemment c’est aussi une question de niveau. Le niveau 2 n’est peut être pas incompatible avec XP (mais pas pour Scrum qui ne dispose pas de technique de génie logiciel). Par contre au niveau supérieur, dès que le besoin d’un processus formalisé apparaît, les méthodes Agiles ne proposent plus rien. Ensuite au niveau 4 pour les métriques et 5 pour les rétrospectives, certaines pratiques de Scrum, une fois formalisées, feraient certainement l’affaire, du moins dans la limite d’un projet donné. Malheureusement une organisation ne se certifie pas CMM L5 pour voir ses processus remis en question en temps reéel dans un projet particulier. Sous l’angle de la complexité et de la courbe d’apprentissage,  il est aussi évident que l’observation de CMMi (même dans une vision Light) découragera immédiatement plus d’un Agiliste. Sinon, dans l’optique de monter une usine à gaz « comme au bon vieux temps », il est toujours possible de  multi-coupler CMMi, CMM-Personal SP, CMM-TeamSP, Scrum, XP et quelques techniques de gestion des exigences structurées ou de modélisation systémique dans le cas d’un BPM  ou technique dans le cas d’une SOA.

Résumé : En pratique il est possible d’être CMM tout en choisissant d’utiliser certaines techniques Agiles. Par contre, il n’est pas possible de rester Agile en respectant CMM.

Mais le vrai problème ne se situe pas dans les aspects techniques. Il en coute des milliers (voir des dizaines de milliers) d’euros afin de devenir certificateur CMM et ce fric alimente une pyramide financière (en comparaison, Scrum est un regroupement d’enfants de chœur) dont les instances tiennent à la continuation. D’autre part (d’expérience) une société qui va investir dans du conseil CMM souhaite que ce consultant la certifie au final et ne prendra pas autre chose qu’un certificateur . Lorsque le SEI aura créé CMMa  (pour Agile) en acceptant quelques techniques Agiles dans trois ou quatre secteurs, la messe sera dite. Les entreprises achèteront massivement la sécurité d’un processus mature se référant de l’agilité. Surtout celles ayant déjà investi dans CMM SW ou CMMi. Plus de rupture organisationnelle, la continuité tranquille.  Quelle place restera-t-il au mouvement Agile basé sur des approches imparfaites, incomplètes, formant ses experts en 2 jours et qui, en plus,  se refuse à évoluer autrement que dans les détails de techniques insignifiantes pour la plupart des DSI  ?

Posted by Jean-Pierre Vickoff at 15:57:54 | Permalink | Comments (1) »

Monday, November 17, 2008

Le ballon se transforme en citrouille

C’était depuis longtemps pour moi  une évidence et la raison d’être de PUMA.

http://jamesshore.com/Blog/The-Decline-and-Fall-of-Agile.html

Néanmoins, en ce qui concerne SCRUM,  je préferre laisser aux américains le soin de règler leurs comptes.

Une autre réflexion pertinente :

http://m2i3.com/2008/10/perversion-manifeste-Agile#comment-301

Et comme l’a si bien décrit Franco Martinig, dans un de ses « billets d’humeur » publié sur www.forumlogiciel.net et dont l’essentiel est résumé ici, met parfaitement en évidence cette amnésie qui permet aux informaticiens de se précipiter sur les approches nouvelles en leur imaginant des facilités de « voie royale » qu’aucune méthode n’a jamais eu : « J’ai l’impression qu’une partie de la communauté avance en ignorant ou rejetant le passé. Les gens ont tendance à nier les approches précédentes, … La problématique du développement du logiciel n’a pas changé et les nouvelles solutions proposées partagent de nombreuses ressemblances avec les anciennes. … Si l’on ne comprend pas les principes de base d’une approche et si on l’adopte sans l’adapter au contexte, on rencontre naturellement des problèmes. Lorsque les pratiques Agiles vont se généraliser, elles vont rencontrer les mêmes obstacles que les approches antérieures. »

http://www.rad.fr/RADaXP.htm

Il est tout aussi édifiant de constater (sur Wikipédia et posté par un adepte) :

- ” La méthode Scrum a été conçue pour la gestion de projets de développement de logiciels.

et deux phrases plus loin :

- ” Par contre, la méthode Scrum ne couvre aucune technique d’ingénierie du logiciel.”

Et après cela, on s’étonnera …

Posted by Jean-Pierre Vickoff at 20:25:22 | Permalink | No Comments »