Planning_agile[juin 2012]  Depuis une dizaine d’années, l’agilité est une valeur montante dans le secteur de la production de logiciel. De nombreuses SSII et de nombreux éditeurs de logiciels ont lancé des projets logiciels en mode agile quand le contexte technique ou contractuel était favorable à ces approches. D’autres entreprises ont, en revanche, préféré continuer à produire des logiciels en s’appuyant sur des méthodes industrielles classiques (méthode en V notamment) quand les méthodes agiles ne leur étaient pas indispensables ou que ces méthodes n’étaient pas adaptées à leur culture interne.

D’où la question : quels critères favorisent les développements agiles ?

On peut lister quatre contextes favorables à l’agilité dans le développement logiciel.

puce-dcc Premièrement, les développements logiciels concernent des IHM (interfaces homme – machine) pour lesquelles l’avis des futurs utilisateurs conditionne la probabilité d’adoption du produit ou du service par ces utilisateurs. Les goûts et les couleurs, d’une part, mais aussi l’ergonomie jouent un rôle clé dans l’acceptation d’une IHM par les utilisateurs. En impliquant les futurs utilisateurs, les méthodes agiles augmentent la probabilité de l’adoption en douceur d’une nouvelle application. A contrario, le développement d’une couche de protocole réseau ne se prête pas à une approche agile.
puce-dcc Deuxièmement, le projet peut être découpé en incréments de taille suffisamment flexible. Plus l’architecture du projet est « liquide » et plus on pourra jouer sur la planification des incréments fonctionnels en avançant ou en reculant les développements. A contrario, des blockbusters incontournables et insécables rendent plus difficile l’adoption d’une méthode agile. De ce point de vie, les approches objets et les approches SOA (Service Oriented Architecture) sont propices à l’agilité.
puce-dcc Troisièmement, le maître d’ouvrage (ou client ou utilisateur) ne sait pas exactement ce qu’il veut car il expérimente plusieurs voies. Dans ces cas où le prototypage fait partie de la démarche, les méthodes agiles permettent d’organiser le « bordel ambiant » (selon l’expression de Roland Moreno). A contrario, des spécifications taillées au cordeau jusqu’au moindre bit près ne se prêtent pas ou peu aux approches agiles.
puce-dcc Quatrièmement, le maître d’ouvrage et client accepte une souplesse contractuelle et juridique. Si le type de contrat entre le maître d’ouvrage et le maître d’oeuvre est l’assistance technique (achat d’un volume d’homme x jour au fil de l’eau), les approches agiles permettent d’avancer au rythme souhaité par le maître d’ouvrage. En revanche, si le contrat est de type « forfait » (travail avec engagement de résultat en contrepartie d’une enveloppe financière fixée à l’avance), une approche agile sera vraisemblablement inadaptée.

Il n’est sans doute pas nécessaire de bénéficier simultanément de ces quatre contextes pour réussir un projet agile. Mais il est clair que la réussite d’un projet agile est corrélative à la réunion de plusieurs de ces contextes.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2012-06-26