Si vous êtes freelance informatique il y a fort à parier que avez déjà dû entendre parler de la méthode Agile qui permet de gérer et organiser ses projets.
Avec cette méthode, le client est au cœur de la gestion de projet. On se focalise ici plus sur le produit que le projet en lui même. Mais alors qu’est-ce que la méthode Agile et comment l’appliquer quand on est freelance ?
Nous répondons à toutes vos questions sur cette méthode alors soyez prêts à oublier le cahier des charges et devenir agile !
C’est quoi la méthode Agile ?
En réalité, on ne parle pas d’une méthode mais de plusieurs. Les méthodes Agiles sont des groupes de pratiques de pilotage et de réalisation de projets. Elles trouvent leur origine dans le Manifeste Agile qui a été rédigé en 2001 par dix-sept figures éminentes du développement logiciel. Elles emploient le terme d’« agile » pour référencer de multiples méthodes de gestion de projets.
Très différentes des méthodes de gestion de projets traditionnelles, elles permettent d’impliquer le plus possible le client dans le processus de création. Le placer au centre du projet permet d’être réactif sur toutes ses demandes.
Pour pouvoir être qualifiées de méthodes Agiles, les techniques et stratégies mises en place doivent respecter quatre valeurs fondamentales déclinées en douze principes. Cela crée une base commune aux méthodes Agile qui peuvent aussi se complémenter.
Les quatre valeurs fondamentales de la méthodologie découlent directement du manifeste agile :
- Placer les individus au centre du projet plutôt que de privilégier les outils et les processus
- Concevoir et utiliser des logiciels opérationnels plutôt que de s’appuyer sur une documentation exhaustive
- Toujours privilégier la collaboration avec le client plutôt que la négociation contractuelle
- S’adapter aux évolutions et changements du projet plutôt que de suivre un plan
De ces quatre valeurs découlent douze principes fondamentaux pour utiliser la méthode Agile :
- Satisfaire le client en livrant rapidement la mission
- Savoir pivoter en cours de projet en s’adaptant aux besoins du client. Les méthodes Agiles mettent en avant les changements apportés en cours de projet, les exploitent pour en tirer un avantage compétitif pour le client
- Livrer des versions opérationnelles de l’application du projet rapidement et fréquemment
- Coopération permanente entre les utilisateurs (le client) et les développeurs du projet
- Construire le projet avec des personnes motivées en apportant l’environnement adéquat pour atteindre l’objectif fixé
- Communiquer le plus possible en face à face pour ne pas perdre le dialogue
- Mesurer l’avancement du projet en matière de fonctionnalités de l’application
- Faire avancer le projet à un rythme soutenable et constant
- Apporter une attention continue à l’excellence technique et à une bonne conception pour renforcer l’Agilité
- Privilégier la simplicité en évitant la quantité de travail inutile
- Responsabiliser les équipes et les pousser à être autoorganisées
- Ajuster le comportement et les processus de l’équipe à intervalles réguliers pour qu’elle soit plus efficace
La méthodologie Agile se base sur le principe simple que planifier la totalité d’un projet dans les moindres détails avant de le développer est contre-productif.
Utiliser la méthode Agile quand on est freelance
L’approche Agile a fait évoluer la vision sur la gestion de projet en France. Comme on l’a vu, il s’agit ici de centrer le projet sur les besoins du client, grâce à un processus de feedback permanent entre ce dernier et le gestionnaire de projet.
Ces méthodes ont fait leurs preuves dans le monde informatique. Tout le monde, ou presque, a entendu parler ou a travaillé avec l’une de ces méthodes Agiles. Les méthodes pouvant être qualifiées d’Agiles, depuis la publication du manifeste, sont :
- Le développement rapide d’applications « Rapid Application Development » (RAD)
- La « Dynamic Systems Development Method » (DSDM)
- « Adaptive Software Development » (ASD)
- « Feature Driven Development » (FDD)
- eXtreme Programming (XP)
- Scrum
Cette liste n’est bien sûr pas exhaustive. Les deux dernières méthodes, Scrum et XP sont complémentaires techniquement parlant; dans le cas d’un projet de développement en science de l’information (SI), XP propose alors les techniques d’obtention de la qualité du code.
Les différentes méthodes Agile
Nous vous proposons de faire le focus sur quelques-unes de ces méthodes Agiles afin de vous montrer plus concrètement le fonctionnement.
Méthode scrum : définition
On attaque par un focus sur la méthode Agile la plus répandue et la plus utilisée : la méthode Scrum. Une de ses particularités est que cette méthode est simple à comprendre même si elle est difficile à maîtriser. Elle a été introduite la première fois dans les années 90 par Jeff Sutherland et Ken Scwaber.
Scrum est un framework de gestion de projet qui est utilisé pour implémenter la méthode Agile. L’équipe se concentre sur les retours clients en prenant en considération la transparence, l’adaptation et le contrôle.
Dans un projet Scrum, l’équipe est définie généralement selon trois rôles :
- Le Scrum Master qui mène le projet
- Le Product Owner qui se concentre sur les besoins clients et les livrables
- L’équipe de développement
Scrum pourra être utilisé dans le cadre d’une structure d’organisation de développement de produits complexes, amené à évoluer dans le processus de création en s’appuyant sur les retours clients et les contraintes temporelles.
Il est défini par ses créateurs comme un « cadre de travail holistique itératif qui se concentre sur les buts communs en livrant de manière productive et créative des produits de la plus grande valeur possible ».
Pour l’utiliser, il peut être utile d’avoir certains process et outils :
- Calendrier des versions
- Scrumboards
- Sprint Meetings
- Meetings rétrospectifs
Méthode RAD
Cette méthode Agile est orientée utilisateur. En effet, l’utilisateur final est sans cesse inclus dans chaque étape de développement du produit, ce qui permet de s’assurer que le produit correspond à un besoin existant. Selon son concepteur, James Martin, la méthode RAD repose sur 4 phases principales :
- L’équipe doit définir le périmètre et se mettre en accord sur les besoins
- Les utilisateurs sont sollicités afin d’élaborer les prototypes basés sur leurs besoins, traduits par la suite en modèles fonctionnels
- La phase de construction démarre avec la partie test et codage
- Implémentation du système en incluant des formations utilisateurs
Dans un projet RAD, les rôles sont généralement les suivants :
- Le RAD qui planifie et gère le projet
- Le spécialiste qui traduit les besoins utilisateurs
- L’utilisateur final
- Le scribe qui documente les sessions
- Les développeurs
Pour utiliser cette méthode Agile, il faut que les ressources nécessaires au projet soient identifiées dès le début. Cette méthode convient parfaitement pour les petits budgets quand les fonctionnalités peuvent être facilement modularisées et quand le temps de développement est limité.
Les seuls outils à utiliser pour appliquer cette méthode Agile seront les outils CASE.
Méthode Agile : avantages et inconvénients
Comme tout process, les méthodes Agiles ont de très gros avantages à être utilisées dans certains projets mais aussi certains inconvénients à prendre en considération avant de les adopter.
Avantages méthode Agile
L’avantage principal à utiliser la méthode Agile est la flexibilité qu’elle permet. Ici, le client est au centre, ce qui permet de s’adapter aux imprévus et aux besoins évolutifs du client. L’équipe projet peut réagir rapidement avec cette méthodologie.
L’autre atout important de la méthode est la communication présente à toutes les étapes. Notamment entre le client et les développeurs. Cela permet d’impliquer le client dans le projet en le rendant actif. La collaboration est forte entre tous les protagonistes. Ainsi, le client dispose d’une visibilité sur les étapes d’avancement du projet et il peut ainsi intervenir à tout moment, en fonction de ses besoins. L’équipe projet peut ainsi être réactive aux demandes du client.
Enfin, utiliser la méthode Agile permet aussi d’avoir un regard sur les dépenses. Vous maîtrisez mieux le budget vu que vous contrôlez les coûts à chaque étape. Cela donne une idée précise des fonds dépensés et à venir afin de prendre les bonnes décisions en terme d’avancée du projet.
Inconvénients méthode Agile
Ici, tout repose sur la communication des équipes et des acteurs au projet. Cette communication est essentiellement orale ce qui peut poser problème en cas de changement d’équipe. Il y a donc très peu de documentation.
Le client étant au cœur du process de la méthode Agile, il doit être actif et impliqué dans le projet. À défaut, si le client n’a pas le temps de s’intéresser aux différentes étapes de mise en route du projet, ce ne sera pas une méthode adaptée.
Avec un fonctionnement basé sur la collaboration, la méthode Agile n’est pas adaptée pour les entreprises avec une hiérarchie importante.
Basée sur la flexibilité pour répondre au mieux aux besoins du client, la méthode Agile rend difficile la vision sur la totalité d’un budget. Elle permet de contrôler les coûts au fur et à mesure de l’avancement du projet, mais pas sur sa totalité. Le client doit être prêt à y mettre le prix
Contrairement à la méthode traditionnelle de gestion de projet waterfall, utiliser la méthode Agile permet d’avoir une grande flexibilité et une meilleure visibilité dans la gestion du projet. Il est évident que de nos jours, cette méthode sur mesure est très appréciée, car elle permet de s’adapter à chaque cas particulier.
Vous travaillez avec une méthode Agile ? Partagez-nous votre expérience en commentaire.