Développement logiciel et méthodes agiles

En français

Agitation sur l'agilité

Fil des billets - Fil des commentaires

21 décembre 2006

Y-a-t-il un chef dans le projet ?

Le Valtech Mag nous parle du chef de projet dans un fonctionnement agile. Le sujet mérite que l'on s'y attarde car, comme le dit à juste titre l'article "l’agilité est bel et bien en train de révolutionner le rôle du chef de projet".

Lire la suite...

12 novembre 2006

Exprimer ses besoins

Il y a quelques temps, dans un billet sur la qualité, j'ai mentionné le rôle que joue l'expression des besoins dans la réalisation d'un produit de qualité. J'y raconte comment les pratiques de XP on-site customer et small release permettent de s'assurer que les attentes exprimées sont les bonnes et que l'on n'en prend pas en compte un trop grand nombre simultanément.

Aujourd'hui, un billet de Claude Aubry qui explique le besoin de prioritisation des exigences lors de la réalisation d'un système m'incite à revenir sur le sujet en réfléchissant à la meilleure façon d'exprimer les attentes d'un client dans une approche agile.

Lire la suite...

12 juillet 2006

QOTD

Garry Berteig says:
I mentioned an example of agile effectiveness in terms of Visa.
The waterfall example is to have to go to the bank for a loan, fill out forms in a meeting, reschedule for approval, and sign off on contract. On the other hand Visa lets the borrower make the decisions about how much and how often within a predetermined limit.
People go for Visa because it allows for iterations that are self determined, and very frequent compared to a bank loan process.


Il reste à se demander qui est l'équivalent de Cofidis, Sofinco et Finaref...


11 juillet 2006

Dis moi comment tu codes, je te dirai qui tu es

Au cours d'une récente discussion sur xp-france au sujet du recrutement de membres d'une équipe XP a été inévitablement évoqué la question de l'utilisation de tests techniques au cours de la procédure de recrutement.
Je reviens ici sur cette pratique qui me parait essentielle car elle permet d'en dire bien plus long sur une personne que la stricte évaluation des compétences techniques.

Lire la suite...

25 juin 2006

Comment être vraiment sûr de recruter un mauvais ingénieur informatique

Vianney Lecroart explique comment recruter un mauvais ingénieur informatique. Dans l'ensemble, les règles décrites dans ce billet me semblent bien illustrer certaines erreurs classiques de recrutement dans le développement logiciel.
Malheureusement, ces règles ont un défaut. Elles laissent transparaître, de manière diffuse, un des travers que l'on retrouve de plus en plus souvent chez les agilistes : la croyance que constituer une équipe de développement consiste principalement à réunir un ensemble de personnes très ouvertes au dialogue et capables d'acquérir les connaissances qu'elles n'ont pas.

Je propose donc ici quelques règles supplémentaires qui peuvent permettre de se laisser définitivement phagocyter par cette idéologie.

Lire la suite...

24 juin 2006

Que fait-on dans la dernière itération ?

Dans un billet récent, Claude Aubry rapporte l'existence de plusieurs articles sur l'agilité dans l'édition de juin 2006 de 'Software Test & Performance'. Un de ces articles, signé Dean Leffingwell, décrit les méthodes agiles du point de vue de l'activité de test. Cet article est de bonne qualité, ou presque. Dans la toute dernière partie, celle où l'on décrit le passage de la théorie au monde réel, il y est raconté à quel point il est impossible de tout tester dans chaque itération et que certains aspects du logiciel ne peuvent, en fin de compte, n'être testés qu'à la fin lors d'une itération dite de "durcissement".
S'il est vrai que la dernière itération peut avoir un statut particulier (le RUP parle, par exemple, de phase de transition), on peut légitimement se demander si les activités de test et de correction de bugs décrites dans cet article y ont véritablement leur place. J'ai abordé ce point en commentaire sur le billet de Claude Aubry mais, en réfléchissant un peu, je me suis dit qu'il y avait matière à creuser un peu plus le sujet.

Lire la suite...

13 juin 2006

Jardiner agile n'est pas si facile

Hier soir, j'ai regardé une émission de télé-réalité de France 3.
Je n'ai pas pour habitude d'aller chercher des exemples d'agilité ou de non-agilité dans des domaines qui n'ont qu'un très lointain rapport avec le développement logiciel mais, sur ce coup, le discours de certains protagonistes m'a inévitablement fait penser à quelque chose de connu.

Lire la suite...

6 juin 2006

C'est à l'outil que l'on reconnaît le bon ouvrier

Les méthodes agiles ont en commun une faible emphase sur l'outillage face à la communication entre les participants. Cela ne signifie pas pour autant qu'il ne faille pas se soucier de l'outillage : si l'on veut que les participants ne perdent pas leur temps à maîtriser les outils au lieu de produire de la valeur pour le client, il leur faut des outils qui s'adaptent à leur façon de travailler et pas l'inverse.
Ainsi, choisir un outil pour gérer les attentes du client depuis leur expression jusqu'à leur mise à disposition dans le produit fini est toujours délicat. Depuis le post-it jusqu'à l'outil de gestion des cas d'utilisation qui se synchronise en temps réel avec les rapports MSWord, la palette est large et il y en a pour tous les budgets.
Le grand classique d'XP, ce sont les fiches bristol : pas chères et faciles à mettre en oeuvre. Dans le cas d'équipes dispersées géographiquement, on leur préfèrera leur équivalent électronique. Des solutions plus plus spécifiques, mais toujours simples, existent. J'ai, pendant un temps, utilisé XP Web et je compte, à l'occasion, jeter un coup d'oeil à Ice Scrum.

Bien souvent, la tentation est grande de construire son propre outil car, en fin de compte, les outils très flexibles (bristol, wiki) ne permettent pas de garantir le formalisme qui va de pair avec la discipline et, à l'inverse, les outils de saisie pré-formatés n'ont jamais le champ de texte ou la case à cocher dont on aurait besoin. Face à ce dilemme, je m'interroge sur l'opportunité de mettre le format XML, les définitions de schéma XML et les outils associés au service d'un tel dessein.

Lire la suite...

28 mai 2006

36 15 Qui n'en veut de mon agilité ?

L'an dernier, Pascal Roques, bien connu pour ses ouvrages sur UML, avait publié un article décrivant une démarche de modélisation "agile". Il est récemment revenu sur le sujet en publiant un exemple d'utilisation de cette démarche.

Cette démarche est décrite de la manière suivante :
Une démarche de modélisation "agile" pour passer des besoins utilisateurs au code. Le processus que nous vous proposons de suivre pour le développement d’applications Web se situe à mi-chemin entre UP (Unified Process), un cadre général très complet de processus de développement, et XP (eXtreme Programming), une approche minimaliste à la mode centrée sur le code. Il s’inspire également des bonnes pratiques prônées par les tenants de la modélisation agile (Agile Modeling).
Passons sur la qualification d'approche minimaliste à la mode centrée sur le code dont est affublé XP (il y aurait beaucoup à dire là dessus, j'y reviendrai peut être un jour) pour nous intéresser à l'agilité effective de la méthode présentée. Il ne faut pas reprocher aux gens qui ont des idées (et même souvent de bonnes idées) sur les moyens de développer du logiciel de les faire connaître mais on peut légitimement s'interroger sur le qualificatif "agile" qui semble être devenu un terme marketing à la mode pour énoncer une certaine rupture avec des méthodes de développement cérémonieuses et vieillottes.

Lire la suite...

18 mai 2006

De l'entretien de sa propre estime

Claude Aubry récapitule ce que l'on peut faire avant la première itération pour bien démarrer un projet. L'élément qui a le plus retenu mon attention est "un plan initial de la release" qui suppose d'avoir estimé les exigences et défini les priorités.
Ce point est toujours délicat. Une absence de plan peut entrainer une absence de confiance de la part du sponsor et mettre en danger la poursuite du projet. Un plan trop précis ou pas assez expliqué peut être trop rapidement entériné et faire disparaître un des principes de l'agilité : "we have come to value responding to change over following a plan".

Alors, où peut-on raisonnablement situer la limite ?

Lire la suite...

14 mai 2006

XP expliqué à un apôtre de la qualité

Beaucoup de sociétés impliquées dans du développement logiciel mettent en avant leur démarche qualité. Rien de très étonnant à cela. Les contraintes du marketing font que si les autres font de la qualité (et le font savoir) et que soi même on n'en fait pas (ou on ne le fait pas assez savoir), les autres seront considérés comme faisant de meilleurs produits ou rendant de meilleurs services.
Il faut cependant remarquer qu'il y a qualité et qualité. La démarche qualité dans l'industrie du logiciel est avant tout une histoire de processus : maîtriser au mieux les étapes qui vont de l'expression des besoins au produit fini. Si on a de la chance, on aura aussi un processus en amont pour aller des attentes du client jusqu'à l'expression des besoins. Faire un produit de qualité, c'est autre chose. C'est faire un produit que le client, l'utilisateur considèrera, avec toute sa subjectivité, comme étant de qualité ! La démarche et les processus qui auront servi à arriver au résultat n'auront, en fin de compte, que bien peu d'importance.

Les méthodes agiles, et tout particulièrement XP, sont réputées pour ne s'intéresser que de loin aux formalisations des démarches qualité mais où se situent-elles vraiment pour ce qui est de réaliser des produits de qualité ?

Lire la suite...

12 mai 2006

Les bienfaits de la colonisation

La sensation Web de la semaine, c'est Google Trends. La possibilité de connaître les volumes de recherche Google d'une ou plusieurs expressions dans le temps (historique depuis 2004) et dans l'espace (pays et villes d'où sont faites les recherches).

J'ai essayé de voir ce que cela donnait avec quelques méthodes de développement logiciel.

Lire la suite...

8 mai 2006

De l'art de bricoler sa méthodologie

Je viens de lire un échange intéressant où Fabien Benoit s'interroge sur la mise en oeuvre effective de méthodologies opposées par des guerres plus ou moins religieuses et Aurélien Pelletier répond en faisant un tour d'horizon des pratiques actuelles et en concluant qu'il n'y a pas de méthodes idéale : tout est une question de dosage en fonction du contexte. Fabien acquiesce en faisant remarquer qu'il ne peut donc pas y avoir de méthode "prête à l'emploi" contrairement à ce qu'espèrent proposer divers vendeurs de solutions miracle.

Je me permets de venir ajouter mon grain de sel à la discussion en abondant dans le sens des conclusions déjà établies. Force est de constater que lorsque des personnes communiquent des retours d'expérience sur des méthodes récentes, c'est principalement pour en vendre une mise en oeuvre plus ou moins packagée (je n'ai rien contre la société mentionnée à travers le lien, c'est juste un exemple).
RUP, XP, Scrum et consorts sont devenus autant de mots-clef marketing qui servent aussi bien à des prestataires de services pour s'ouvrir de nouveaux marchés qu'à des entités internes aux sociétés pour mettre en exergue leur façon de travailler et dégager ainsi les budgets adéquats. "Nous faisons de la bonne qualité avec notre méthode eXtreme Programming. Si vous voulez que l'on vous fasse cette fonctionnalité X, il va falloir payer une paire de développeurs supplémentaire".

Peu de voix s'élèvent pour dire que, en fin de compte, mettre en place une méthode de développement qui fonctionne réellement, c'est avant tout une histoire de bricolage pragmatique qui pioche des idées ici ou là et les assemble en fonction du contexte et de la sensibilité des intervenants. Je voudrais donner ici un exemple d'un tel bricolage.

Lire la suite...

7 mai 2006

Agilitation

Je n'aime pas mâcher mes mots, surtout quand il s'agit de thèmes qui me tiennent particulièrement à coeur dans le développement logiciel : les bonnes ou mauvaises pratiques, les méthodes et les processus plus ou moins formalisés, la communication et les interactions entre les intervenants...

C'est ainsi qu'est né ce blog : de l'envie de mettre par écrit les réflexions qu'il m'arrive de faire en réaction à une lecture sur le Web ou à une expérience vécue dans la vraie vie sur ces thèmes là.

page 2 de 2 -