Transcript
Page 1: Agilité et Logiciels libres même combat ?

www.agilegarden.fr

Agilité et Logiciel Libre même combat ? 

www.agilegarden.fr

Page 2: Agilité et Logiciels libres même combat ?

www.agilegarden.fr

Relevé préalable de la perception de l'audience sur les notions de Logiciel Libre et d'Agilité

Page 3: Agilité et Logiciels libres même combat ?

www.agilegarden.fr

Le développement logiciel

Page 4: Agilité et Logiciels libres même combat ?

www.agilegarden.fr

Constat : de nombreux échecs

24%

44%

32%

Succès

Livrés

Abandonnés

The chaos report 2009

Page 5: Agilité et Logiciels libres même combat ?

www.agilegarden.fr

Constat : des fonctionnalités inutilisées

45%

19%

16%

13%

7%

Toujours

Souvent

Parfois

Rarement

Jamais

Standish group study 2002

Page 6: Agilité et Logiciels libres même combat ?

www.agilegarden.fr

Constat : un produit inadapté

Page 7: Agilité et Logiciels libres même combat ?

www.agilegarden.fr

Le Manifeste Agile 17 experts se réunissent en 2001

L’interaction avec les personnes

plus que les processus et les outils.

Un produit opérationnel

plus qu'une documentation pléthorique.

La collaboration avec le client

plus que la négociation de contrat.

La réactivité face au changement

plus que le suivi d'un plan.

Page 8: Agilité et Logiciels libres même combat ?

www.agilegarden.fr

L'Agilité ne date pas d'hier

✔ Rapid Application Development (RAD), 1991

✔ Dynamic systems development method (DSDM), 1995

✔ Scrum, 1996

✔ Feature Driven Development (FDD), 1999

✔ eXtreme Programming (XP), 1999

✔ Crystal clear (2004)

✔ ...

Page 9: Agilité et Logiciels libres même combat ?

www.agilegarden.fr

Un objectif principalUN MAXIMUM DE VALEUR MÉTIER PRODUITE AU PLUS TÔT

✔ Prioriser et reprioriser le besoin

✔ Itérations courtes

✔ Évaluer le travail réalisé

✔ Collecter le feedback

✔ Faire complet et bien à chaque itération

Page 10: Agilité et Logiciels libres même combat ?

www.agilegarden.fr

Un changement fort de démarche projet

Du mode prédictif ...

… Au mode adaptatif

Page 11: Agilité et Logiciels libres même combat ?

www.agilegarden.fr

Une gestion de projet qui tient compte des intempéries

Page 12: Agilité et Logiciels libres même combat ?

www.agilegarden.fr

Avertissements préalables

✔ Il y a autant d'organisations de projet différentes que de projets libres. Cette présentation a donc extrait des tendances ou des exemples bien particuliers de développement de logiciels sous licence libre.

✔ Le parti est pris dans cette réflexion de traiter du développement de logiciels libres de type communautaire qui présente le plus d'intérêt au niveau organisationnel pour les personnes qui pratiquent les méthodes Agiles (comment faire travailler ensemble un grand nombre de personnes non présentes physiquement au même endroit ?).

Page 13: Agilité et Logiciels libres même combat ?

www.agilegarden.fr

Logiciel libre Liberté d'ÉtudierLiberté d'Utiliser

Liberté de Diffuser

Liberté d'Améliorer

Page 14: Agilité et Logiciels libres même combat ?

www.agilegarden.fr

Même combat ?OPPOSITION RADICALE

✔ Petites équipes colocalisées VS potentiellement d'énormes équipes éparpillées.

✔ Livraisons fréquentes de nouvelles fonctionnalités VS cas de Debian : livraisons environ tous les 2 ans.

Page 15: Agilité et Logiciels libres même combat ?

www.agilegarden.fr

Même combat ?PRINCIPES

✔ Notre plus haute priorité est de satisfaire le client en livrant rapidement et régulièrement des fonctionnalités à grande valeur ajoutée.

➔ On ne parle pas de « client » dans le monde du libre, mais la tendance est de livrer fréquemment et le système de nighty build est une pratique généralisée sur les projets libres.

Page 16: Agilité et Logiciels libres même combat ?

www.agilegarden.fr

Même combat ?PRINCIPES

✔ Accueillez positivement les changements de besoins, même tard dans le projet. Les processus Agiles exploitent le changement pour donner un avantage compétitif au client.

➔ Les changements importants ne sont pas forcément les bienvenus dans un projet Open Source, le processus de décision étant souvent compliqué. Mais le système de fork permet d'adapter le logiciel à un nouveau besoin.

Page 17: Agilité et Logiciels libres même combat ?

www.agilegarden.fr

Même combat ?PRINCIPES

✔ Livrez fréquemment un logiciel opérationnel avec des cycles fixes de quelques semaines à quelques mois et une préférence pour les plus courts.

➔ Nombre de projets Open Source délivrent du code opérationnel toutes les nuits. Une des devises de l'Open Source est « release early, release often ». Mais on travaille rarement en itérations fixes et elles sont souvent plus longues.

Page 18: Agilité et Logiciels libres même combat ?

www.agilegarden.fr

Même combat ?PRINCIPES

✔ Les utilisateurs ou leurs représentants et les développeurs doivent travailler ensemble quotidiennement tout au long du projet.

➔ L'effet tunnel est évité dans le monde Open Source par le feedback de milliers d'utilisateurs quotidiens.

Page 19: Agilité et Logiciels libres même combat ?

www.agilegarden.fr

Même combat ?PRINCIPES

✔ Réalisez les projets avec des personnes motivées. Fournissez-leur l’environnement et le soutien dont ils ont besoin et faites-leur confiance pour atteindre les objectifs fixés.

➔ Par définition, les contributeurs de l'Open Source sont motivés. Les projets Open Source sont très outillés (contrôle de version, frameworks performants, outils d'intégration, de contrôle de qualité, outils de communication et de documentation en ligne).

Page 20: Agilité et Logiciels libres même combat ?

www.agilegarden.fr

Même combat ?PRINCIPES

✔ La méthode la plus simple et la plus efficace pour transmettre de l’information à l'équipe de développement et à l’intérieur de celle-ci est le dialogue en face à face.

➔ Là, grosse différence, les communautés doivent faire avec ça, elles s'outillent pour tenter d'améliorer leur communication, mais c'est un point souvent difficile qui apporte de la complexité et qui décourage certains contributeurs.

Page 21: Agilité et Logiciels libres même combat ?

www.agilegarden.fr

Même combat ?PRINCIPES

✔ Un logiciel opérationnel est la principale mesure d’avancement.

➔ Ce principe colle parfaitement avec les projets libres. Pas de phase longue de spécification amont, les projets démarrent vite et la majeure partie du temps est dédiée au développement.

Page 22: Agilité et Logiciels libres même combat ?

www.agilegarden.fr

Même combat ?PRINCIPES

✔ Les processus Agiles encouragent un rythme de développement soutenable. Ensemble, les commanditaires, les développeurs et les utilisateurs devraient être capables de maintenir indéfiniment un rythme constant.

➔ En Open Source, le problème ne se pose pas, sauf pour les leaders de projets qui sont parfois submergés par la gestion de la communauté. Le principe de délégation des méthodes agiles peut les aider sur ce point.

✗ Retour des participants : certains développeurs également parviennent à saturation lorsque leur engagement (moral) devient difficile à tenir à l'approche d'une release.

Page 23: Agilité et Logiciels libres même combat ?

www.agilegarden.fr

Même combat ?PRINCIPES

✔ Une attention continue à l'excellence technique et à une bonne conception renforce l’Agilité.

➔ C'est une caractéristique forte des projets libres. Rendre son code visible de tous incite à la qualité

➔ Permettre sa modification par un grand nombre est une contrainte très exigeante techniquement et en terme de conception.

Page 24: Agilité et Logiciels libres même combat ?

www.agilegarden.fr

Même combat ?PRINCIPES

✔ La simplicité – c’est-à-dire l’art de minimiser la quantité de travail inutile – est essentielle.

➔ L'économie de temps est une contrainte beaucoup moins forte dans une communauté Open Source : ce sont les contributeurs qui décident le temps qu'ils vont attribuer au développement du logiciel. Mais le lead d'un projet Open Source priorise la roadmap en continu.

Page 25: Agilité et Logiciels libres même combat ?

www.agilegarden.fr

Même combat ?PRINCIPES

✔ Les meilleures architectures, spécifications et conceptions émergent d'équipes auto-organisées

➔ Ce n'est pas une évidence pour le monde Open Source, de par la variété des modes de gouvernance. Qu'en pensent les experts du libre ?

✗ Retours d'expérience des participants : dans le monde du libre, difficile de faire de la conception émergente au vu de la nécessité de faire converger les développements vers un tout cohérent. Les architectures modulaires parviennent quand même à une certaine liberté pour les développeurs en charge de chaque module.

Page 26: Agilité et Logiciels libres même combat ?

www.agilegarden.fr

Même combat ?PRINCIPES

✔ À intervalles réguliers, l'équipe réfléchit aux moyens de devenir plus efficace, puis règle et modifie son comportement en conséquence.

➔ On observe une remise en question permanente des modes d'organisation et de l'ingénierie des projets Open Source, qui apportent bien souvent des solutions innovantes aux problèmes du développement logiciel. Mais l'amélioration continue n'est pas organisée.

Page 27: Agilité et Logiciels libres même combat ?

www.agilegarden.fr

Même combat ?DES PRATIQUES D'INGÉNIERIE LOGICIELLE COMMUNES

eXtreme Programming

✔ Test Driven Development (Spring Framework, SQLite, JUnit, FitNesse).

✔ Binômage.

✔ Revue de code croisée.

✔ Refactoring fréquent.

✔ Appropriation collective du code.

Page 28: Agilité et Logiciels libres même combat ?

www.agilegarden.fr

Même combat ?L'ESPRIT COMMUNAUTAIRE

✔ Une forte esprit de partage et diffusion de la connaissance

➔ Des centaines de blogs et de groupes autour des méthodes agiles.

➔ Des communautés agiles locales très actives.

www.agilenantes.org


Top Related