5 conseils pour réduire les maux de tête liés à l’outil de planification

Les outils de planification vous aident et cependant, comme toute autre technologie, ils peuvent vous être défavorables. Déjouez ces principaux pièges !

5 Tips to Reduce Scheduling Tool Headaches

http://www.bonniebiafore.com/5-tips-to-reduce-scheduling-tool-headaches/ par Bonnie Biafore

Comme un couteau tranchant pour un chef, un outil de planification est un élément indispensable pour un manager de projet.

Les outils de planification, comme toute technologie, peuvent aider ou blesser.

Voici cinq conseils pour utiliser votre outil de planification de projet avec moins de drama.

#1 – Utilisez un modèle ou réutilisez un plan réussi

Bien que les projets soient uniques, ils sont rarement totalement différents des projets antérieurs. Utilisez un modèle de projet ou copiez et modifiez un échéancier d’un projet passé qui a bien fonctionné. Vous pouvez gagner du temps, tirer parti du succès de ces échéanciers et capturer des tâches que vous pourriez autrement négliger.

#2 – Gardez simples les relations entre les tâches

La relation directe entre taches de type finish-to-start fonctionne la plupart du temps et c’est la plus facile à comprendre pour les gens.

Utilisez cette relation simple à moins qu’il n’y ait une raison pressante pour le start-to-start ou finish-to-finish.

#3 – Personnalisez le calendrier et les heures/jours par défaut

Les paramètres de calendrier que vous utilisez doivent correspondre aux horaires de travail de votre organisation et des membres de votre équipe, sinon votre échéancier ne sera pas exact. N’oubliez pas d’ajouter les jours fériés et autres jours non travaillés comme les périodes de maintenance des locaux à votre calendrier de projet. De plus, envisagez d’ajuster les heures par défaut par journée ou autres paramètres du calendrier pour tenir compte du temps de travail réel du projet. Bien qu’une journée de travail de 8 heures soit courante, les membres de l’équipe travaillent rarement 8 heures sur vos tâches de projet. Des réunions d’équipe, d’autres travaux de projet et opérationnels sont souvent nécessaires. Vous pouvez changer le nombre d’heures par journée travaillée à 6 ou même moins en fonction de votre environnement. Ou vous pouvez affecter des personnes à temps partiel sur leurs tâches. Parlez aux membres de votre équipe de ce qui est réaliste.

#4 – Simplifiez les affectations de ressources

La gestion et la modification des affectations de ressources sont d’énormes sources de problèmes de planification. Une pratique exemplaire consiste à répartir le travail du projet afin que les tâches soient plus courtes que vos périodes de reporting et ont seulement une ou deux ressources affectées. Avec de telles tâches, il est beaucoup plus facile de créer des affectations de ressources et de les modifier une fois le travail commencé.

#5 – Formez les gens à utiliser l’outil de planification

faire monter en puissance, développerLes outils de planification vous aident à produire des rapports faciles à comprendre. Parfois, les gens croient qu’ils peuvent modifier vos plannings ou produire des rapports de projet sans aucune formation. C’est une recette pour des rapports inexacts, des problèmes de management des attentes et une migraine pour le chef de projet ! Assurez-vous que toutes les personnes qui utiliseront l’outil de planification pour tenir à jour l’échéancier et produire des rapports soient correctement formées.

Visitez le site de notre partenaire Virage Group

J’ai le plaisir d’accueillir un nouveau partenaire du blog DantotsuPM : VIRAGE Group !

Virage Group est un éditeur de logiciels qui accompagne les managers dans l’exécution de leurs stratégies.

2 solutions sont proposées :

  • Logiciel de gestion de portefeuille projets (Project Monitor)
  • Logiciel de pilotage de plans d’actions (Perf Monitor).

Prenez le contrôle de votre portefeuille projets au sein d’un seul outil

Virage Group est partenaire de notre catégorie de billets PMO & Portfolio.

Découvrez Project Monitor, logiciel de Gestion de Portefeuilles Projets, adapté aux structures de plus de 50 collaborateurs et gérant +100 projets actifs. Facilitez la conduite de vos projets avec un outil tout-en-un : tableaux de bord multi-projets, plan de charge, planning, tâches, collecte et suivi des demandes informatiques, et suivi budgétaire.

Un outil de gestion de portefeuille projets adapté pour :

  • DSI : Pilotez l’ensemble de votre activité & vos projets IT
  • PMO : Dotez-vous d’un quartier général pour vos projets
  • Direction générale : Une vision complète sur vos projets stratégiques
Visitez le site de notre partenaire Virage Group

Comment savoir si vous avez besoin d’un logiciel de gestion de portefeuille projets (PPM) ?

Téléchargez gratuitement ce guide

Estimez votre retour sur investissement pour l’acquisition d’un outil de gestion de portefeuille projets.

Retrouvez dans ce guide :

  • Une fiche pratique des enjeux en gestion de portefeuille projets et les bénéfices d’une solution PPM associés
  • Les clés de dimensionnement de l’investissement et le déploiement à prévoir pour que les gains soient au rendez-vous
  • Exclusif : Les bénéfices obtenus avec la mise en place d’un logiciel PPM via des retours clients : Chronopost, Intermarché, Haute Savoie, Wurth.
Téléchargez ce guide sur le site de notre partenaire Virage Group

Le rôle et les compétences d’un testeur dans une équipe agile par Fidaa Berrjeb

Voici le troisième billet de Fidaa pour préciser le rôle du testeur dans les projets Agiles.

Les 2 premiers billets Fidaa Berrjeb que vous souhaiterez peut-être relire :
  1. Fidaa Berrjeb est Agile QA analyst certifiée ISTQB et Scrum Master.

    « La bonne compréhension et l’utilisation des valeurs du manifeste agile et du manifeste du test vous garantit être un bon testeur agile »

  2. Si on vous demandait d’écrire un scénario de test, sauriez-vous quoi faire ?

Contrairement aux méthodes de gestion de projet traditionnelles, le rôle de testeur dans les projets Agiles dépasse être  simplement un exécuteur. Il comprend des activités qui génèrent et fournissent des retours (feedback) non seulement sur l’état du test, la progression du test et la qualité du produit, mais également sur la qualité du processus en collaborant de façon rapprochée avec toute l’équipe et ses parties prenantes.

En plus de compétences techniques reconnues (les tests d’acceptation, boîte blanche, boîte noire, les automatisations de test …), un testeur agile doit avoir de bonnes compétences interpersonnelles.

CSP est partenaire de DantotsuPM, visitez leur site pour découvrir leurs offres de formation.

Ayez une attitude constructive et une approche communicative

Une grande partie des problèmes se résument  à un manque de communication. En tant que testeur, impliqué du concept au produit final, il est important de communiquer de manière ouverte et honnête. Il est également important de considérer la façon dont nous disons les choses. Il est préférable de dire  « Je ne pense pas que cela fonctionne comme il se doit, il manque la fonctionnalité X » au lieu de « Cela ne fonctionne pas ».

Une discussion en face à face est souvent plus efficace.

En outre, il est important de déterminer quand utiliser des outils digitaux pour communiquer ou quand une bonne conversation en face à face est nécessaire.

Coachez les autres membres de l’équipe sur les aspects pertinents du test .

En partageant les connaissances de test avec l’équipe, vous leur montrez que, non seulement vous êtes un apprenant passionné, mais vous voulez les aider à apprendre et à améliorer le travail de l’équipe.

L’objectif d’un testeur n’est pas de trouver plus de bugs mais de construire un produit de valeur et de qualité.

Collaborez avec les développeurs,  le Product Owner et  les stakeholders  pour clarifier les exigences, spécialement en termes de testabilité, consistance et complétude.

Le travail d’équipe rend les choses meilleures. Pour les testeurs de logiciels, travailler seul peut devenir la situation par défaut même si vous faites partie d’une équipe. N’oubliez pas que vous n’êtes jamais seul sur un projet.

Les testeurs doivent être impliqués dans les sessions de Pré-planification et de  user stories  grooming (analyse détaillée des besoins des utilisateurs) en ajoutant de la valeur lors de la :

  • Définition des user stories et des critères d’acceptation
  • Participation aux analyses de risques et de qualité de projet
  • Création de tests d’acceptation pour les user stories

Participez pro-activement aux rétrospectives d’équipe, suggérez et implémentez des améliorations .

Soyez impliqué, proactif, coopératif et soyez le membre de l’équipe avec qui vous aimeriez travailler. Soyez un modèle de bon membre d’équipe et, espérons-le, les membres de votre équipe le reconnaîtront et travailleront ensemble, avec vous, pour développer des pratiques de travail d’équipe.

Les testeurs Agile doivent ajouter de la valeur à chaque étape de la livraison du logiciel dans un projet agile.

Reportez les défauts et travaillez avec l’équipe pour les résoudre.

Au sein d’une équipe Agile, chaque membre de l’équipe est responsable de la qualité du produit et joue un rôle dans l’exécution des tâches liées aux tests. Le retour d’information dès que possible vers l’équipe en cas de problème économise  temps et budget.

La conduite de projet de création d’apps dans les solutions No-Code et Low-Code pour les mobiles par Bruno Doucende

Le chapitre 5 de ce livre blanc sur le développement d’apps mobile en « Low-Code et No-Code » est spécifiquement dédié au management de ce type de projets.

Téléchargez gratuitement ce livre blanc
Voici le lien de la page de téléchargement : https://www.synertic.fr/livre-blanc-les-plateformes-no-code-low-code-au-service-des-apps-mobiles/

Face aux mutations, les organismes gagnants ne seront pas forcément les plus forts mais vraisemblablement les plus véloces à s’adapter.

Avec un fort taux d’équipement, l’évidence de notre dépendance (addiction pour certains) vis-à-vis des smartphones et des applications mobiles, est devenu un fait bien enraciné.

Les tendances observées d’usage et de comportements des mobinautes, l’adaptation des organismes à la recherche d’agilité avec le numérique et le cloud, confirment la nécessité de créer et exploiter des applications mobiles très facilement et très rapidement.

Créer de la valeur via des applis mobiles, avec la capacité de les modifier, les faire évoluer simplement malgré un manque de compétence en développement, le contexte est donc à l’évidence propice au « No-code » « Low-Code » !


Bruno Doucende est PDG de Synertic et anime de longue date les activités du PMI en région Provence avec une belle équipe de managers de projet venus de tous horizons.

 

Vous êtes-vous déjà demandé dans votre projet ou organisation : Qu’est-ce que l’open source ?

Une vidéo tente de l’expliquer le plus simplement possible (avec des Lego) à qui que ce soit.

Les principes positifs dans le paradigme de l’open source sont nombreux et pas limités au monde du logiciel informatique. Aussi, même pour les personnes n’ayant aucune connaissance préalable du logiciel libre ou gratuit comprendront les analogies et exemples choisis.

Bien sûr, la vidéo elle-même est en open source, pour que vous puissiez l’utiliser, la modifier et la partager.

IQar et SMPP confirment le partenariat avec le blog DantotsuPM pour la 5ème année consécutive !

Cette année se placera sous le signe des outils de la Maturité en Projets des organisations soucieuses d’améliorer leur système de pilotage des projets et du portefeuille.

La Gestion de Projets et Portefeuille By IQar, découvrez la plateforme de Maturité en Projets !

Nouveauté 2017/2018 : L’outil PPM d’IQar, SuiteProG : un pilotage pragmatique, simple d’accès et pédagogique !

Démonstration de l’outil
  • Plus de 1000 utilisateurs,
  • Une équipe Produit constituée pour un outil full SaaS : les consultants experts associés à notre une cellule R&D informatique développent les prochaines feuilles de route de SuiteProG
  • Une nouvelle version de SuiteProG présentée prochainement lors du Club Utilisateurs SuiteProG ! Première édition prévue en Juin 2018

Pour en savoir plus, demandez-nous une démonstration personnalisée de SuiteProG : cliquez ici.

 

Évaluez la maturité ’Projets’ de votre Organisation : Faites les tests !

En ligne, tests gratuits avec rapports complets d’audit !

www.testmaturite.com

www.profilprojet.com

SMPP est Partenaire de DantotsuPM

Et appuyez-vous sur le référentiel français SMPP, le métier et les conseils d’IQar pour décliner cette maturité en plan de progrès

IQar, auteur du référentiel français du système de management des portefeuilles de projets (SMPP), met à disposition des organisations, une plateforme d’information sur l’évaluation et le développement de la maturité en management des portefeuilles projets.

Partenaire de DantotsuPM

Les meilleurs plans partent souvent à vau-l’eau: Plaidoyer en faveur de prises de décisions le plus tard possible.

Le développement de logiciel est un effort complexe dans lequel les suppositions et les décisions devraient être prises le plus tard possible.

The Best Laid Plans often go awry

https://www.scrum.org/resources/blog/best-laid-plans-often-go-awry par John Gillespie

Quand Henry Ford a conçu ses usines en 1913 pour construire la Modèle T, il a réduit le temps nécessaire pour assembler une voiture de plus de 12 heures à 2 heures 30 minutes.  Ce processus a permis la production d’une automobile à prix ciblé pour “le travailleur”.  Toutes les voitures avaient la même conception et toutes étaient peintes en noir.

Les designs préconfigurés fonctionnent quand les prévisions rencontrent les attentes (qui en 1913 aurait demandé une voiture rouge ?) et quand un spécialiste peut remettre son travail au suivant sans aucune perte de temps dans la transmission.

Quand une société est dans le business de produire des produits et des services innovants, ses plans reposent sur une ou plusieurs estimations et suppositions.   Ces évaluations ne sont rien de plus que des probabilités.  Baser un plan de projet sur des suppositions exige que votre système puisse manager les changements.

Livre sur Amazon

Marie Poppendieck a exposé dans Lean Software Development, An Agile Toolkit, “le simple fait mathématique ici au travail est que toute variation est toujours amplifiée comme elle déplace le long d’une chaîne d’événements connectés. Une petite variation dans une étape peut représenter une énorme variation cinq étapes plus loin”.  Donc la question reste entière quant à pourquoi les managers continuent à planifier des projets en se basant sur des suppositions séquentielles.

Pour comprendre comment un changement inattendu peut causer des retards significatifs en aval, visualisez une chaussée très occupée avec des voitures se déplaçant selon la limitation de vitesse.  Le trafic s’écoule régulièrement jusqu’à l’entrée d’un nouveau véhicule ou autre événement qui fasse qu’un conducteur actionne ses freins.  Le trafic sur la chaussée ralentit ou s’arrête alors pendant une brève période puis recommence à s’écouler de nouveau sans signe apparent de pourquoi il a ralenti en premier lieu.  L’exemple de cette route illustre comment, à moins que les systèmes ne soient conçus pour se concentrer sur le flux, ils ne fonctionneront pas efficacement à pleine capacité.  Parce que le développement de logiciel est un effort complexe dans lequel les suppositions et les décisions devraient être prises le plus tard possible.  Le fait de prendre des décisions au dernier moment possible permet à l’équipe Scrum de changer pour travailler sur les articles d’arriéré de produit de plus de valeur en fonction des données les plus récentes.

CertYou est partenaire de DantotsuPM

L’empilement de beaucoup de suppositions l’une après l’autre dans un plan de projet réduit significativement la probabilité d’un résultat positif.

Par exemple, considérez cinq tâches tout d’une probabilité de 90 % d’achèvement en une semaine: (0.9 * 0.9 * 0.9 * 0.9 * 0.9 = 0.59). Dans ce cas, nous avons cinq tâches sur lesquelles nous nous sentons confiants, mais le résultat cumulatif est que nous sommes à seulement 59 % de probabilité de finir ces cinq tâches en cinq semaines.  Je soutiendrais que basé sur mon expérience de professionnel en management de projet, il est aussi peu probable que cinq tâches séquentielles atteignent jamais chacune un niveau de confiance de 90 %.  Alors, êtes-vous encore étonné quand vous lisez Standish Group’s Chaos Report qui indique qu’approximativement 70 % de tous les projets des technologies de l’information échouent à atteindre leurs objectifs et sont significativement en retard et sur-dépensent ?

Ceci n’empêche pas que vous devriez adorer les statistiques 🙂

La meilleure façon d’optimiser la livraison de valeur est de faire des tâches ajoutant une valeur visible pour les parties prenantes.  La documentation de chaque flux de valeur mettra en évidence l’avancée et les retards entre les transitions.  En évaluant quantitativement des activités du flux de valeur, le coût des retards devient aussi visible.  Cette visibilité aidera l’organisation à déterminer où la constitution d’équipes fonctionnelles transverses améliorera immédiatement les temps de réponse.

L’utilisation de Scrum pour rendre ces inefficacités visibles est seulement le premier pas.

Le leadership a-t-il le désir et l’engagement d’effectuer le changement ?  Craig Larman, l’auteur des Laws of Organizational Behavior, a observé que les organisations sont implicitement optimisées pour éviter de changer les positions de statu quo et les structures de pouvoir. Il a aussi noté que si vous voulez changer la culture d’une société, vous devrez changer la structure de votre organisation parce que la culture/comportement et la mentalité suivent les systèmes organisationnels et leur design.

Les organisations comme des sociétés d’assurance et banques ont typiquement les silos de spécialisation fortifiés autour des applications, technologies et fonctions.  Chacun de ces départements a développé des règles soigneusement travaillées et des procédures interdisant le changement.  Ces processus administratifs ont pour conséquence fortuite de perturber le flux de valeur qui va du concept à la livraison au client.

avec Ventura Asssociates, partenaire de DantotsuPM, recrutez les ressources critiques dont vous avez besoin pour vos projets

Marie Poppendieck a décrit cette situation Lean Software Development: An Agile Toolkit, “la règle établie pour résoudre un problème renforcera souvent le problème, créant une spirale vers le bas : Comme un problème empire, les managers appliquent encore plus agressivement la même politique qui cause le problème.”  La mise en place d’équipes fonctionnelles transverses qui ont toutes les compétences pour achever le travail sans avoir à traverser des silos fonctionnels aura un impact étonnamment positif sur la capacité des organisations d’améliorer la qualité et le temps nécessaire pour commercialiser.

Votre direction a-t-elle le courage et l’engagement d’entreprendre le dur labeur d’éliminer les processus et les procédures qui n’ajoutent pas de valeur ?

La plupart des sociétés considérant l’adoption de Scrum devront changer leurs structures organisationnelles pour soutenir des équipes fonctionnelles et transverses autonomes.  Si la structure organisationnelle ne change pas, les comportements ne vont pas probablement changer.  Si votre modèle business dépend de l’innovation, ce changement devrait être d’une priorité supérieure.

Participez à l’élaboration du Smart Assistant qui va révolutionner la manière dont vous collaborez !

les ateliers Entr’UP

Avec le mode projet, la hiérarchie s’estompe et les équipes doivent apprendre à collaborer efficacement pour aller au bout de leur mission.

85% des équipiers reconnaissent avoir été confrontés à plusieurs formes de conflits durant leurs projets

Le logiciel Entr’UP Teams qui améliore la collaboration des équipes, leur cohésion et leur efficacité, à travers la maîtrise des interactions est utilisé par de nombreuses équipes. Entr’UP recrute pour participer à un atelier des chefs de projet, directeurs de projets qui vont évaluer les futures fonctionnalités de Smart Assistant, Entr’UP Teams.

En savoir plus sur les ateliers, vous inscrire à l’un d’eux en présentiel ou à distance et ce que vous y gagnerez.

Réalisez-vous des démonstrations éblouissantes ?

Voici quelques-unes des choses à faire et ne pas faire pour accroître la valeur que votre équipe tirera des  démonstrations.

Do you deliver dazzling demos?

https://kbondale.wordpress.com/2017/01/08/dos-and-donts-for-delivering-demos/ par Kiron Bondale

Les démonstrations ou « showcase » comme elles sont parfois appelées, sont des cérémonies critiques quand elle sont menées efficacement car elles adressent des objectifs multiples du projet en un événement simple incluant :

  • démonstrationValider que ce que l’équipe a achevé jusqu’à présent est de valeur de la perspective de leur client et d’autres parties prenantes importantes
  • Aider l’équipe et les parties prenantes à changer ou développer leur compréhension de la solution souhaitée
  • Obtenir l’acceptation des parties de travail achevées dans les organisations où une telle signature est un préalable exigé pour mettre en œuvre le changement
  • Faciliter un rapport d’avancement transparent car les parties prenantes voient ce qui a été promis par l’équipe et ce qui a été livré
  • Fournir aux membres d’équipe des retours réguliers et une reconnaissance de leur travail , ce qui augmente les niveaux de satisfaction au travail et l’engagement

Mais les démonstrations peuvent (comme d’autres pratiques de management de projet) aboutir à un résultat pire que si elles avaient été omises.

Voici quelques-unes des choses à faire et ne pas faire pour accroître la valeur que votre équipe tirera des  démonstrations.

  • A faire : Envoyez les invitations pour la rencontre à l’avance et si vous suivez une cadence de sprint ou d’itération standard (par exemple toutes les deux ou trois semaines). Envoyez un jeu d’invitations récurrentes.
  • A ne pas faire : Les démonstrations le vendredi après-midi afin d’éviter d’avoir les parties prenantes absentes de corps ou d’esprit.
  • A faire : Partagez la richesse en vous assurant que chaque membre de l’équipe ait son opportunité de  présenter une démonstration.
  • A ne pas faire : S’en servir pour vous plaindre de l’équipe, des points de blocage ou ce qui aurait pu ou dû être fait différemment.
  • A faire : Fournissez objectivement le contexte sur le sprint ou résultats itératifs (par exemple le prévu versus le réalisé).
  • A ne pas faire : Présenter une démonstration sans avoir testé à l’avance ce que vous allez montrer.
  • A faire : Invitez les représentants du client et parties prenantes associées appropriées à vos démonstrations.
  • A ne pas faire : Submerger vos parties prenantes de contenu.
  • A faire : Enregistrez les présentations à l’avance ou, si vous vous sentez chanceux, pendant la démonstration elle-même pour le bénéfice de parties prenantes qui ne pourraient se libérer.
  • A ne pas faire : Prendre les retours négatifs personnellement.

Bien que cet article soit principalement destiné aux équipes qui utilisent une approche de développement Agile, il est également applicable aux projets traditionnels. Les démonstrations éblouissantes peuvent aider à maintenir l’attention, conserver l’appui de votre client et maintenir les membres de l’équipe concentrés sur délivrer de la valeur.

CertYou est partenaire de DantotsuPM

Déjà en 2009, un article nous invitait à l’hybridation des méthodes de management de projets et prônait la complémentarité plutôt que l’opposition

Dans cet article, l’auteur a pris le parti de la complémentarité plutôt que de l’opposition entre les méthodes de développement traditionnelles et Agile.

Serhiy Kharytonov

Selon Serhiy Kharytonov, le choix entre les méthodes « en cascade », RUP (rational unified process) et agile, dépend à la fois de l’expérience de l’équipe, de la culture d’entreprise, du type de projet, de l’environnement, du mode de développement interne/externe, et prend en compte la dispersion géographique de l’équipe.

Une combinaison des trois méthodes selon les moments du cycle de développement pourrait être une bonne approche.

Cet article qui date pourtant de presque dix ans reste étonnamment actuel.

Utilisez vous d’autres critères de choix de votre approche de développement?

Waterfall, RUP et Agile : quelle est la bonne méthode de développement logiciel  pour vous?

Article original de Serhiy Kharytonov, SoftServe © 2009

Rationalisez la production avec les processus rapides et efficaces « en cascade », RUP et Agiles. Créez le bon mix de stratégies de développement logiciel afin de répondre aux besoins spécifiques de votre projet.

Malgré les signes de reprise dans l’économie, une réalité persiste dans le développement logiciel: La plupart des sociétés et clients ont besoin de leur logiciel pour hier avec les fonctionnalités les plus avancées au coût le plus faible possible.

Pour atteindre ces objectifs apparemment contradictoires, les développeurs cherchent à rationaliser la production avec des processus rapides et efficaces qui peuvent donner au client ce qu’il veut en un laps de temps le plus court possible.

Ces constantes et les échecs de développement passés ont mené à un changement dans le développement logiciel depuis des méthodes très structurées, séquentielles de développement logiciel souvent appelées le modèle Waterfall / « en cascade », vers des modèles plus itératifs et progressifs tels que « Rational Unified Process » et « Agile. »

Les partisans d’Agile sont nombreux et il peut parfois sembler que les processus de développement plus traditionnels sont tombés en défaveur, mais en réalité les trois modèles ont leurs avantages, leurs incovénients et leurs environnements de projet favoris.

Au bout du compte, la meilleure méthode ou le meilleur mix de méthodes pour vous dépend d’une compréhension minutieuse des trois processus et comment ils s’adaptent à votre projet logiciel, votre culture business et votre propre environnement de développement.

Waterfall / « En cascade »

La programmation « en cascade » est un processus fortement structuré qui compte fortement sur une planification initiale et un ensemble d’étapes séquentielles, prescrites qui découlent l’une de l’autre comme l’eau dans une une cascade. Chaque étape a typiquement sa propre équipe d’experts et jalons soigneusement préparés à l’avance et aucune étape ne peut commencer tant que l’étape précédente n’a pas été complétée. Le but est de recueillir tous vos besoins détaillés tôt dans le processus et de fournir une seule solution complète  avec des résultats qui sont fortement prévisibles. On appelle aussi souvent cette approche le cycle en « V ».

Typiquement les étapes dans le développement « en cascade » sont :
  1. Recueil des besoins et rédaction du cahier des charges
  2. Analyse fonctionnelle
  3. Développement du code
  4. Intégration
  5. Test et mise au point
  6. Installation
  7. Maintenance

Ceci peut marcher très bien pour des applications complexes, critiques à la mission de l’entreprise et qui s’intègrent avec de nombreux autres systèmes ou pour des organisations comme la NASA ou l’armée qui exigent les plus hauts niveaux de fiabilité.

Les détracteurs disent que le « Waterfall » demande simplement trop longtemps et manque de la flexibilité, ou de l’agilité, requise pour le marché logiciel actuel avec son environnement de développement en constant mouvement. Les projets qui suivent la méthode « en cascade » prennent typiquement des mois ou des années et quand ils sont finis, on découvre parfois que les besoins ont changé ou que les besoins originaux étaient incorrects depuis le départ. Le résultat peut alors être des corrections onéreuses explosant le budget initial.

RUP (rational unified process)

Comme la « cascade », le Rational Unified Process (RUP), produit par Rational Software et plus tard par IBM, est aussi un processus lourd, mais c’est une approche itérative qui prend en compte le besoin de répondre au changement et introduit de l’adaptabilité pendant le processus de développement.

Comme la « cascade », RUP a une série de phases et des jalons qui découlent l’un de l’autre :
  1. L’initiation, où la portée du projet, l’évaluation des dépenses, des risques, le business case, l’environnement et l’architecture sont identifiés.
  2. L’élaboration, où les besoins sont spécifiés en détail, l’architecture est validée, l’environnement de projet est détaillé et l’équipe de projet est configurée.
  3. La construction, où le logiciel est construit et testé et la documentation de support est produite.
  4. La transition, où le logiciel est testé au niveau système et utilisateur, corrigé et déployé.

RUP définit en détail les rôles et les activités de membres de l’équipe et compte à chaque étape sur la production de modèles visuels, qui sont les représentations graphiques riches de systèmes logiciels et des cas d’utilisation spécifiques plutôt que de grandes quantités de documentations requises pour chaque étape « Waterfall ». Tous les membres de l’équipe ont accès à la même grande base de connaissance de guides, modèles, outils et autres articles pour s’assurer qu’ils partagent les mêmes langages et perspectives sur le projet.

Alors que cela apparaît de prime abord similaire au développement « en cascade », la plus grande différence du RUP est son approche de développement itérative, qui construit le produit en plusieurs étapes basées sur des revues fréquentes avec les parties prenantes. Les premières itérations RUP sont surtout de la définition de besoin, de l’architecture et l’exploration de différentes idées, alors que les itérations ultérieures essayent d’assembler un produit complet. Chaque itération est un livrable exécutable et chaque phase RUP peut interagir avec les phases précédentes pour s’adapter au besoin.

Non seulement le processus RUP est itératif dans son ensemble mais RUP suppose aussi que chaque phase ait plusieurs itérations internes basées sur des retours utilisateurs.

RUP adresse bon nombre des critiques du développement « Waterfall » et c’est une bonne méthode pour des agences gouvernementales et institutions éducatives qui apprécient un cycle de développement de logiciel stable et répétable, ainsi que pour des organisations qui « offshore » les développements dans des pays comme l’Inde et la Chine, ou qui produisent des progiciels.

Les critiques disent que RUP n’est pourtant pas aussi rapide ni adaptable que d’autres méthodes, comme Agile et ne marche pas bien quand un délai de mise sur le marché rapide est crucial et là où l’on s’attend à des mises à jour fréquentes et des compléments rapides de fonctionnalités.

Agile

Tandis que « Waterfall » et RUP penchent vers la prédictibilité, les buts principaux d’Agile sont la vitesse et l’adaptabilité. Il y a beaucoup de types différents de processus de développement Agile, dont XP et SCRUM, et tous s’efforcent de mettre une version du produit basique mais fonctionnelle entre les mains du client aussi vite que possible.

Ils font alors suivre cette version par des versions successives qui ajoutent et changent les fonctions nécessaires au fil du temps pour fournir un produit plus robuste. Chaque module successif est planifié, codé, testé et complété sur de courtes périodes de deux à quatre semaines. Bien que le processus Agile soit planifié d’avance comme en « Waterfall » et RUP, il fait passer les gens et la collaboration avant le processus lui-même.

Plutôt que de dépendre d’équipes composées de nombreux experts, le processus de développement Agile est typiquement entrepris par une seule, petite équipe, cross-fonctionnelle, censément auto-organisée, qui doit inclure un représentant client qui suit des réunions quotidiennes et s’assure que l’équipe travaille sur les choses dont le business a vraiment besoin. La constante collaboration en face à face est l’objectif, avec le représentant du client comme l’un des collaborateurs les plus importants. La documentation est dé-priorisée par rapport à l’approche « Waterfall » et même RUP pour sortir quelque chose aussi rapidement que possible.

Avec son approche modulaire, progressive, faite en collaboration, Agile est rapide et fortement adaptative au changement des besoins et réponses aux challenges amenés par la compétition, qui sont les raisons de tant de partisans.

Certaines sociétés sont fréquemment citées comme ayant utilisé la programmation Agile avec beaucoup de succès, avec des cycles de développement de 30 à 90 jours qui ont apporté une productivité spectaculaire et des avantages business par rapport aux 18 mois ou plus pris dans le passé pour produire un logiciel utilisable.

Mais même s’il est facile de tomber amoureux d’Agile, l’approche a aussi ses limitations et inconvénients. Son accent sur les réunions quotidiennes en physique et la collaboration rapprochée rend le processus difficile à adapter à l’externalisation des développements, à des situations où clients et développeurs sont géographiquement éloignés, ou aux clients qui n’ont tout simplement pas les compétences, les ressources ou le focus nécessaires.

Son accent sur la modularité, le développement progressif et l’adaptabilité ne convient pas aux clients qui veulent des contrats avec des évaluations fermes et définitives et des échéanciers fixes. Sa dépendance sur de petites équipes auto-organisées rend difficile l’adaptation aux grands projets logiciels avec de très nombreuses parties prenantes aux besoins  différents et néglige de prendre en compte le besoin de leadership pendant que les membres de l’équipe s’habituent à travailler ensemble.

De plus, le manque de documentation complète peut rendre la maintenance et les nouveaux développements difficiles quand les membres de l’équipe originale laissent leur place à d’autres. Cela peut mener à des modules aux fonctionnalités et interfaces inconsistantes. Finalement, plus qu’avec le « Waterfall » et RUP, le développement Agile dépend éminemment de la capacité à recruter des analystes fonctionnels très expérimentés qui savent comment travailler indépendamment et s’interfacer efficacement avec des utilisateurs métiers.

CertYou est partenaire de DantotsuPM

Le meilleur de chaque monde

Si Agile, RUP et des modèles « en cascade » ont chacun leurs inconvénients, lequel devriez-vous choisir ? De plus en plus, le secret des développements logiciels réussis est de comprendre les trois processus dans le détail et de sélectionner les parties de chacun qui conviennent le mieux à leurs livrables et environnements spécifiques. Donc, être agile dans l’approche même du choix du processus, en regardant sans cesse ce qui a été réalisé, en réévaluant et révisant le processus de développement jusqu’à ce qu’il s’adapte au mieux aux circonstances actuelles.

Par exemple, si vous développez du logiciel « Software as a Service » SaaS dans un marché fortement concurrentiel, vous ferez probablement le meilleur choix en penchant vers des méthodologies Agile. Le SaaS se prête particulièrement bien à Agile puisqu’il prévoit un accès constant au logiciel pour y ajouter ou en changer des caractéristiques. Dans un tel marché concurrentiel avec des besoins utilisateurs changeants, vous voudrez probablement être capables d’apporter rapidement des changements.

D’un autre coté, si vous produisez pour le médical, l’ingénierie, ou autres systèmes qui exigent un haut degré de design et de certitude, alors il semble logique de commencer par du »Waterfall ».

Si vous produisez un progiciel grand public « sur étagère », avec de nouvelles versions qui vont être des enrichissements des versions précédentes, votre processus devrait probablement pencher vers RUP, avec une attention particulière sur le recueil des besoins, la définition du périmètre et du contenu au tout début, ainsi que des standards de parcours et d’interface utilisateur.

Quel est le meilleur de chaque approche que vous puissiez utiliser sur votre projet ?

Les développeurs peuvent tout de même utiliser des techniques Agile pour présenter des prototypes fréquents et des modules successifs aux chefs de produit de la société pour s’assurer qu’ils sont sur la bonne voie. La fréquence et l’intensité de collaboration entre chefs de produit et développeurs dépendent vraiment de leur proximité et de la culture de la société (selon que ces équipes soient plus ou moins habituées à une telle collaboration). Quand la distance géographique est un problème, les outils de collaboration comme la conférence à plusieurs sur le web et la vidéo peuvent être d’une grande aide.

Ce même mélange de techniques peut être utilisé dans un environnement d’externalisation du développement en « offshore ». En fait, avec les différences de fuseaux horaires et de cultures, il est important d’intégrer autant d’étapes itératives et progressives et autant de contacts de suivi que possible pour votre projet.

Choisir de partir sur des équipes auto-organisées ou une approche plus directive (« top-down ») de management dépend aussi du niveau de compétence et d’expérience de vos développeurs. Beaucoup de projets peuvent exiger au départ un leadership qui va ajouter une certaine urgence, une direction et une gestion des risques du projet jusqu’à ce que les membres de l’équipe s’habituent à travailler ensemble. Alors le rôle de leadership peut être réduit selon les besoins lors des itérations suivantes.

Le bilan est qu’il n’y a probablement aucun processus parfait pour tous les projets et tous les environnements, ni même pour un seul.

C’est pourquoi les sociétés doivent intégrer fréquemment « les leçons apprises » pour évaluer et réviser le processus lui-même, qui peut se déplacer d’un bout à l’autre du spectre à différents moments dans le cycle de développement.

Bref, en choisissant entre Agile, RUP et « Waterfall », adaptez le processus à vos besoins, plutôt que de chercher à adapter votre projet au processus !