agilité et logiciels libres même combat ?

Post on 29-Nov-2014

1.055 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Une réflexion pour identifier les ponts entre ces deux univers à priori bien distincts.

TRANSCRIPT

www.agilegarden.fr

Agilité et Logiciel Libre même combat ? 

www.agilegarden.fr

www.agilegarden.fr

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

www.agilegarden.fr

Le développement logiciel

www.agilegarden.fr

Constat : de nombreux échecs

24%

44%

32%

Succès

Livrés

Abandonnés

The chaos report 2009

www.agilegarden.fr

Constat : des fonctionnalités inutilisées

45%

19%

16%

13%

7%

Toujours

Souvent

Parfois

Rarement

Jamais

Standish group study 2002

www.agilegarden.fr

Constat : un produit inadapté

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.

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)

✔ ...

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

www.agilegarden.fr

Un changement fort de démarche projet

Du mode prédictif ...

… Au mode adaptatif

www.agilegarden.fr

Une gestion de projet qui tient compte des intempéries

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

www.agilegarden.fr

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

Liberté de Diffuser

Liberté d'Améliorer

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.

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.

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.

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.

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.

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

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.

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.

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.

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.

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.

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.

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.

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.

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