Concordiagile

Aller au contenu | Aller au menu | Aller à la recherche

mardi 12 février 2008

La Vision de Concordiagile

« Concordiagile » est une alliance de personnes morales motivées par la promotion commune des méthodes agiles en France.

L'objectif de l'alliance est de fédérer toutes les bonnes volontés françaises mettant en œuvre l'Agilité afin d'installer les pratiques de l'amélioration continue dans le secteur informatique. L'alliance permettra d'amplifier le discours de ses membres afin que celui-ci porte plus loin que la somme des discours individuels.

L’alliance est ouverte à toutes les entreprises utilisatrices, sociétés de services et éditeurs qui embrassent cette vision. Les membres actuels de l'alliance sont Agilii, OCTO Technology, Pyxis Technologies, Sfeir, Valtech et Xebia.

L'activité de « Concordiagile » se traduit dans un premier temps par un blog communautaire et par des rencontres régulières entre ses membres puis se traduira par des séminaires et conférences telles que les Rencontres Agiles.

lundi 4 février 2008

Déspécialisation

Kent Beck nous propose dans sa méthode eXtreme Programming d’adopter sur nos projets la pratique de propriété collective du code. Il propose que l’application soit comprise et maitrisée par tous les membres de l’équipe.

A titre d’exemple, une équipe peut mettre cette pratique en œuvre au travers des actions suivantes :

  • Les développeurs travaillent en binômes sur une grande majorité du codage de l’application. Les binômes tournent régulièrement. (Pair Programming)
  • Aucune personne ne se spécialise dans un module ou une partie de l’application en particulier. L’équipe évite de se retrouver avec un spécialiste de la base de données, du build, du framework IHM ou de l’architecture générale de l’application.
  • Tout le monde participe à l’effort de création des jeux de tests unitaires et fonctionnels. L’équipe évite d’avoir une personne dédiée uniquement à la qualité.

Lire la suite...

dimanche 3 février 2008

Tester son agilité

"Ma méthode est aussi itérative que la votre : d'abord nous faisons les spécifications, ensuite nous concevons le logiciel pour finalement le coder, le tester et le mettre en production."

Afin de valider qu'un projet annonçant respecter SCRUM respecte quelques principes de base, Nokia propose un test divisé en deux parties :

  • Le projet est-il incrémental ?
    • Les itérations du projet sont-elles fixes et durent-elles moins de 6 semaines ?
    • Le logiciel fonctionne-t-il et est-il testé à la fin de chaque itération ?
    • L'itération a-t-elle démarrée avant que les spécifications ne soient complètes ?
  • Le projet respecte-t-il SCRUM ?
    • Y-a-t-il un "product owner" sur le projet ?
    • Y-a-t-il un backlog prioritisé par la valeur métier ?
    • La complexité du backlog a-t-elle été estimée par les membres de l'équipe ?
    • L'équipe connait-elle sa vélocité et crée-t-elle ses "burndown charts" ?
    • Personne ne perturbe le travail de l'équipe durant une itération ?

Ce test, reste le test de Nokia. Il a le mérite d’indiquer les pratiques que Nokia estime être les plus importantes.

Chaque équipe peut avoir un petit test/manifeste de ce type qui permet d’indiquer les pratiques défendues.

Source du test Nokia : Jeff Sutherland on Scrum and Not-Scrum

mercredi 30 janvier 2008

Les bénéfices des méthodes agiles

Voici quelques situations qui doivent vous amener à penser méthodes agiles (XP, Scrum, ...) :

Votre client/MOA sait exprimer ses besoins mais ne se sent pas capable de spécifier complètement sa nouvelle application ?

C'est normal. Personne ne sait figer ses exigences dans les moindres détails avant que les développements ne commencent.

Les clients qui vous le promettent ne sont pas de mauvaise foi, par contre leurs utilisateurs en voudront pour leur argent et changeront forcément de point du vue en cours de projet. Sans parler des changements d'environnement tout au long du projet (fusion, changement de stratégie, nouvelle législation, infaisabilité technique, mauvaise compréhension du besoin, ...)

Votre client/MOA ne croit plus aux développements forfaitisés à prix fixe. Ce soit disant prix fixe explose dès le premier comité de pilotage !

C'est normal. Aucun développeur, chef de projet ou directeur de projet ne peut chiffrer un développement à l'avance. S'il dit le contraire, il n'est pas de mauvaise foi, il se voile juste la face en se rassurant avec des feuilles de calcul Excel, des points de fonction et des abaques. Un développement est une fonction avec trop d'inconnues.

La pire des situations est l'appel d'offre ouvert qui incite les prestataires à évaluer à la baisse sans jamais voir le client en face pour lui poser des questions sur son projet.

Au mieux, on doit pouvoir donner une estimation du type : Votre projet a 70% de chances de prendre 1000hj, plus ou moins 200hj. Ceux qui ont un peu étudié les statistiques, savent que les résultats de sondages doivent être donnés sous cette forme, même si les médias pensent que communiquer un pourcentage est suffisant.

Votre client/MOE souhaite contrôler la qualité de vos livrables sans savoir trop comment s'y prendre.

C'est normal. Dans le cas de forfaits, l'application livrée a rarement la qualité attendue, faute de temps pour mieux faire. Pour se protéger, les clients fixent donc des normes de développement, des outils de vérification (type cast), des jalons de livraisons, des processus complexes, ... En fait, nos clients cherchent à nous faire porter les risques en fonctionnant en forfait. Mais comme nous n'arrivons pas à livrer la qualité attendue dans le temps imparti, ils doivent passer en mode flicage.

Le pire c'est que ce mode flicage nous rapporte (nous SSII), puisque l'on aide d'autres clients à mettre au point des normes, des processus, des audits,...

Le seul indicateur de qualité devrait être le produit livré, confronté aux utilisateurs finaux. Pour tester la satisfaction de ses clients, Sun ne pose plus qu'une question : Seriez-vous prêt à recommander nos produits ?

Alors que faire ?

Il faut aider nos clients à utiliser les méthodes "agiles". Les bénéfices sont multiples :

Plus de big upfront design, donc des coûts réduits : Le projet classique (architecture technique, POC, socle technique personnalisé, développement) est remplacé par une architecture émergeante au fil de l'eau plus légère et plus flexible. Cela ne veut pas dire que l'on ignore les règles d'architecture ou d'urbanisation du client. Cela reste des exigences en entrée du système.

Plus de dépassement de budget incontrôlé : Si le budget maximal est atteint, on peut choisir :

D'arrêter les développements et d'utiliser le produit tel quel. Avec les méthodes agiles, on a un produit fini à chaque itération. Avec les méthodes classiques (même itératives), le projet est rarement utilisable en l'état.

De contrôler l'augmentation de budget car le produit est affiné à chaque itération sans risque de régression (grâce au test driven development). Pourquoi pas ne pas mettre le logiciel en production tout en repoussant l'ajout de fonctionnalités à l'année prochaine ? C'est d'ailleurs un peu ce que l'on fait en achetant un progiciel.

Les meilleurs développeurs travaillent pour vous : Les méthodes agiles attirent en effet les développeurs expérimentés ou en quête de nouvelles compétences. Grâce au pair programming ou au rythme des itérations, ils seront plus motivés, plus efficaces et le turn-over est réduit.

Voila pour un court article sur les bénéfices des méthodes agiles. Un dernier point en passant : L'itératif n'est pas forcément agile. Ne vous trompez pas, il manque beaucoup à UP pour devenir agile. Pour moi, les deux points importants sont le pilotage par les tests et le fait que l'on doit aider le client à décider le contenu des itérations lui-même. C'est donc bien le client qui tient les commandes ! (Pas juste le porte monnaie)

mardi 29 janvier 2008

Un nouveau type d'architecte: l'Architecte Agile

(Ce billet est une libre traduction de l'article posté par notre collègue Vikas Hazrati sur le site Agile Journal).

On observe ces derniers temps de multiples débats sur le fait de savoir si une équipe agile a besoin d'un architecte en son sein, et sur la valeur ajoutée de ce dernier sur un projet agile alors que l'architecture évolue à chaque itération.
Les architectes « Tour d'Ivoire » se révèlent petit à petit être le maillon faible des projets agiles. Les responsabilités des architectes traditionnels sont distribuées ci et là au sein des équipes agiles, leur supprimant au passage des tâches qui leur étaient auparavant attribuées.
Une nouveau genre est en train d'apparaître et de sortir du lot comme le prédit la théorie de l'évolution de Charles Darwin - question d'adaptation. Le rôle d'un Architecte Agile ne doit pas susciter de questions et tout membre d'une équipe agile vous le confirmera: ce sont des équipiers qui apportent l'une des plus grandes valeurs ajoutées.

Alors qui est cet Architecte Agile ? Comment savoir si l'architecte de votre équipe est un Architecte Agile ?

Lire la suite...

vendredi 25 janvier 2008

Pourquoi les méthodes agiles peinent-elles à pénétrer l’entreprise ?

La décision est prise, demain matin vous devez développer un logiciel pour votre entreprise. Un budget est disponible et un premier choix s’impose à vous : la méthode de travail.... Chronique à paraître dans 01 Informatique

Lire la suite...

jeudi 24 janvier 2008

Longue vie à ConcordiAgile

Notre Alliance en vue de promouvoir les méthodes agiles en France voit enfin le jour !!! et nous en sommes très heureux.

ConcordiAgile a pour ambition de fédérer toutes les bonnes volontés françaises en vue de faire de l'Agilité le nouveau paradigme de développement, porteur de qualité, de pragmatisme, de valeur métier et de bonnes relations IT/Business.

Longue vie à CondordiAgile !!!