décembre
2013
ça fait un bon moment que je m’intéresse aux méthodes agiles, les gains qu’ils offrent et les contraintes qui leurs sont liés. Jour après jour, ma conviction est de plus en plus grande que c’est le mode le plus adaptée pour la réalisation d’un produit logiciel fini, de bonne qualité, qui répond au mieux aux attentes des utilisateurs. Bref, le développement agile demande beaucoup de flexibilité et d’adaptation au changement pour un objectif ultime qui est la construction d’un logiciel de qualité qui crée de la valeur ajoutée et soit un avantage concurrentiel pour le client. Je suis fasciné par cette manière de travail pourvue qu’elle soit bien appliquée avec les préconisations des vétérans. Dans les paragraphes qui suivent je vais essayer d’expliquer, de façon simple et succinte, le manifeste agile tel que je l’ai compris.
Le manifeste des méthodes agiles (agile manifesto) http://agilemanifesto.org/, signé par des chevronnés du monde de la programmation, définit le développement agile autour de quatre valeurs et douze principes. Un développement agile donne plus de valeur à :
- Les individus et les interactions humaines prime sur les outils et process : Dans un projet agile, les outils traditionnels de communication et process de recueil du besoin, formalisme, validation, etc… sont mis de côté pour céder la place aux interactions humaines.
- Un logiciel qui marche prime sur la documentation : Produire une solution qui marche, même si elle ne couvre pas la totalité des fonctionnalités dés la première itération, vaut mieux que de rester clouer aux itérations de la documentation pour arriver à une version exhaustive, complète et validée, qui servira de support aux développements.
- La relation et la collaboration avec le client prime sur la négociation du contrat : Le contrat doit être flexible et favorise la collaboration continue avec le client.
- La prise en compte des demandes de modifications prime sur le respect des plannings: Les plannings et les priorités peuvent être revues pour répondre aux demandes de modifications importantes au client.
Pour qu’un développement soit considéré agile, il doit respecter les principes ci-dessous:
- La priorité une est la satisfaction client. Livraison rapide et continue de logiciels de valeur.
- Accepter les modifications des exigences, même tard dans le développement. Un process agile fait du changement un avantage concurrentiel du client.
- Livrer, en continu, une solution qui marche, le plus rapidement possible, de deux semaines à deux mois.
- Les développeurs et les gens du métier doivent travailler, tous les jours, en étroite collaboration tout au long du projet.
- Choisir une équipe motivé, Préparer un bon environnement de travail et faites leur confiance.
- La méthode la plus efficace pour l’échange d’information dans une équipe de développement est le face à face.
- La première mesure d’avancement est un logiciel qui marche.
- Tous les intervenants, commanditaires, développeurs et utilisateurs, doivent être capable de maintenir un rythme constant indéfiniment.
- Un bon développement agile nécessite une excellence technique et une bonne conception.
- La simplicité est essentielle.
- Les meilleures architectures, exigences et conceptions émergent d’équipes auto-organisées .
- A intervalles réguliers, l’équipe mène une réflexion sur les points à améliorer, puis ajuste son comportement en conséquence.