Nox experts mondiaux sont prêts à aider votre entreprise.
Communiquez avec votre représentant local dès aujourd'hui.
Jusqu’à tout récemment, la méthodologie de développement et de déploiement en cascade s’est imposée comme stratégie au sein de la plupart des entreprises. Les entreprises ont migré vers le monde d’Agile, là où divers concepts servent d’appui et où les processus de développement sont abordés de manière totalement différente. Les idéologies de développement Agile s’avèrent meilleures pour faire face aux objectifs en changements rapides, pour raccourcir le temps d’accès au marché pour les applications d’affaires, les services et les autres types d’offres destinées aux clients (internes et externes). Les idées derrière Agile couvrent bien au-delà du développement de base des applications et peuvent bénéficier à de nombreux projets en améliorant le processus de réalisation des livrables et en assurant la rétention de l’accroissement de productivité.
Agile a été créé en février 2001 alors que 17 développeurs de logiciels se réunissaient dans l’Utah pour discuter de méthodes de développement.1 Ces développeurs se trouvaient enlisés dans des processus de développement de logiciels s’appuyant sur la documentation et sur les silos créés par ces méthodes. Ils voulaient encourager la collaboration et le partage d’idées. Le résultat de cette réunion a été le Manifeste Agile.
Nous découvrons comment mieux développer des logiciels par la pratique et en aidant les autres à le faire. Ces expériences nous ont amenés à valoriser :
Nous reconnaissons la valeur des seconds éléments, mais privilégions les premiers.2 Pour préciser davantage le Manifeste :
En l’absence de processus définis, de méthodologies et d’étapes, Agile devint difficile à mettre en oeuvre. C’est ce qui mena à la création de méthodes plus spécifiques au sein du mouvement Agile. La méthodologie de la mêlée de presse (Scrum) est celle le plus fréquemment adoptée et utilisée pour la mise en oeuvre du développement de projets Agile. La mêlée met l’accent sur la collaboration, le logiciel opérationnel, l’autogestion d’équipe, ainsi que sur la flexibilité d’adaptation aux réalités émergentes de l’entreprise.4 Dans un tel cadre de gestion visant le développement progressif du produit, les équipes de mêlée créent des incréments de produit au cours d’itérations de durée limitée, appelées Sprints, d’une durée typique d’une à deux semaines.5 Ces incréments et ces itérations permettent aux rétroactions de s’incorporer plus rapidement qu’elles ne pourraient le faire dans le cadre d’un développement en cascade.
Il existe plusieurs méthodologies Agile différentes, y compris : Scrum, XP, Kanban, Crystal et quelques autres, Scrum étant la plus utilisée sur le marché.3
Le modèle de développement en cascade fait appel à une approche qui s’appuie sur une séquence définie de réalisations pour en arriver à un point déterminé. Comme son nom l’indique, un cycle de vie de développement de produit évolue de façon constante vers l’achèvement, tout comme l’eau qui coule dans une cascade.
The waterfall development method has its roots in industries, ranging from construction to assembly lines, in which sequential processes are the key to success. Waterfall methodologies also took hold in the early days of programming, where changes during development projects were costly or impractical. Applying a waterfall methodology to a programming project meant that all the requirements gathering and design work was done before any coding took place.
La méthode de développement en cascade a ses racines dans des entreprises qui vont de celles de la construction jusqu’à celles des lignes d’assemblage, là où les processus séquentiels sont la clé de la réussite. Les méthodologies du développement en cascade ont aussi marqué les débuts de l’ère de la programmation, alors que les changements en cours de développement de projets étaient coûteux, voire impossibles. Bien que l’idéologie derrière le développement en cascade ne soit pas très âgée, elle a été d’abord décrite dans le domaine du développement logiciel par Winston Walker Royce qui a rédigé un article en 1970 expliquant la méthodologie appliquée aux projets de développement de logiciels. Le développement en cascade a été la méthodologie prédominante des projets de développement de logiciels depuis son introduction et dans la plupart des cas, respecte les sept étapes des processus décrits dans la publication de Royce en 1970.
La méthodologie de développement d’Agile évite une approche linéaire basée sur les séquences, et fait plutôt appel à une approche incrémentielle itérative. Les projets basés sur Agile ne débutent pas par une planification et une conception exhaustives ; ce qui veut dire que les demandes de changement peuvent être incorporées au processus de développement.
Les équipes interfonctionnelles deviennent une pièce importante du casse-tête que constitue la méthode Agile. Elles accueillent des planificateurs, des concepteurs, des développeurs et des testeurs qui travaillent de concert à la création d’itérations réussies du produit. Ces itérations s’achèvent au cours de périodes fixes (auxquelles on réfère comme blocs temporels) dont l’objectif est la création d’un produit fonctionnel, qu’on peut montrer aux parties prenantes dans le but d’obtenir leur rétroaction, leurs commentaires et leurs demandes de changements à inclure aux itérations futures.
Pour comparer les différences entre les méthodologies du développement en cascade et celles d’Agile, il est très important de savoir comment leurs caractéristiques peuvent être interprétées selon le point de vue de la personne. Par exemple, un développeur de logiciel pourrait percevoir l’idée de flexibilité et de réduction des tests comme un point avantageux, alors qu’un gestionnaire de projet pourrait considérer ces deux éléments comme désavantageux.
Les points le plus souvent contraignants des méthodologies de développement en cascade sont : les longs délais pour les publications, l’impossibilité de faire des changements au cours du processus de développement, et devoir recommencer complètement le processus de développement en raison de changements des besoins. Heureusement, ces inconvénients peuvent être éliminés avec les méthodologies Agile.
Les méthodes Agile offrent davantage de flexibilité que les projets qui misent sur le développement en cascade. Agile implique aussi la présence du client, permettant que les demandes de ce dernier puissent être mises en oeuvre sur-le-champ, ainsi que la réalisation d’un logiciel qui s’adapte selon le besoin et qui peut être modifié à chaque itération dans le but de faire face à de nouveaux défis. Par exemple, si une entreprise qui fait appel aux méthodologies de développement en cascade est en cours de développement d’un logiciel avec un arrière-plan vert, et si elle décide qu’un arrière-plan bleu conviendrait mieux, un délai important s’impose alors. En faisant appel à la méthodologie Agile, il s’agirait cependant d’une modification mineure s’intégrant harmonieusement au processus de développement.
La méthodologie Agile offre plusieurs avantages perceptibles, ce qui en accroît l’adoption comme pratique de développement. Parmi ces avantages, on retrouve :
Un sondage en ligne effectué par HP auprès de 601 professionnels des TI et du développement montre que 51 % des répondants favorisent Agile, alors qu’un autre 16 % d’entre eux font déjà appel à Agile comme unique méthode de développement. Seulement 2 % des personnes sondées utilisaient exclusivement le développement en cascade, alors que seulement 7 % d’entre elles favorisaient ce dernier.7 C’est là une indication claire de l’implantation d’Agile comme nouvelle normalité.
L’adoption d’une idéologie Agile ne se résume pas à déclarer que ses équipes en sont adeptes. Les gestionnaires et les décideurs doivent comprendre les constituants de l’idéologie Agile, particulièrement lorsque l’idéologie cible est la mêlée – le Scrum. L’une des embûches principales dès lors que les entreprises optent pour Agile est le changement de culture. Bien que la présence d’un évangéliste Agile constitue une première étape efficace, l’imprégnation de la culture exige plusieurs réorientations majeures.
Carnet de produit : Un document actif qui contient les caractéristiques recherchées pour un produit, de même que les bogues, les travaux techniques et les connaissances acquises. Le carnet de produit est géré par le propriétaire du produit et est continuellement mis à jour et priorisé.
Sprint : L’équipe des développeurs travaille selon des sprints, une classification utilisée pour décrire l’ensemble des tâches d’une itération. Au début du sprint, les développeurs et le propriétaire du produit conviennent des items contenus au carnet de produit qu’ils achèveront durant le sprint. Le sous-ensemble d’items du carnet de produit devient le carnet du sprint. Au cours du sprint, le propriétaire du produit n’est pas autorisé à changer les items dans le carnet du sprint.
Mêlée quotidienne : Au cours d’un sprint, l’équipe de développeurs se réunit pour coordonner le travail du carnet du sprint lié aux items devant être achevés. Idéalement, l’équipe discutera à savoir qui travaille sur quoi et si quelque problème de contrainte a été découvert. Simplicité et courte durée des réunions sont la norme, les rencontres sont centrées sur ce que quelqu’un a accompli depuis la dernière réunion, ce qui est prévu pour aujourd’hui et s’il existe quelque entrave. L’idée consiste à partager la connaissance directement liée au projet.
Récits utilisateur et tâches : L’on réfère aux items du carnet de produit ou du carnet du sprint comme récits de l’utilisateur. Les récits utilisateur sont créés par le propriétaire du produit et représentent les besoins particuliers de l’entreprise. Les récits utilisateur sont souvent morcelés en tâches distinctes afin que leur degré de réalisation puisse être mesuré. Sans définitions des tâches, les récits utilisateur deviennent d’interminables histoires du simple fait qu’elles ne comportent aucun jalon mesurable d’exécution. Les récits utilisateur sont la propriété du propriétaire du produit et tous concernent les valeurs de l’entreprise, alors que les tâches relèvent de l’équipe des développeurs et toutes concernent la mise en oeuvre des détails. Un récit utilisateur peut exiger plusieurs jours ou semaines à rédiger, alors qu’une tâche est quelque chose qu’un développeur peut réaliser en moins d’une journée.
Graphique d’avancement : Dans la mêlée, le graphique d’avancement sert à représenter le travail qui reste à réaliser pour un projet. Un graphique d’avancement de publication s’effectue à partir du calcul du nombre restant de points de récits utilisateur non réalisés chaque jour, alors que le graphique d’avancement du sprint sert à préciser le travail restant pour un sprint particulier.
Dans son milieu de travail, l’entreprise de soins de santé a mis en oeuvre les méthodologies Agile pour créer un nouveau portail. HealthFitness perdait des clients actifs et des clients potentiels en raison d’un outil désuet de son portail. Sa technologie se devait d’être rapidement mise à niveau en plus d’avoir la possibilité de l’optimiser constamment au besoin. En 2012, l’entreprise a réuni des équipes de mêlée dans le but de développer un nouveau portail. Le portail est maintenant lancé et, à la fin de l’année 2015, retenait 50 des clients de l’entreprise.9
Le service de musique en diffusion continue a fait appel à la méthodologie Agile pour mettre à niveau ses équipes de développement. Dès son lancement, Spotify a adopté Agile. L’entreprise en est revenue à l’esprit de flexibilité et d’expérimentation à la source d’Agile et a créé sa propre méthodologie Agile pour combler les besoins de son imposante équipe de développement. Les équipes de Spotify s’appellent des « escadrons » et chacun jouit de l’autonomie nécessaire pour assumer ses responsabilités, du début à la fin, de la conception jusqu’au déploiement et aux améliorations continues.10 L’entreprise a étendu la méthodologie Agile aux 30 équipes de ses installations partout au monde, lesquelles assurent le soutien à 75 millions d’usagers et pour 1,5 milliard de « playlists » dans 58 marchés.11
L’entreprise d’information en technologies de la santé a migré vers les technologies Agile dans le but d’accélérer l’accès au marché. Il a fallu typiquement 30 mois aux équipes de développement de Cerner pour introduire les innovations de produit. Dans le domaine de la réforme rapide des soins de santé, l’entreprise a pris conscience du besoin d’améliorer la rapidité d’accès au marché pour demeurer concurrentielle. La transition vers Agile a résulté en une réduction de 75 % du temps d’accès au marché, en une augmentation de 24 % de la productivité, en une diminution des frais de développement de 14 %, et en une réduction de 50 % des temps alloués à la résolution des défauts critiques.12
Après presque une décennie de mauvaise gestion et de pertes au sein du FBI, son dirigeant principal de la technologie (DPT) a transformé en projet Agile la mise en oeuvre de la gestion de cas discréditée de l’agence.13 Lorsqu’est survenue la tragédie du 9/11 aux États Unis, le seul moyen sécuritaire pour le FBI de transmettre des photos des pirates de l’air était le télécopieur et l’envoi rapide de disques CD ROM. Le besoin de la numérisation s’est douloureusement imposé comme évident, uniquement pour le bureau, mais non pas pour l’ensemble de la nation. Il en est résulté que le projet de dossier de cas virtuel (VCF – Virtual Case File) était lancé en 2000 dans le but de faire entrer le bureau dans une nouvelle ère de gestion de cas. Après avoir pataugé péniblement pendant cinq ans et après des coûts de presque 170 millions de dollars pour le gouvernement, le projet était mis à la poubelle pour des raisons d’inefficacité. Parmi les raisons avancées pour justifier l’échec du projet, on citait la piètre architecture technique, des changements répétés aux spécifications, et la microgestion.14
En 2006, le FBI ravivait ses efforts avec le projet Sentinel qui faisait appel à la méthodologie de développement en cascade pour la gestion du projet. En 2010, on n’avait achevé que deux des phases du projet à quatre phases et dépensé 405 millions de dollars du budget prévu de 451 millions de dollars. Le DPT a fait migrer le style de gestion de projet du modèle de développement en cascade vers Agile, après avoir été breffé sur la performance du projet en 2010. Après la transition, le projet était achevé dans les 12 mois pour un déboursé de 30 millions de dollars – des économies de plus de 90 %.15
Il est temps d’amorcer votre transition vers la prochaine étape de mise en oeuvre d’Agile. Chez Modis, nous vous aidons à établir les contacts exceptionnels pour dénicher les talents versés en méthodologies Agile dont vous avez besoin. Pour obtenir plus d’information au sujet d’Agile, ou pour trouver le talent technologique par excellence pour votre entreprise, communiquez avec le représentant Modis de votre localité dès aujourd’hui.