Actu
En quoi un designer UX/UI peut-il transformer vos projets ?
Découvrez comment un designer UX/UI peut améliorer vos projets, augmenter vos conversions et vous aider à rester compétitif sur le marché.
Projets au Forfait : Garantir leur succès
Découvrez les clés pour réussir un projet informatique au forfait : Avec InfoGones et InfoSquad, bénéficiez d’une méthodologie efficace pour garantir la réussite de vos projets, tout en respectant vos délais et budgets.
Des projets Agile, vraiment !
Adoptez l’approche Agile pour transformer vos projets de développement logiciel : Clarifiez vos objectifs, évitez l’effet tunnel, et réussissez grâce à des cycles courts et collaboratifs. Découvrez comment un backlog produit garantit un logiciel fonctionnel, respectant vos priorités et budget.
Les 6 avantages de développer votre application sur-mesure avec une agence dédiée
Découvrez les avantages essentiels de développer votre application sur-mesure et comment cela peut transformer votre entreprise en optimisant vos processus
Découvrez "Wingular” : l'innovation signée InfoGones pour des applications web irrésistibles
Découvrez comment WinGular transforme vos applis en offrant robustesse et design optimal
C'est quoi le métier d'AMOA ? Assistant à Maitrise d'Ouvrage
Découvrez pourquoi le métier d'AMOA est une carrière riche en opportunités et plongez dans un univers où interaction et gestion de projet se combinent pour offrir une expérience professionnelle unique et enrichissante
Des projets Agile, vraiment !
Quand il s’agit de lancer un projet de développement logiciel, se pose la question de la méthode à utiliser pour réussir. Il n’y a pas de formule magique et l’alchimie nécessaire pour réussir un projet va dépendre de nombreux facteurs.
La clarification des objectifs : une étape essentielle
Avant de parler de méthode de travail et de communication, la réussite d’un projet passe d’abord par la clarification des objectifs que l’on veut atteindre. Cela ne signifie pas forcément une liste exhaustive de toutes les exigences fonctionnelles attendues mais plutôt des critères permettant de savoir où l’on souhaite aller afin de pouvoir prendre les bonnes décisions tout au long du projet. Cette étape préalable peut nécessiter l’accompagnement d’un Assistant à Maitrise d’Ouvrage (cf. article) afin d’établir une vision claire pour le projet et une structuration macroscopique des attentes fonctionnelles et techniques.
Quand le périmètre est défini : l’approche du cahier des charges
Ensuite plusieurs chemins sont possibles… Si le périmètre du projet est bien défini et que l’on a la capacité de décrire précisément ce qui est attendu, il est possible de réaliser un cahier des charges. Celui décrira l’ensemble des exigences fonctionnelles et techniques attendues en laissant le moins d’espace possible à l’interprétation. Chaque porteur de projet doit alors se rappeler que ce qui est évident pour lui ne l’est pas pour une équipe de développement logiciel. Ce travail est donc possible mais particulièrement fastidieux car il doit procéder à l’interview de toutes les parties prenantes pour comprendre et anticiper leurs attentes sur le logiciel, puis réaliser la description détaillée des spécifications correspondantes.
Les avantages et limites d’un cahier des charges exhaustif
Cette approche reste tout à fait viable si l’on arrive à produire des spécifications fonctionnelles et techniques exhaustives et représentatives de ce qu’attend le porteur de projet mais également compréhensibles sans ambiguïté par l‘équipe de développement. On aura dans ce cas, le sentiment de maîtriser depuis le début, le projet qui va être mis en œuvre et, de disposer d’un référentiel fiable pour mener les tests et valider les développements réalisés.
Cette approche présente néanmoins plusieurs risques qui, avec l’expérience, se réalisent régulièrement. Les spécifications ayant été figées au début du projet, comment intégrer les souhaits de modification qui ne manquent pas d’apparaître au cours du projet ? Se pose alors la question de savoir si ces modifications doivent être prises en compte ? Est-ce que cela entraîne des modifications sur le budget prévu ? Quand cela n’entraîne pas des discussions interminables sur la responsabilité entre le rédacteur qui aurait « mal rédigé » ou l’équipe de développement qui aurait « mal interprété ». Bref, du temps perdu à gérer les fautes de chacun et la dimension contractuelle plutôt que de se concentrer sur la valeur ajoutée du projet.
L’effet tunnel : un autre piège des spécifications figées
L’autre écueil possible lié à la disponibilité de la globalité des spécifications détaillées est le risque « d’effet tunnel ». En effet, avoir produit en amont du projet un référentiel détaillé n’incite pas forcément le porteur du projet à s’impliquer fortement auprès de l’équipe en charge du développement logiciel, en partant du principe que cette dernière dispose déjà du détail de ce qui est à faire.
Comment éviter les déconvenues ? L’approche Agile comme solution
Comment faire pour éviter ces déconvenues, surtout si le périmètre du projet n’est pas totalement défini au démarrage ? L’approche Agile s’avère alors une solution intéressante à la fois pour le porteur du projet et l’équipe de développement. Le concept est principalement basé sur un renforcement de la communication entre le porteur du projet et l’équipe de développement logiciel, en privilégiant les échanges réguliers plutôt que la documentation qui peut s’avérer imprécise ou obsolète.
Des cycles Agile structurés et collaboratifs
L’Agilité dans les projets ne veut pas dire aucune règle et une adaptation permanente dans un système qui serait totalement ouvert. Bien au contraire, cette approche est basée sur un ensemble de règles, de réunions et de référentiels qui sont bien établis. L’approche Agile repose en premier lieu sur des cycles de développement qui visent à s’éloigner de « l’effet tunnel ». Ces cycles peuvent être de l’ordre de la semaine dans des équipes intégrées ou plus généralement de l’ordre du mois dans le cadre d’une prestation de développement logiciel. Ces cycles visent à développer une liste réduite d’exigences fonctionnelles telles qu’attendues par le futur utilisateur.
Le backlog produit : le cœur du pilotage Agile
La liste de ces exigences est établie en début de projet de manière macroscopique. Ce référentiel qui va suivre l’ensemble du projet s’appelle le « backlog produit ». Il n’a pas besoin d’être entièrement détaillé et pourra être mis à jour par le porteur du projet quand il le souhaite. Le porteur de projet devra néanmoins définir dans ce backlog les priorités à mettre en œuvre. C’est sur la base de ce « backlog produit » que sont lancés les cycles de développement en privilégiant à chaque cycle, les priorités définies par le porteur du projet.
Une validation à chaque cycle pour un logiciel fonctionnel
Chaque cycle établira donc son propre « backlog » issu du « backlog produit » et c’est sur cette base qu’à chaque début de cycle, le porteur de projet explicitera en détail ce qui doit être développé. Il n’y a donc pas de nécessité de décrire tout le projet en amont mais la possibilité de répartir ce travail tout au long du projet en tenant compte des priorités et des demandes de modifications éventuelles. À la fin de chaque cycle de développement, le porteur du projet pourra valider la bonne réalisation de ce qui était prévu. De plus, un des principes de l’approche Agile est de livrer à chaque fin de cycle un logiciel, certes incomplet, mais qui fonctionne. À chaque fin de cycle, c’est donc l’assurance pour le porteur de projet d’avoir quelque chose à montrer et qui fonctionne.
Une maîtrise budgétaire renforcée grâce à l’Agilité
La succession des cycles de développement permet donc de développer le logiciel attendu de manière itérative avec une implication renforcée entre le porteur de projet et l’équipe de développement. C’est un facteur de succès important. Comment alors maîtriser le budget d’un projet qui est mené avec une approche Agile ? En effet, la succession de cycles de développement peut apparaître comme indéterminée, voire infinie ! Ce n’est pas le cas et l’approche Agile permet même d’envisager une dimension forfaitaire dans le cadre d’une prestation de développement logiciel.
Un budget forfaitaire et des priorités maîtrisées
Cela nécessite au préalable de définir un nombre de cycles de développement cohérents par rapport à la vision du projet. Une fois ce nombre de cycles défini, correspondant également à un budget défini, le porteur du projet et l’équipe de développement auront la responsabilité de s’assurer qu’ils embarquent dans chaque cycle de développement, les attentes par ordre de priorité. Ainsi, à la fin du nombre de cycles prévus forfaitairement, le porteur du projet aura la certitude d’avoir un logiciel qui fonctionne et qui contient les fonctionnalités attendues par ordre d’importance. Bien sûr, certaines fonctionnalités mineures peuvent manquer à l’issue du projet mais n’est-il pas sécurisant pour le porteur de projet de savoir que son budget a été respecté, qu’il dispose d’un logiciel qui fonctionne et qui comprend les principales fonctionnalités attendues.