Comme son nom l'indique, TDD est une technique pilotée par les tests pour fournir rapidement et durablement des logiciels de haute qualité. Il s'agit d'une approche itérative basée sur l'idée qu'un test défaillant doit être écrit avant l'écriture de tout code pour une fonctionnalité ou une fonction. Le développement piloté par les tests (TDD) est une approche du développement logiciel qui s'appuie sur des cycles de développement très courts.
Table des matières
Comprendre le développement piloté par les tests
Le développement piloté par les tests a eu une influence significative sur les logiciels conception, avec un accent particulier sur les exigences non fonctionnelles telles que la convivialité, la sécurité et la maintenabilité.
Ces petits tests permettent aux développeurs de conception systèmes à partir de zéro, ajoutant rapidement de la valeur et augmentant la confiance dans le système lui-même.
Un cycle typique de développement piloté par les tests
TDD suit invariablement le cycle "Red-Green-Refactor", décrit comme suit :
Commencez par ajouter une unité de test à la suite de tests. Cette unité de test doit décrire un aspect du programme.
(Rouge) Exécutez tous les tests, qui devraient échouer car le programme ne dispose pas de cette fonctionnalité.
(Green) Écrivez juste assez de code de la manière la plus simple possible pour permettre au test de réussir. Cette étape est parfois appelée « faire passer ».
Exécutez à nouveau tous les tests.
(Refactoriser) Améliorez le code d'origine tout en gardant les tests verts. Assurez-vous que l'accent mis sur la simplicité est maintenu.
Répétez et accumulez les tests unitaires au fil du temps.
Forces et faiblesses du TDD
Nos points forts
Amélioration de la qualité du code résultant de la réduction des défauts et des erreurs
TDD oblige les développeurs à prendre en compte l'objectif et la spécification du code.
Il aide également les développeurs à simplifier l'écriture de code et à éviter le code complexe qui peut héberger des bogues.
Enfin, la refactorisation TDD garantit que les modifications de code ou le nouveau code n'affectent pas l'intégrité du code existant.
Réduction de la taille des lots
Dans d'autres méthodologies agiles, les développeurs travaillent sur une fonctionnalité jusqu'à son achèvement avec peu de contribution des autres.
TDD encourage le développeur à réduire la taille du lot pour améliorer la visibilité du projet, la flexibilité et la collaboration des parties prenantes.
En fin de compte, cela fait également de TDD un processus agile centré sur le client.
Encourage le moral élevé des développeurs
À l'occasion, les promoteurs sont démoralisés face à des projets vastes et complexes.
TDD distille de grands projets en de nombreux petits morceaux qui offrent des gains rapides et relativement faciles pour le développeur.
En plus d'améliorer le moral et la confiance, le développeur sait ce qui a été achevé et ce qu'il reste à faire.
Faiblesses
Peut prendre plus de temps à mettre en œuvre initialement
Les programmeurs qui se sont habitués à écrire du code qui peut être exécuté immédiatement peuvent trouver TDD lent et difficile à mettre en œuvre.
La même chose peut être dite pour les programmeurs qui n'ont jamais écrit de tests en premier lieu.
Cependant, toute lenteur perçue est au mieux une illusion.
Bien que TDD puisse prendre un certain temps pour s'y habituer, il offre des avantages significatifs en termes d'efficacité à mesure que le développement progresse.
Suites de tests mal entretenues ou abandonnées
Un manque de maintenance de la suite de tests peut conduire à un cycle TDD avec un temps d'exécution prohibitif.
Les suites de tests peuvent également être abandonnées ou rarement exécutées en raison d'un mauvais entretien ou de changements dans la composition de l'équipe.
Exemple de développement piloté par les tests
Dans l'exemple de développement piloté par les tests suivant, considérez un système de gestion des utilisateurs permettant aux nouveaux clients de créer un nom d'utilisateur et un mot de passe pour une authentification future.
Pour que le nom d'utilisateur et le mot de passe soient valides, certaines règles commerciales doivent être respectées.
Analyser plusieurs règles dépasserait le cadre de cet article. Par souci de brièveté, nous décrirons donc une règle qui valide la longueur minimale du mot de passe.
Supposons également que l'entreprise est stricte en matière de sécurité et exige que le mot de passe comporte au moins 12 caractères.
Avec cette règle définie, nous pouvons maintenant créer nos tests et coder en conséquence en utilisant un langage tel que Java ou Python.
Étape 1 - Rédiger un cas de test défaillant
L'équipe de développement commence par écrire le code d'un scénario de test défaillant. Dans cet exemple, ils affirment que si la longueur d'un mot de passe entré par l'utilisateur est de 7 caractères, alors ils devraient recevoir un message d'erreur.
Cela peut simplement se lire comme suit : «La longueur du mot de passe doit être d'au moins 12 caractères. »
Pour ce faire, l'équipe appelle une fonction "ValidatePassword" qui prend un argument de chaîne.
La fonction fait également partie d'une classe appelée "ValidatorService" qui est initiée dans la fonction setUp de la classe de test.
Étape 2 - Exécutez le test unitaire
L'équipe exécute ensuite le test mais reçoit une erreur car elle n'a pas encore créé la classe "ValidatorService".
La classe est créée et le test est exécuté une fois de plus.
N'oubliez pas que le développement piloté par les tests nécessite que l'équipe écrive juste assez de code pour que le test qui échoue réussisse.
Après avoir exécuté le test une deuxième fois, une autre erreur liée au test de recherche de la fonction se présente.
L'équipe développe une fonction d'espace réservé et exécute le test pour la troisième fois.
Le test passe.
Étape 3 - Créer le code
Il est maintenant temps d'écrire le code pour la fonctionnalité réelle du système de gestion des utilisateurs.
En d'autres termes, pour authentifier la longueur du mot de passe et exécuter le cas de test.
L'équipe exécute quelques cas de test génériques et chacun réussit, mais ils remarquent en conséquence qu'il y a des répétitions dans le code.
Ils décident de refactoriser le code pour maintenir l'accent sur la simplicité sans affecter la viabilité du test.
Étant donné que l'équipe utilise PHPUnit pour écrire le code, elle peut tirer parti de la fonctionnalité "fournisseur de données" qui simplifie le processus de refactorisation.
L'équipe refactorise également le code d'implémentation, en s'assurant qu'après chaque modification, les cas de test réussissent toujours.
À ce stade, d'autres cas de test peuvent être ajoutés pour valider différentes règles métier.
Le mot de passe, par exemple, peut nécessiter un certain nombre de caractères spéciaux ou de lettres majuscules.
Quelles que soient les règles mises en œuvre, il est important que les développeurs refactorisent le code au fur et à mesure des besoins afin que les problèmes à l'origine des échecs des tests puissent être facilement identifiés.
TDD contre ATDD
Le développement piloté par les tests d'acceptation (ATDD) fait partie de la méthodologie agile où les tests automatisés sont écrits du point de vue de l'utilisateur. Contrairement au développement piloté par les tests - où les tests d'acceptation sont créés du point de vue du développeur - ATDD préconise l'automatisation des tests du point de vue de l'utilisateur.
Alors qu'un développement piloté par les tests favorise une livraison rapide dans des cycles courts en créant des unités de test.
Une approche de développement axée sur l'acceptation, qui fait également partie du méthodologie agile, essaie d'équilibrer le test en tenant compte du point de vue de l'utilisateur.
Plus précisément, il le fait en évaluant et en intégrant dans l'environnement de test la collaboration entre ce que l'on appelle les « trois amigos » (client, développeur et testeur).
Points clés
Le Test-Driven Development est une approche de développement logiciel agile qui privilégie la livraison rapide de cycles de développement très courts.
Le cycle de test « Red-Green-Refactor » est fondamental pour le développement piloté par les tests. TDD soutient que les tests d'échec doivent être effectués avant l'écriture de tout code de fonctionnalité ou de fonction.
Le développement piloté par les tests améliore la qualité du code et le moral des développeurs tout en réduisant la taille des lots. Cependant, certaines équipes de projet peuvent connaître une courbe d'apprentissage initiale abrupte, en particulier si elles ne sont pas habituées à la méthodologie.
Faits saillants
Définition et approche :
TDD est une technique pilotée par les tests pour fournir rapidement et durablement des logiciels de haute qualité.
Il s'agit d'une approche itérative dans laquelle les tests qui échouent sont écrits avant que le code d'une fonctionnalité ne soit développé.
Cycle TDD :
TDD suit le cycle « Red-Green-Refactor » :
Rouge: Rédigez un test d'échec pour la fonctionnalité souhaitée.
Green: Écrivez le code le plus simple pour faire passer le test.
Refactoriser: Améliorer le code tout en gardant les tests réussis.
Ce cycle aide à maintenir l'intégrité du code et simplifie le développement.
Influence sur la conception de logiciels :
TDD met l'accent sur les exigences non fonctionnelles telles que la convivialité, la sécurité et la maintenabilité.
Il permet aux développeurs de conception systèmes progressivement et en toute confiance.
Points forts de TDD :
Amélioration de la qualité du code grâce à la réduction des défauts et à l'amélioration des spécifications.
Oblige les développeurs à tenir compte de l'objectif et des spécifications du code.
Encourage le code simple conception, en évitant le code complexe et bogué.
Prend en charge la refactorisation du code sans compromettre les fonctionnalités existantes.
Réduit la taille des lots, améliorant la visibilité du projet et la collaboration des parties prenantes.
Stimule le moral des développeurs avec des gains rapides et une progression plus claire du projet.
Faiblesses de TDD :
La mise en œuvre initiale peut prendre plus de temps pour ceux qui découvrent TDD.
Des suites de tests mal entretenues peuvent entraîner des cycles lents ou des abandons.
Exemple TDD :
Exemple d'implémentation d'une règle de validation de longueur de mot de passe à l'aide de TDD.
Les étapes comprennent l'écriture de tests qui échouent, la création de code pour réussir les tests et la refactorisation.
TDD contre ATDD :
TDD se concentre sur l'écriture de tests du point de vue du développeur.
Le développement piloté par les tests d'acceptation (ATDD) se concentre sur l'écriture de tests du point de vue de l'utilisateur.
ATDD vise la collaboration entre les clients, les développeurs et les testeurs.
Principaux plats à emporter:
TDD est une approche agile mettant l'accent sur des cycles de développement courts et un code de haute qualité.
TDD suit un cycle d'écriture de tests défaillants, d'implémentation de code et de refactorisation.
TDD améliore la qualité du code, le moral des développeurs et la visibilité des projets.
La courbe d'apprentissage initiale peut être difficile pour les équipes qui découvrent TDD.
AIOps est l'application de l'intelligence artificielle aux opérations informatiques. Il est devenu particulièrement utile pour la gestion informatique moderne dans des environnements hybrides, distribués et dynamiques. L'AIOps est devenu un composant opérationnel clé des organisations modernes basées sur le numérique, construit autour de logiciels et d'algorithmes.
Agile a commencé comme une méthode de développement légère par rapport au développement de logiciels lourds, qui est le paradigme central des décennies précédentes de développement de logiciels. En 2001, le Manifeste pour le développement logiciel agile est né comme un ensemble de principes définissant le nouveau paradigme du développement logiciel comme une itération continue. Cela influencerait également la façon de faire des affaires.
La gestion de programme agile est un moyen de gérer, de planifier et de coordonner des travaux interdépendants de manière à mettre l'accent sur la valeur ajoutée pour toutes les parties prenantes clés. La gestion de programme agile (AgilePgM) est une approche agile disciplinée mais flexible pour gérer le changement transformationnel au sein d'une organisation.
La gestion de projet agile (APM) est une qui décompose les grands projets en tâches plus petites et plus gérables. Dans la méthodologie APM, chaque projet est réalisé en petites sections - souvent appelées itérations. Chaque itération est complétée selon son cycle de vie de projet, en commençant par le conception et passer aux tests puis à l'assurance qualité.
La modélisation agile (AM) est une méthodologie de modélisation et de documentation de systèmes logiciels. La modélisation agile est essentielle à la livraison rapide et continue de logiciels. Il s'agit d'un ensemble de valeurs, de principes et de pratiques qui guident une modélisation logicielle efficace et légère.
Agile Business Analysis (AgileBA) est une certification sous forme d'orientation et de formation pour les analystes commerciaux qui souhaitent travailler dans des environnements agiles. Pour soutenir ce changement, AgileBA aide également l'analyste métier à relier les projets Agile à une organisation plus large. mission or . Pour s'assurer que les analystes disposent des compétences et de l'expertise nécessaires, la certification AgileBA a été développée.
Le leadership agile est l'incarnation des principes du manifeste agile par un manager ou une équipe de direction. Le leadership agile a un impact sur deux niveaux importants d'une entreprise. Le niveau structurel définit les rôles, les responsabilités et les indicateurs de performance clés. Le niveau comportemental décrit les actions que les leaders montrent aux autres sur la base des principes agiles.
Le système andon alerte le personnel de gestion, de maintenance ou autre d'un problème de processus de production. L'alerte elle-même peut être activée manuellement avec un bouton ou un cordon, mais elle peut également être activée automatiquement par l'équipement de production. La plupart des cartes Andon utilisent trois lumières colorées similaires à un feu de circulation : vert (aucune erreur), jaune ou orange (problème identifié ou contrôle de qualité nécessaire) et rouge (production arrêtée en raison d'un problème non identifié).
La gestion de portefeuille bimodale (BimodalPfM) aide une organisation à gérer simultanément des portefeuilles agiles et traditionnels. La gestion de portefeuille bimodale - parfois appelée développement bimodal - a été inventée par la société de recherche et de conseil Gartner. L'entreprise a fait valoir que de nombreuses organisations agiles avaient encore besoin de gérer certains aspects de leurs opérations en utilisant des modèles de livraison traditionnels.
Businesss innovation consiste à créer de nouvelles opportunités pour une organisation de réinventer ses offres de base, ses sources de revenus et d'améliorer la proposition de valeur pour les clients existants ou nouveaux, renouvelant ainsi l'ensemble de son activité modèle. Affaires innovation découle de la compréhension de la structure du marché, adaptant ou anticipant ainsi ces changements.
Businesss modèleinnovation consiste à accroître le succès d'une organisation avec des produits et des technologies existants en créant un proposition de valeur capable de propulser un nouveau modèle d'affaires pour augmenter la clientèle et créer un avantage concurrentiel durable. Et tout commence par la maîtrise des clients clés.
Un consommateur récemment conçus Une entreprise comme Procter & Gamble (P&G) définit la « perturbation constructive » comme : une volonté de changer, de s'adapter et de créer de nouvelles tendances et technologies qui façonneront notre industrie pour l'avenir. Selon P&G, il s'articule autour de quatre piliers : lean innovation, récemment conçus bâtiment, chaîne d'approvisionnement, numérisation et analyse de données.
C'est un processus qui nécessite une boucle de rétroaction continue pour développer un produit de valeur et créer une entreprise viable. modèle. Continu innovation est un état d'esprit où les produits et services sont conçus et livrés pour les ajuster autour du problème des clients et non de la solution technique de ses fondateurs.
A conception sprint est un processus éprouvé de cinq jours où les questions critiques de l'entreprise reçoivent une réponse rapide conception et le prototypage, en se concentrant sur l'utilisateur final. UN conception le sprint commence par un défi hebdomadaire qui devrait se terminer par un prototype, un test à la fin, et donc une leçon apprise à itérer.
Tim Brown, président exécutif d'IDEO, a défini conception comme « une approche centrée sur l'humain innovation qui s'inspire de la boîte à outils du concepteur pour intégrer les besoins des personnes, les possibilités de la technologie et les exigences du succès de l'entreprise. Par conséquent, l'opportunité, la faisabilité et la viabilité sont équilibrées pour résoudre les problèmes critiques.
DevOps fait référence à une série de pratiques exécutées pour effectuer des processus de développement de logiciels automatisés. Il s'agit d'une conjugaison des termes « développement » et « opérations » pour souligner la manière dont les fonctions s'intègrent dans les équipes informatiques. Les stratégies DevOps favorisent la création, le test et le déploiement transparents des produits. Il vise à combler un fossé entre les équipes de développement et d'exploitation afin de rationaliser le développement dans son ensemble.
La découverte de produits est un élément essentiel des méthodologies agiles, car son objectif est de s'assurer que les produits que les clients adorent sont créés. La découverte de produits implique l'apprentissage à travers une série de méthodes, y compris conception la réflexion, le lean start-up et les tests A/B pour n'en nommer que quelques-uns. Dual Track Agile est une méthodologie agile contenant deux pistes distinctes : la piste « découverte » et la piste « livraison ».
eXtreme Programming a été développé à la fin des années 1990 par Ken Beck, Ron Jeffries et Ward Cunningham. Pendant ce temps, le trio travaillait sur le Chrysler Comprehensive Compensation System (C3) pour aider à gérer le système de paie de l'entreprise. eXtreme Programming (XP) est une méthodologie de développement logiciel. Il est conçu pour améliorer la qualité des logiciels et la capacité des logiciels à s'adapter aux besoins changeants des clients.
Le développement piloté par les fonctionnalités est un processus logiciel pragmatique centré sur le client et l'architecture. Le développement piloté par les fonctionnalités (FDD) est un développement logiciel agile modèle qui organise le flux de travail en fonction des fonctionnalités à développer ensuite.
Un Gemba Walk est un élément fondamental du lean management. Il décrit l'observation personnelle du travail pour en savoir plus sur celui-ci. Gemba est un mot japonais qui se traduit vaguement par « l'endroit réel » ou, dans le monde des affaires, « l'endroit où la valeur est créée ». Le Gemba Walk en tant que concept a été créé par Taiichi Ohno, le père du système de production Toyota de fabrication allégée. Ohno voulait encourager les cadres dirigeants à quitter leurs bureaux et à voir où se passait le vrai travail. Cela, espérait-il, établirait des relations entre des employés aux compétences très différentes et renforcerait la confiance.
GIST Planning est une approche agile relativement simple et légère de la planification des produits qui favorise le travail autonome. GIST Planning est une méthodologie allégée et agile qui a été créée par l'ancien chef de produit Google Itamar Gilad. GIST Planning cherche à remédier à cette situation en créant des plans légers, réactifs et adaptables au changement. GIST Planning améliore également la vélocité, l'autonomie et l'alignement de l'équipe en réduisant l'influence omniprésente de la direction. Il se compose de quatre blocs : objectifs, idées, projets par étapes et tâches.
Le modèle de notation ICE est une méthodologie agile qui hiérarchise les fonctionnalités à l'aide de données selon trois composants : impact, confiance et facilité de mise en œuvre. Le modèle de notation ICE a été initialement créé par l'auteur et l'expert Sean Ellis pour aider les entreprises à se développer. Aujourd'hui le modèle est largement utilisé pour hiérarchiser les projets, les fonctionnalités, les initiatives et les déploiements. Il convient parfaitement au développement de produits à un stade précoce où il existe un flux continu d'idées et où l'élan doit être maintenu.
An innovation l'entonnoir est un outil ou un processus garantissant que seules les meilleures idées sont exécutées. Dans un sens métaphorique, l'entonnoir sélectionne des idées innovantes pour la viabilité afin que seuls les meilleurs produits, processus ou modèles d'affaires sont lancés sur le marché. Un innovation funnel fournit un cadre pour la sélection et le test d'idées innovantes pour la viabilité.
Selon le niveau de définition du problème et le niveau de définition du domaine, nous avons quatre principaux types d'innovations : la recherche fondamentale (problème et domaine ou non bien définis) ; percée innovation (le domaine n'est pas bien défini, le problème est bien défini) ; soutenir innovation (le problème et le domaine sont bien définis); et perturbateur innovation (le domaine est bien défini, le problème n'est pas bien défini).
Le innovation loop est une méthodologie/un cadre dérivé des Bell Labs, qui a produit innovation à grande échelle tout au long du XXe siècle. Ils ont appris à tirer parti d'un hybride innovation gestion modèle basée sur la science, l'invention, l'ingénierie et la fabrication à grande échelle. En tirant parti du génie individuel, de la créativité et des petits/grands groupes.
La méthodologie Agile a été principalement pensée pour le développement de logiciels (et d'autres disciplines commerciales l'ont également adoptée). La pensée Lean est une technique d'amélioration des processus où les équipes priorisent les flux de valeur pour l'améliorer en permanence. Les deux méthodologies considèrent le client comme le principal moteur de l'amélioration et de la réduction des déchets. Les deux méthodologies considèrent l'amélioration comme quelque chose de continu.
Une start-up est une entreprise de haute technologie qui essaie de construire une entreprise évolutive modèle d'affaires dans les industries axées sur la technologie. Une start-up suit généralement une méthodologie Lean, où la innovation, entraîné par des boucles virales intégrées est la règle. Ainsi, la conduite et la construction effets de réseau en conséquence de cela .
Comme l'a souligné Eric Ries, un produit minimum viable est la version d'un nouveau produit qui permet à une équipe de collecter le maximum d'apprentissage validé sur les clients avec le moins d'effort grâce à un cycle de construction, mesure, apprentissage ; c'est le fondement de la démarrage maigre méthodologie.
Kanban est un cadre de fabrication allégée développé pour la première fois par Toyota à la fin des années 1940. Le cadre Kanban est un moyen de visualiser le travail au fur et à mesure qu'il progresse en identifiant les goulots d'étranglement potentiels. Il le fait grâce à un processus appelé fabrication juste à temps (JIT) pour optimiser les processus d'ingénierie, accélérer la fabrication des produits et améliorer la mise sur le marché. .
Le jidoka a été utilisé pour la première fois en 1896 par Sakichi Toyoda, qui a inventé un métier à tisser textile qui s'arrêtait automatiquement lorsqu'il rencontrait un fil défectueux. Jidoka est un terme japonais utilisé dans le lean manufacturing. Le terme décrit un scénario dans lequel les machines cessent de fonctionner sans intervention humaine lorsqu'un problème ou un défaut est découvert.
Le cycle PDCA (Plan-Do-Check-Act) a été proposé pour la première fois par le physicien et ingénieur américain Walter A. Shewhart dans les années 1920. Le cycle PDCA est une méthode d'amélioration continue des processus et des produits et un élément essentiel de la philosophie de fabrication au plus juste.
Le processus unifié rationnel (RUP) est une méthodologie de développement logiciel agile qui décompose le cycle de vie du projet en quatre phases distinctes.
RAD a été introduit pour la première fois par l'auteur et consultant James Martin en 1991. Martin a reconnu et a ensuite profité de l'infinie malléabilité des logiciels dans la conception de modèles de développement. Le développement rapide d'applications (RAD) est une méthodologie axée sur la livraison rapide grâce à une rétroaction continue et à des itérations fréquentes.
Des analyses rétrospectives ont lieu après un projet pour déterminer ce qui a bien fonctionné et ce qui n'a pas fonctionné. Ils sont également menés à l'issue d'une itération en gestion de projet Agile. Les praticiens agiles appellent ces réunions des rétrospectives ou des rétrospectives. Ils sont un moyen efficace de prendre le pouls d'une équipe de projet, de réfléchir au travail effectué à ce jour et de parvenir à un consensus sur la manière d'aborder le prochain cycle de sprint. Ce sont les cinq étapes d'une rétrospective analyse pour une gestion de projet Agile efficace : préparez le terrain, rassemblez les données, générez des idées, décidez des prochaines étapes et clôturez la rétrospective.
Scaled Agile Lean Development (ScALeD) aide les entreprises à découvrir une approche équilibrée de la transition agile et des questions de mise à l'échelle. L'approche ScALed aide les entreprises à répondre avec succès au changement. Inspiré par une combinaison de valeurs lean et agiles, ScALed est basé sur les praticiens et peut être complété par divers cadres et pratiques agiles.
La méthode SMED (single minute exchange of die) est un cadre de production allégée pour réduire les déchets et augmenter l'efficacité de la production. La méthode SMED est un cadre pour réduire le temps associé à l'achèvement d'un changement d'équipement.
Le modèle Spotify est une approche autonome de mise à l'échelle agile, axée sur la communication culturelle, la responsabilité et la qualité. Le Spotify modèle a été reconnu pour la première fois en 2012 après Henrik Kniberg, et Anders Ivarsson a publié un livre blanc détaillant comment la société de streaming Spotify a abordé l'agilité. Par conséquent, le Spotify modèle représente une évolution de l'agile.
Comme son nom l'indique, TDD est une technique pilotée par les tests pour fournir rapidement et durablement des logiciels de haute qualité. Il s'agit d'une approche itérative basée sur l'idée qu'un test défaillant doit être écrit avant l'écriture de tout code pour une fonctionnalité ou une fonction. Le développement piloté par les tests (TDD) est une approche du développement logiciel qui s'appuie sur des cycles de développement très courts.
Le timeboxing est une technique de gestion du temps simple mais puissante pour améliorer la productivité. Timeboxing décrit le processus de planification proactive d'un bloc de temps à consacrer à une tâche dans le futur. Il a été décrit pour la première fois par l'auteur James Martin dans un livre sur le développement logiciel agile.
Scrum est une méthodologie co-créée par Ken Schwaber et Jeff Sutherland pour une collaboration d'équipe efficace sur des produits complexes. Scrum a été principalement pensé pour les projets de développement de logiciels afin de fournir de nouvelles capacités logicielles toutes les 2 à 4 semaines. C'est un sous-groupe d'agile également utilisé dans la gestion de projet pour améliorer la productivité des startups.
Scrumban est un cadre de gestion de projet qui est un hybride de deux méthodologies agiles populaires : Scrum et Kanban. Scrumban est une approche populaire pour aider les entreprises à se concentrer sur les bonnes tâches stratégiques tout en renforçant simultanément leurs processus.
Les anti-modèles Scrum décrivent toute solution attrayante et facile à mettre en œuvre qui finit par aggraver un problème. Par conséquent, ce sont les pratiques à ne pas suivre pour éviter que des problèmes n'apparaissent. Certains exemples classiques d'anti-modèles Scrum comprennent les Product Owners absents, les tickets pré-assignés (faisant travailler les individus de manière isolée) et les rétrospectives à prix réduits (où les réunions de revue ne sont pas utiles pour vraiment apporter des améliorations).
Scrum à l'échelle (Scrum@Scale) est un cadre que les équipes Scrum utilisent pour résoudre des problèmes complexes et fournir des produits à haute valeur ajoutée. Scrum at Scale a été créé par le biais d'une joint-venture entre Scrum Alliance et Scrum Inc. La joint-venture était supervisée par Jeff Sutherland, co-créateur de Scrum et l'un des principaux auteurs du Manifeste Agile.
Six Sigma est une approche et une méthodologie axées sur les données pour éliminer les erreurs ou les défauts dans un produit, un service ou un processus. Six Sigma a été développé par Motorola comme une approche de gestion basée sur des fondamentaux de qualité au début des années 1980. Une décennie plus tard, elle a été popularisée par General Electric qui a estimé que la méthodologie leur avait permis d'économiser 12 milliards de dollars au cours des cinq premières années d'exploitation.
Les objectifs étendus décrivent toute tâche qu'une équipe agile prévoit d'accomplir sans s'engager expressément à le faire. Les équipes intègrent des objectifs étendus lors d'un sprint ou d'un incrément de programme (PI) dans le cadre de Scaled Agile. Ils sont utilisés lorsque l'équipe agile n'est pas sûre de sa capacité à atteindre un objectif. Par conséquent, les objectifs étendus sont plutôt des résultats qui, bien qu'extrêmement souhaitables, ne font pas la différence entre le succès ou l'échec de chaque sprint.
Le système de production Toyota (TPS) est une forme précoce de fabrication allégée créée par le constructeur automobile Toyota. Créé par Toyota Motor Corporation dans les années 1940 et 50, le système de production Toyota vise à fabriquer les véhicules commandés par les clients le plus rapidement et le plus efficacement possible.
Le cadre de gestion de la qualité totale (TQM) est une technique basée sur le principe que les employés travaillent en permanence sur leur capacité à apporter de la valeur aux clients. Il est important de noter que le mot « total » signifie que tous les employés sont impliqués dans le processus, qu'ils travaillent dans le développement, la production ou l'exécution.
Le modèle de cascade a été décrit pour la première fois par Herbert D. Benington en 1956 lors d'une présentation sur le logiciel utilisé dans l'imagerie radar pendant la guerre froide. Puisqu'il n'existait pas à l'époque de stratégies de développement de logiciels créatives et basées sur les connaissances, la méthode en cascade est devenue une pratique courante. Le modèle en cascade est un cadre de gestion de projet linéaire et séquentiel.
Gennaro est le créateur de FourWeekMBA, qui a atteint environ quatre millions d'hommes d'affaires, comprenant des cadres de niveau C, des investisseurs, des analystes, des chefs de produit et des entrepreneurs numériques en herbe rien qu'en 2022 | Il est également directeur des ventes pour une mise à l'échelle de haute technologie dans l'industrie de l'IA | En 2012, Gennaro a obtenu un MBA international avec un accent sur la finance d'entreprise et la stratégie commerciale.