Une préparation diligente, des flux de travail clairement définis et une surveillance vigilante sont essentiels pour livrer un projet DevOps hautement performant. Szymon Piasecki, responsable DevOps chez STX Next.
DevOps: 3 steps to plan and execute a successful project par Szymon Piasecki
Bien que DevOps ne soit pas une nouvelle expression ou idée pour quiconque évolue dans l’industrie high-tech, c’est devenu un mot à la mode ces dernières années. Sa popularité est telle qu’il est maintenant crucial de comprendre comment structurer et déployer au mieux une équipe DevOps, et il existe plusieurs points de vue et méthodologies différents sur ce sujet.
En termes simples, DevOps est l’intégration des développeurs et des opérateurs informatiques en un seul groupe, avec l’objectif commun d’améliorer la vitesse et la qualité du déploiement des logiciels. Il a d’abord été créé en réponse aux préoccupations concernant la ségrégation des équipes et la façon dont cela entraînait souvent des ruptures de communication et un manque de cohésion.
Depuis que le terme a été inventé pour la première fois en 1993, DevOps n’a fait que gagner en popularité. 83% des décideurs informatiques en 2021 ont déclaré avoir mis en œuvre ce style de travail sous une forme ou une autre.
Changer l’orientation business de cette manière ne garantit pas un changement immédiat de résultats. Cependant, cette dynamique représente un changement de culture informatique, avec un accent accru sur la collaboration et les compétences relationnelles interpersonnelles. Pour que ce modèle fonctionne à long terme, les ingénieurs doivent être ouverts à cette nouvelle façon de travailler.
Alors, quelles étapes vitales une équipe DevOps doit-elle prendre pour assurer la réussite d’un projet ?
1. Comprendre le pourquoi
Les étapes préliminaires d’un projet DevOps sont cruciales. Sans une direction claire et une compréhension commune au sein de l’équipe, l’initiative est vouée à l’échec.
Pourquoi ce changement ?
L’équipe et le client doivent donc être prêts à consacrer le temps nécessaire pour comprendre les objectifs de chacun et s’assurer que leurs visions s’alignent. Cela peut se faire par le biais de réunions et d’ateliers, où les participants identifient les objectifs et les membres de l’équipe établissent un objectif clair sur ce à quoi le produit final devrait ressembler.
Lorsque cette mise au point est exécutée correctement, l’équipe DevOps quittera la première phase du projet avec un briefing bien défini et une compréhension claire des objectifs du client. Si cette étape est précipitée, les ingénieurs seront gênés par un manque de direction, ce qui augmentera la probabilité que le produit fini ne réponde pas aux exigences du client.
2. Développer
La deuxième phase est celle où le développement de l’application commence. Ceci est généralement facilité par l’utilisation d’une solution basée sur le cloud, où l’équipe commence à préparer l’environnement, à travailler sur les composants qu’il doit contenir et à comprendre comment ils doivent être configurés pour maximiser l’efficacité.
Les meilleures équipes DevOps sont agiles et polyvalentes, avec des membres qui peuvent facilement s’adapter à un nouveau rôle ou aider dans divers domaines.
Pendant cette période, l’équipe doit s’assurer que la version finale de l’application est aussi sécurisée que possible. Pour cette raison, l’équipe DevOps a besoin de compétences diverses, y compris au moins un expert en cybersécurité.
Une phase de développement réussie se caractérise par des flux de travail clairement structurés dans lesquels le projet est décomposé, étape par étape. Tous les membres de l’équipe doivent comprendre où ils s’inscrivent dans le plan et comment ils peuvent contribuer.
Il est important de se rappeler que les projets DevOps sont rarement une promenade de santé du début à la fin. Le développement est souvent entravé par des délais manqués, des bugs et des conflits de priorité qui éloignent les ingénieurs de leurs responsabilités projet. Pour cette raison, les meilleures équipes sont agiles et polyvalentes, avec des membres qui peuvent facilement s’adapter à un nouveau rôle ou aider dans divers domaines. Cette agilité est extrêmement importante pour assurer la continuité lorsque les flux de travail sont perturbés.
3. Tester, surveiller et améliorer
Une fois qu’un produit est mis en ligne, le travail entre dans une nouvelle étape cruciale. Les meilleures équipes DevOps ne se reposent jamais sur leurs lauriers à la fin de la phase de développement.Les développeurs doivent surveiller attentivement l’application à ses débuts afin que tout bug puisse être identifié et immédiatement corrigé.
Des ingénieurs devraient être en place pour surveiller l’environnement, y compris la façon dont il est affecté et comment il réagit aux flux variables de nouveaux utilisateurs. Les données obtenues constituent une ressource précieuse et doivent être traitées comme telles, les équipes triant et étiquetant les résultats dès qu’ils sont collectés.
Une fois les données de référence recueillies, l’équipe doit analyser les résultats pour identifier les parties de l’application qui pourraient nécessiter des améliorations ou une refonte. Après cela, le résultat final devrait être un produit qui fonctionne de manière optimale et répond aux spécifications du client.
Se préparer au succès
Les équipes DevOps qui suivent les étapes décrites ci-dessus auront la certitude absolue que leur projet est sur la bonne voie et qu’il est prêt pour réussir.
Concevoir un produit bien fait est beaucoup plus facile lorsque votre équipe inclut des spécialistes de diverses disciplines qui sont enthousiastes à l’idée de collaborer et de communiquer. Avoir la bonne équipe facilitera également la transition entre chaque étape d’un projet DevOps et garantira que le client est satisfait.
partagez ce billet avec vos amis, collègues et relations professionnelles
Vous avez du mal à expliquer DevOps et tout ce qu’il englobe aux non-techniciens ? Les gens se demandent-ils ce que font réellement les ingénieurs DevOps de votre équipe ?
Ces définitions et analogies vous aideront à leur répondre.
Le terme DevOps a été créé il y a plus de 10 ans, et ce qui a commencé comme un hashtag est devenu un mouvement culturel dans l’informatique. Cette philosophie encourage les développeurs à aller vite, à expérimenter et à itérer. DevOps est devenu intrinsèquement lié à la transformation numérique. Mais en ce qui concerne la terminologie informatique, une décennie est amplement suffisante pour accumuler des définitions, des interprétations et une grande confusion autour de ce que DevOps signifie réellement.
DevOps est-il la même chose qu’Agile ? Est-ce une méthodologie ? Est-ce juste une autre façon de dire collaboration ? Que font réellement les ingénieurs DevOps ? Avons-nous besoin de ce titre, ou n’est-ce qu’un effet de mode ?
Parce que DevOps englobe de nombreux concepts différents (livraison continue, intégration continue, automatisation, etc.), il peut être difficile, en particulier pour ceux qui sont les plus passionnés par ce sujet, d’essayer de réduire DevOps à une courte phrase. Mais, rappelons-nous, les petites phrases peuvent être utiles, que vous essayiez de vendre l’idée dans la chaîne de management ou d’expliquer ce que vous faites à quelqu’un lors d’une fête. Donc, pour l’instant, mettons de côté les nuances autour de termes spécifiques à DevOps et concentrons-nous sur la vue d’ensemble.
Qu’est-ce que DevOps en 6 définitions et analogies ?
Nous avons demandé aux experts DevOps comment ils expliquent DevOps avec leurs mots les plus courts et les plus simples afin que tout le monde puisse comprendre sa valeur, quelle que soit sa formation technique. Voici quelques définitions percutantes et quelques analogies utiles pour vous aider à raconter votre propre histoire DevOps.
1. DevOps est un mouvement culturel
Visitez ce site
« DevOps est un mouvement culturel où les deux principaux groupes de parties prenantes (développeurs de logiciels et opérations informatiques) conviennent que le logiciel n’ajoute pas vraiment de valeur tant qu’il n’est pas utilisé par quelqu’un – clients, utilisateurs, employés, etc. » explique Eveline Oehrlich, directrice de recherche en chef au DevOps Institute.
« Pour cette raison, les deux équipes veillent ensemble à ce que les logiciels soient livrés avec rapidité et qualité. »
2. DevOps responsabilise les développeurs
DevOps permet aux développeurs de posséder, d’exécuter et de manager de bout en bout la livraison d’une application.
« Il est communément admis que DevOps permet une livraison en production plus rapide en mettant en œuvre et en exploitant des processus automatisés. Pour moi, c’est beaucoup plus fondamental », explique Jai Schniepp, propriétaire de produit senior de plates-formes DevOps sécurisées chez Liberty Mutual.
« DevOps permet aux développeurs de posséder, d’exécuter et de manager de bout en bout la livraison d’une application ou d’un logiciel. DevOps élimine la confusion autour de la propriété et conduit l’équipe vers une infrastructure automatisée et managée par les développeurs. »
3. DevOps est une approche collaborative de création et de livraison de logiciels
« En termes simples, DevOps est une approche de création et de fourniture de logiciels informatiques dans laquelle tout le monde travaille ensemble », explique Gur Steif, président de l’automatisation des activités numériques chez BMC.
4. DevOps est comme une chaîne de montage
Pour qu’une chaîne de montage fonctionne, les composants doivent être conçus pour s’assembler de manière transparente.
« Je comparerais DevOps à une chaîne de montage », déclare Gur Steif. « L’idée est de concevoir et de construire toutes les pièces à l’avance, de manière à ce que toutes les pièces s’emboîtent. Pour qu’une chaîne de montage fonctionne, les composants doivent être conçus pour s’assembler de manière transparente. Les gens qui conçoivent et construisent les moteurs doivent penser au châssis et aux supports de moteur. Les gens qui construisent des freins doivent penser aux jantes et aux pneus, et ainsi de suite. C’est comme ça que ça doit être dans le logiciel. Les développeurs qui écrivent la logique métier ou l’interface utilisateur doivent penser à la base de données qui stocke les informations client, à la sécurité qui protège les données utilisateur et à la façon dont tout cela fonctionne lorsque le service est exposé à ce qui peut être des millions d’utilisateurs.
« Amener les gens à collaborer et à penser au travail effectué par d’autres plutôt que de se concentrer uniquement sur leur(s) tâche(s) individuelle(s) est le plus grand obstacle à surmonter. Si vous y parvenez, vous avez d’excellentes chances de réaliser la transformation numérique », ajoute Steif.
5. DevOps est une recette – combinant les personnes, les processus et l’automatisation
Jayne Groll, PDG du DevOpsInstitute, a une excellente analogie culinaire pour expliquer DevOps :
DevOps est une recette qui repose sur des ingrédients de trois grandes catégories : les personnes, les processus et l’automatisation.
La plupart des ingrédients peuvent être adaptés à partir d’autres pratiques et sources bien connues telles que Lean, Agile, SRE, CI / CD, ITIL, le leadership, la culture et les outils. Le secret derrière DevOps est la façon dont ces ingrédients sont combinés et dans les bonnes proportions (comme toute bonne recette) afin d’augmenter le flux et la valeur pour le client.
6. Les équipes DevOps sont comme les équipes de course NASCAR
Les équipes de course ne réfléchissent pas du départ à l’arrivée; Elles tournent la table pour considérer la course de la ligne d’arrivée au départ.
« Lorsque je parle des résultats souhaités pour une initiative DevOps, je mentionne NASCAR ou les courses de F1 », explique Chris Short, responsable marketing technique principal, plates-formes cloud, chez Red Hat, et éditeur de la newsletter DevOps’ish.
« Les chefs d’équipe de ces équipes de course n’ont qu’une mission : Finir à la meilleure place possible avec les ressources dont ils disposent tout en surmontant l’adversité à laquelle ils sont confrontés. Les équipes de course ne réfléchissent pas du départ à la ligne d’arrivée ; Elles renversent la problématique pour regarder la course de la ligne d’arrivée au départ. Elles se fixent un objectif, un objectif ambitieux, puis commencent à travailler à rebours à partir de ces objectifs pour déterminer comment y arriver. Le travail est délégué aux membres de l’équipe pendant la semaine de la course pour atteindre l’ensemble des objectifs qui permettent d’obtenir le résultat souhaité. »
« Les équipes de course pratiquent les arrêts aux stands toute la semaine avant la course. Elles suivent des programmes de musculation et de cardio pendant la semaine pour se garder physiquement prêtes pour les conditions exténuantes du jour de la course. Elles collaborent continuellement pour résoudre tout problème qui pourrait survenir. De même, les équipes logicielles devraient pratiquer souvent les livraisons. Si les systèmes de sécurité sont en place et que les essais se déroulent bien, la mise en production se produit plus fréquemment. La vitesse rend les choses plus sûres avec cet état d’esprit », explique Short.
« Il ne s’agit pas de faire la « bonne » chose », ajoute-t-il, « il s’agit d’adresser autant de choses qui pourraient vous empêcher d’obtenir le résultat souhaité que possible. Collaborez et ajustez en fonction des retours en temps réel que vous observez. Attendez-vous à des anomalies et travaillez pour améliorer la qualité afin de minimiser l’impact de ces anomalies sur l’objectif. Ce sont les attentes de chacun dans un monde DevOps. »
Qu’est-ce qu’un ingénieur DevOps ?
Un mouvement culturel, une méthodologie, une recette pour réussir : Remarquez comment personne n’a fait référence à DevOps comme à un rôle.
Pourtant, l’ingénieur DevOps figure en bonne place sur la liste des meilleurs emplois de Glassdoor en Amérique, et ce chaque année depuis 2017. Est-il logique d’étiqueter le mot « DevOps » sur le titre d’une personne lorsque des organisations informatiques toutes entières sont invitées à travailler d’une nouvelle manière ?
Certains croient fermement que la réponse est non.
« DevOps est une méthodologie, pas un rôle», explique Neelan Choksi, président et chef de l’exploitation chez Tasktop. « Plutôt que d’étiqueter vos ingénieurs « ingénieurs DevOps », vous devez reconnaître que le rôle de l’ingénieur dans le développement et les opérations a évolué et continue de le faire. Parce que le cloisonnement des organisations en départements appartient au passé, le changement perpétuel n’est plus le travail d’un département et le problème d’un autre.
En fait, trop se concentrer sur les rôles individuels peut freiner les organisations, dit Choksi. « Si [dans votre organisation] la culture DevOps est plutôt considérée comme un job ou un rôle unique, vous pouvez toujours apporter de petites améliorations locales en adoptant les meilleures pratiques DevOps, mais l’impact de ces pratiques sera limité. »
A l’autre extrémité du débat, certains soutiennent que les titres sont significatifs, surtout lorsque les industries traversent des transformations majeures. Inclure le terme DevOps sur un CV ou une description de poste indique un niveau de compétence qui est actuellement difficile à trouver, dit Oehrlich.
« J’ai suivi la transformation DevOps en tant qu’analyste de l’industrie depuis ses débuts », a récemment écrit Oehrlich. « Aujourd’hui, l’utilisation de la méthodologie DevOps est de 74 % (en dehors des méthodologies complémentaires), avec une adoption à l’échelle de l’entreprise de 24 % et une adoption projet (ou projets multiples) de 42 %, selon le rapport Upskilling 2020 : Enterprise DevOps Skills Report. »
Le défi numéro un auquel est confronté DevOps est de trouver et d’attirer des personnes DevOps qualifiées. 58 % des personnes interrogées ont déclaré que trouver des personnes qualifiées est un énorme défi, tandis que 48 % disent que la rétention de personnes DevOps qualifiées est un challenge.
Quelle que soit votre position dans le débat en cours sur les ingénieurs DevOps, Choksi et Oehrlich ont tous deux des conseils sur ce qu’il faut rechercher chez les personnes qui dirigent DevOps dans votre organisation :
« Les ingénieurs DevOps doivent se concentrer sur leurs compétences en résolution de problèmes et sur leur capacité à accroître l’efficacité, à gagner du temps et à automatiser les processus manuels et, surtout, à se soucier de ceux qui utilisent leurs livrables », explique Choksi. « L’ingénieur à l’épreuve du temps est capable de travailler entre les équipes et les fonctions, non seulement au sein de l’informatique, mais aussi dans l’ensemble de l’entreprise. Ils sont en mesure de tirer parti de spécialistes et d’intégrer les approches et méthodologies optimales qui offrent de la valeur dans un environnement concurrentiel rapide avec la qualité requise par les clients. »
« Le titre d’ingénieur DevOps décrit une façon différente de concevoir », explique Oerhlich. « Bien qu’il existe des responsabilités fondamentales pour un ingénieur DevOps (codage, script, ré-ingénierie, automatisation, collaboration et communication), le rôle lui-même est un rôle d’ingénierie. L’ingénierie est une question d’innovation, la créativité étant un trait humain fondamental qui stimule le développement de nouvelles technologies et de nouveaux produits, processus ou services. La combinaison des mots « DevOps » et « ingénieur » met en avant que l’avenir est à l’innovation autour de la façon dont le développement et les opérations sont effectués ensemble : Le titre « ingénieur DevOps » souligne cet état d’esprit. »
partagez ce billet avec vos amis, collègues et relations professionnelles
Chez les managers de projets comme dans de très nombreuses autres professions, les différences entre adopter et bien utiliser le bon ou le mauvais outil sont du temps, de l’argent et de la sécurité !
C’est presque un cliché chez les menuisiers et autres artisans qui créent avec leurs mains. La différence entre le bon et le mauvais outil est du temps, de l’argent et de la sécurité. La satisfaction d’avoir un levier approprié à votre effort est extraordinaire.
Il est autant question de qualité d’outillage que de savoir bien se servir des outils que l’on a !
Regarder les gens se débattre avec leur téléphone ou leur ordinateur portable est triste et frustrant. Les gens continuent d’utiliser de mauvais outils. Peut-être que ce sont ceux qu’ils ont appris à utiliser il y a longtemps. Peut-être qu’ils sont arrivés gratuitement avec l’appareil. Plus probablement, ils sont le résultat d’une société de développement de logiciels qui ne prend pas suffisamment en compte les besoins de l’utilisateur.
Il existe probablement un meilleur outil numérique pour ce que vous essayerez de faire la prochaine fois en ligne. Cela vaut peut-être la peine de prendre quelques instants pour vous questionner, découvrir et apprendre.
Investissez une fois, profitez-en pendant très longtemps.
Téléchargez aussi ce guide sur le site de notre partenaire Virage Group
partagez ce billet avec vos amis, collègues et relations professionnelles
Après avoir lu le billet de Donald Hook sur les raisons d’échouer dans une initiative de transformation numérique (de digitalisation), j’ai choisi d’en reprendre le propos mais en regardant plutôt les raisons et conditions pour réussir ces projets méritants et si difficiles !
Les entreprises se sont lancées dans des efforts de transformation numérique pour réduire les coûts, accroître l’efficacité et mieux servir leurs clients. Mais c’est plus facile à dire qu’à faire. Une transformation numérique réussie nécessite une stratégie bien définie et des équipes expérimentées.
Du point de vue du client, fournir les informations dont il a besoin quand il en a besoin et rendre les interactions faciles et sans friction signifie que votre transformation numérique a été pleinement réussie.
D’un point de vue informatique, il s’agit de rapidité et d’agilité et de mise en place des outils, des technologies et des processus nécessaires pour fournir rapidement des solutions. Les équipes informatiques doivent être organisées de manière à inclure des représentants du produit, de la technologie et de l’expérience utilisateur.
La transformation numérique couvre l’ensemble de l’organisation, y compris les entités commerciales, les fournisseurs, les usines, les centres de distribution et l’informatique. Pour réussir, les dirigeants de tous ces domaines doivent être impliqués, alignés et responsables. Un plan et une feuille de route solides décrivant les initiatives, les dépendances, les investissements, la valeur opérationnelle, les rôles et responsabilités, le calendrier et la gouvernance doivent être définis.
La transformation numérique nécessite un investissement important en argent, en temps et en engagement. La dernière chose que les entreprises veulent faire est de se lancer dans une initiative d’entreprise, pour ensuite la faire échouer. L’échec peut avoir un impact négatif sur la crédibilité des dirigeants, des chefs d’entreprise et du service informatique.
Visitez le site de notre partenaire Virage Group
10 moyens de réussir votre transformation digitale
Considérez ces dix approches qui permettent aux initiatives de transformation numérique de réussir et laissez-les vous guider pour vous assurer que la votre est un succès.
#1 – Concentrez-vous sur les bonnes choses
Assurez-vous que chaque initiative entraînera une transformation ou sera un élément pour soutenir la transformation.
Concentrez-vous sur la transformation de l’expérience client, de l’efficacité commerciale, de l’expérience employé ou de l’efficacité informatique.
Vous concentrer sur des initiatives qui ne génèrent pas de valeur ou de transformation serait une perte de temps et un gaspillage de ressources.
#2 – N’attaquez pas trop de choses à la fois
Vous devez prendre en compte le fait que les équipes sont déjà souvent en difficulté pour suivre les projets en cours et réaliser le support opérationnel.
Ne les surchargez pas à outrance car cela entraînerait des retards dans les projets, de la frustration et, en fin de compte, cela coûtera plus de temps et d’argent.
#3 – Faites appel à des partenaires externes
La réalité est que peu d’organisations possèdent les talents et le leadership en interne pour comprendre les dernières tendances et les technologies émergentes.
De plus, comme vu au point précédent, les ressources internes sont généralement enlisées dans le support opérationnel quotidien et des projets en cours. Gagnez du temps et de l’argent en faisant appel à un partenaire.
#4 – Établissez une stratégie et une feuille de route claires
La transformation numérique s’étend à l’ensemble de l’entreprise et nécessite un alignement au sein de toute l’organisation, voire de l’entreprise. Vos initiatives doivent être axées sur la transformation.
Si ce n’est pas le cas, les ressources seront gaspillées et la transformation échouera. Comme la stratégie technologique est un élément clé, la future plate-forme, les technologies et l’architecture d’entreprise doivent être bien définies pour supporter et faciliter la transformation numérique.
#5 – Soyez clair sur vos objectifs
Pour réussir, il vous faut connaitre intimement vos objectifs finaux.
Des buts et des objectifs clairs vous fournissent ainsi qu’à l’équipe le périmètre de votre effort de transformation numérique et serviront de garde-fous pour rester focalisés sur ces objectifs.
#6 – Assurez-vous de l’engagement et de l’alignement de la direction
Les initiatives d’entreprise nécessitent le plein support, l’engagement et la responsabilisation de la direction.
Les dirigeants prendront les décisions finales sur les nouveaux processus opérationnels et fourniront des conseils sur la meilleure façon de résoudre les problèmes.
De plus, les dirigeants doivent s’assurer que leurs équipes sont engagées, concentrées et comprennent les priorités. Ceci vous permettra de ne pas accumuler des retards qui auraient un impact sur l’ensemble de l’effort.
#7 – Managez TOUT le changement
La transformation numérique ne se limite pas à la technologie :
Le changement survient rarement en un claquement de doigts. Il se fait le plus souvent dans la durée.
Il s’agit aussi de la transformation des personnes.
Les processus opérationnels, les technologies et les modèles budgétaires vont souvent être radicalement modifiés.
Cela signifie que les contenus des jobs de nombreuses personnes vont changer.
Élaborez une stratégie et un robuste plan de management du changement. Faites voir à ces personnes la valeur de la transformation pour éviter les rejets. Les personnes doivent être à l’aise avec cet inconfort et ont besoin d’aide pour embrasser le changement.
#8 – Menez cette transformation comme un programme
Communiquez de manière ouverte à tous les niveaux
La taille, la portée et l’ampleur de la transformation numérique peuvent être énormes. Comme pour toute grande initiative informatique, vous devez la manager comme un programme.
Vous devez communiquer fréquemment auprès de toutes les parties prenantes sur les progrès, les coûts, le calendrier, les risques et l’état d’avancement.
Et vous devez vous assurer que ceux-ci sont bien compris. En particulier les risques qui doivent être identifiés et traités proactivement.
#9 – Mettez en place une gouvernance et des métriques
La gouvernance d’entreprise et les Key Performance Indicators (KPI) sont essentiels pour que l’effort de transformation numérique soit suivi comme prévu.
Avec une gouvernance et des métriques bien en place, vous saurez à tout moment si vous atteignez vos objectifs et si vous réalisez des progrès.
Les KPI peuvent fournir une indication précoce que des ajustements sont nécessaires.
10 – Ayez une bonne vision technique de l’initiative
La technologie est à la base de la transformation numérique. Les plates-formes et applications technologiques existantes n’utilisent peut-être pas l’architecture et les outils les plus récents.
Les microservices, le cloud, edge computing, l’intelligence artificielle (IA) et le machine learning sont des technologies émergentes qui doivent être prises en compte.
Cependant, si votre informatique ne sait pas quelles technologies émergentes peuvent être exploitées, elle risque de créer davantage de dette technique.
C’est un voyage
N’oubliez pas que la transformation numérique est un voyage et non pas une destination finale. C’est un processus continu, pas quelque chose qui se fait du jour au lendemain. La transformation numérique est également unique à chaque entreprise. Il n’existe pas d’approche universelle.
Quand vous vous lancez dans la transformation numérique, il est essentiel que vous restiez au fait des nouveautés et poursuiviez les efforts de transformation. Sinon, votre investissement en temps, en argent et en ressources n’aura servi à rien.
partagez ce billet avec vos amis, collègues et relations professionnelles
Si vous êtes en réflexion sur vos besoins en matière d’outillage pour votre management de portefeuille de projets, voici une fiche pratique pour vous aider à bien définir le cahier des charges !
Quel que soit votre choix final en matière de logiciel, je pense que vous trouverez ce modèle très utile et structurant. J’espère surtout qu’il vous permettra de n’oublier aucun aspect critique dans votre recherche en fonction de vos propres besoins.
Comment rédiger un cahier des charges pour un logiciel de gestion de portefeuille projets ?
Les points clés à ne pas oublier
Un guide de rédaction avec les rubriques principales pour expliciter votre besoin en matière de management de portefeuille de projets
Les informations à donner à l’éditeur pour qu’il vous réponde avec la bonne offre : Logiciel + prestations d’accompagnement.
Téléchargez ce guide sur le site de notre partenaire Virage Group
partagez ce billet avec vos amis, collègues et relations professionnelles
Les outils de planification vous aident et cependant, comme toute autre technologie, ils peuvent vous être défavorables. Déjouez ces principaux pièges !
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
Les 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
partagez ce billet avec vos amis, collègues et relations professionnelles
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
partagez ce billet avec vos amis, collègues et relations professionnelles
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.
partagez ce billet avec vos amis, collègues et relations professionnelles
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.
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.
partagez ce billet avec vos amis, collègues et relations professionnelles
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.
partagez ce billet avec vos amis, collègues et relations professionnelles
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 !
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
partagez ce billet avec vos amis, collègues et relations professionnelles
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.
partagez ce billet avec vos amis, collègues et relations professionnelles
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.
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 :
Valider 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
partagez ce billet avec vos amis, collègues et relations professionnelles
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?
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 :
Recueil des besoins et rédaction du cahier des charges
Analyse fonctionnelle
Développement du code
Intégration
Test et mise au point
Installation
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 :
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.
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.
La construction, où le logiciel est construit et testé et la documentation de support est produite.
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 !
partagez ce billet avec vos amis, collègues et relations professionnelles
Agile, c’est le développement itératif et progressif et la livraison fréquente avec un changement culturel vers la transparence.
Itératif signifie que nous prenons « un morceau à la fois » pour créer une fonction entière. Des approches itératives gèrent le risque technique. Nous apprenons du risque comme nous réitérons à travers le jeu entier des fonctionnalités.
Progressif signifie que nous livrons des portions de valeur. Les approches progressives managent le risque de planification, parce que nous délivrons un travail fini à chaque étape.
Book on Amazon
Agile fonctionne parce que nous manageons les risques techniques et ceux de planification. Nous réitérons sur un jeu de fonctionnalités, livrant de gros incréments de valeur. (Une raison pour livrer de la valeur souvent et que nous pouvons ainsi changer ce que l’équipe va faire ensuite).
Prenons l’exemple d’un jeu de fonctionnalités appelé: “l’établissement d’une connexion sécurisée”.
Personne ne veut avoir à s’identifier pour se connecter. Mais, les gens veulent avoir une forte sécurité pour leur paiement. Hors, l’établissement d’une connexion sûre peut être une façon d’arriver à garantir le paiement. Le thème, ou ce que j’appelle un jeu de fonctionnalités, est “l’établissement de la connexion sécurisée”. Un jeu de fonctionnalités, ce sont plusieurs fonctions reliées qui livrent un thème.
Si vous voulez réitérer sur le jeu de fonctionnalités, vous pourriez livrer ces incréments de valeur :
L’utilisateur existant déjà peut se connecter.
Les utilisateurs peuvent changer leur mot de passe.
Ajouter le nouvel utilisateur comme utilisateur.
Ajouter le nouvel utilisateur comme admin.
Empêcher des utilisateurs indésirables de se connecter : bots, certaines adresses IP, ou un emplacement physique. (3 histoires séparées.)
Si vous mettez en œuvre la première histoire, vous pouvez utiliser un fichier à plat. Vous pouvez toujours utiliser un fichier à plat pour la deuxième histoire. Une fois que vous commencez à ajouter plus de 10 utilisateurs, vous pourriez vouloir passer à une sorte de base de données. Ce serait une autre histoire utilisateur. Ce n’est pas “Créer une base de données.” L’histoire serait “Explorer des options pour permettre d’ajouter 10, 100, 1000, 10000 utilisateurs à notre site et voir quelles sont les implications en matière de performance et de fiabilité.”
Remarquez « explorer » comme une partie de l’histoire. Cela pousserait à produire des options que l’équipe puisse discuter avec le Product Owner. Certaines options ont des implications à l’exécution.
Chaque fois l’équipe réitère sur le jeu de fonctionnalités, elle livre un incrément. Puisque beaucoup d’équipes utilisent des durées de temps fixes (timebox), elles utilisent « des itérations » comme leur timebox. (Si vous utilisez Scrum, vous utilisez des sprints.) Remarquez les mots “réitère sur le jeu de fonctionnalités.”
Dans des cycles de vie progressifs, comme la livraison par étapes, l’équipe finirait toutes les fonctionnalités dans un jeu de fonctionnalités donné. Les cycles de vie incrémentaux n’ont pas nécessairement à utiliser des timeboxes pour livrer leur développement progressif. Dans les cycles de vie itératifs, comme spiral ou RUP, l’équipe développerait des prototypes de fonctionnalités, ou même finirait partiellement des fonctionnalités, mais l’intégration finale et les tests n’arrivent qu’après que tout le développement itératif ait été fait.
Dans Agile, nous réitérons sur un jeu de fonctionnalités, livrant la valeur progressivement.
Si vous ne finissez pas vos histoires, vous êtes dans un cycle de vie itératif. Si vous ne limitez pas les fonctionnalités que vous finissez et ne les terminez pas « toutes », vous êtes dans un cycle de vie progressif.
Il n’y a pas de bonne façon de choisir un cycle de vie pour votre projet. Si vous voulez utiliser agile, vous réitérez sur un jeu de fonctionnalités sur un bref cycle de temps, livrant de gros incréments de valeur.
CertYou est partenaire de DantotsuPM
partagez ce billet avec vos amis, collègues et relations professionnelles
L’approche « en cascade » d’analyse et de conception des systèmes a été créée dans les années 1970 et a gagné la popularité à cause de sa progression logique, linéaire. Les tâches sont décomposées en cinq parties qui suivent une progression ordonnée : définition des exigences, conception, mise en œuvre, vérification et maintenance. Dans la phase de définition des exigences, les programmeurs et le client déterminent le périmètre du projet; dans la phase de conception, les programmeurs créent des designs ou maquettes basiques et complexes; dans la phase de mise en œuvre, les programmeurs testent le code source comme le programme est écrit; dans la phase de vérification, les programmeurs évaluent la conception et corrigent les erreurs; et dans la phase de maintenance, les programmeurs apportent les changements nécessaires pour assurer que le système continue de fonctionner correctement. Chaque phase doit être soigneusement planifiée à l’avance pour assurer le succès.
Aujourd’hui, beaucoup de business optent au lieu de cela pour la gestion de projet Agile. Les personnes qui utilisent cette méthode se concentrent sur la production de petites parties du projet dans chaque cycle de livraison, plutôt que la création d’un plan pour le projet entier.
Cependant, l’approche en cascade traditionnelle du management de projet a toujours plusieurs bénéfices clefs.
D’abord, les développeurs et clients discutent ce qui sera livré tôt dans le processus, ce qui rend la planification et les phases de livraison plus évidentes.
Selon Techrepublic.com “l’accent sur les exigences et la conception avant l’écriture d’une seule ligne de code assure un gaspillage minimal de temps et d’effort et réduit le risque de dérapage de délais, ou d’attentes de client non atteintes.” Parce que les promoteurs et des clients discutent des objectifs finaux dans le détail, les deux parties ont une solide compréhension des attentes primaires et des résultats désirables. En conséquence, il est beaucoup plus facile de garantir que le projet est sur la bonne voie.
Ensuite, la méthode peut sauver du temps et de l’argent.
Livre sur Amazon
Les programmeurs développent seulement le code qui est en réalité nécessaire, ce qui sauve temps et effort pendant les étapes initiales. Les développeurs peuvent corriger n’importe quelles erreurs ou défauts tôt dans le processus, ce qui permet à la phase de mise en œuvre de se dérouler sans à-coup. Parce que l’objectif final est clairement défini dans les étapes de démarrage, toutes les parties comprennent les contraintes de temps et de finances du projet. Dans son livre paru en 1996 Rapid Development: Taming Wild Software Schedules Steve McConnell a évalué que “un défaut d’exigences qui reste non détecté jusqu’à la construction ou la maintenance coûte 50 à 200 fois autant pour le fixer qu’il n’aurait coûté au moment de la définition des exigences.” En conséquence, achever chaque cycle avant de passer au suivant garantie le succès au final.
Les travailleurs peuvent facilement déterminer combien de progrès ils font, car les attentes sont clairement définies avant que le projet ne commence.
Parce que le projet est clairement planifié du début à sa fin, les travailleurs peuvent rapidement mesurer leurs accomplissements et livrables. La méthode en cascade est idéale pour les équipes qui travaillent étroitement ensemble, puisqu’elle offre des tâches et des objectifs précis. Elle permet aussi aux développeurs de continuer à travailler sur le projet sans avoir besoin de la surveillance constante d’un manager.
Le logiciel peut être conçu en se basant sur une compréhension minutieuse des éléments à fournir.
Parce que la méthode traditionnelle entraîne une documentation minutieuse, les programmeurs peuvent garantir qu’ils répondent aux attentes des client avant que le projet ne soit achevé.
Enfin, les programmeurs peuvent facilement évaluer les résultats en fonction du résultat attendu.
Dans la phase de maintenance, les programmeurs et clients peuvent observer la solution pour déterminer si elle fonctionne correctement. S’il y a des problèmes, les programmeurs peuvent corriger les erreurs avant la remise du produit fini aux clients.
Microsoft est partenaire de DantotsuPM
Bien que moins flexible que la gestion Agile, la méthode en cascade fournit un plan clair de résultats attendus tant pour les programmeurs que pour les clients. Elle peut faire gagner du temps et de l’argent en offrant une stratégie bien définie. Ce n’est pas la méthode la plus populaire actuellement, mais c’est un système valable et qui peut être mis en œuvre avec presque n’importe quel logiciel de management de projet. Les sociétés et leurs clients devraient considérer les bénéfices de la méthode de management de projet en cascade traditionnelle.
Méta Projets Management est partenaire de DantotsuPM
Qu’en pensez-vous? Quelles sont vos expériences en la matière? Commentez ce billet.
Enregistrer
Enregistrer
partagez ce billet avec vos amis, collègues et relations professionnelles
Les dernières versions de MS Projet permettent de mettre en place très rapidement un projet simple à partir de modèles préremplis et de la planification automatique. Celle-ci permet d’insérer des tâches dans une chronologie d’un simple clic de souris.
Une troisième vidéo humoristique de notre partenaire Microsoft qui met en évidence certains des avantages à quitter Excel pour un outil dédié au management de projet.
Microsoft est partenaire de DantotsuPM
Enregistrer
Enregistrer
Enregistrer
partagez ce billet avec vos amis, collègues et relations professionnelles
Faire des rapports et prendre des décisions sur votre projet est bien plus aisé avec Project qu’avec Excel. Une seconde vidéo humoristique de notre partenaire Microsoft qui met en évidence certains des avantages à quitter Excel pour un outil dédié au management de projet.
Microsoft est partenaire de DantotsuPM
Enregistrer
Enregistrer
partagez ce billet avec vos amis, collègues et relations professionnelles
Une première vidéo humoristique de notre partenaire Microsoft 🙂 . Elle met en évidence certains des avantages à quitter Excel pour un outil dédié au management de projet et donc bien plus puissant tout en restant simple. En effet, Project permet d’opter pour une planification totalement manuelle si nous le souhaitons.
Microsoft est partenaire de DantotsuPM
Enregistrer
Enregistrer
Enregistrer
partagez ce billet avec vos amis, collègues et relations professionnelles