Philosophie du développement agile

Le développement agile est une méthode de développement centrée sur l’humain, itérative et graduelle. En développement agile, la construction d’un projet logiciel est découpée en plusieurs sous-projets, et les résultats de chaque sous-projet ont été testés et présentent des caractéristiques d’intégration et d’exploitation.

En d’autres termes, un grand projet est divisé en plusieurs petits projets qui sont interdépendants mais peuvent également être exécutés indépendamment et réalisés séparément. Au cours de ce processus, le logiciel est toujours dans un état utilisable.

Classification des modèles de développement agiles

Agile est un état d’esprit et c’est un ensemble de valeurs et de principes. Agile est une façon de penser et d’agir. Agile concerne les cycles courts, la livraison itérative et incrémentielle, l’échec rapide, l’obtention de retours d’information, la création précoce de valeur commerciale pour les clients et les personnes, la collaboration et l’interaction. Agile est un état d’esprit axé sur la transparence, l’inspection et l’adaptation. Agile ne consiste cependant pas en des  rôles , des événements ou  des artefacts . C’est un état d’esprit. Par exemple,  Scrum  est l’un des frameworks largement utilisés sous l’égide Agile, ce qui peut vous aider à devenir plus Agile, il existe cependant de nombreux autres frameworks dans le mouvement Agile, comme Kanban, XP, Crystal et bien d’autres, comme le montre la figure. au dessous de:

  • Programmation extrême XP (programmation extrême)
  • SCRUM
  • Kanban
  • Mince
  • Méthode cristalline
  • Méthode de développement de système dynamique

Parmi eux, XP et SCRUM sont les plus populaires.

Mêlée

Scrum est un cadre dans lequel les gens peuvent résoudre des problèmes adaptatifs complexes, tout en fournissant de manière productive et créative des produits de la plus haute valeur possible. Il est utilisé pour la gestion de projets logiciels et le développement de produits ou d’applications. Il se concentre sur une stratégie de développement de produits adaptatifs où une équipe interfonctionnelle travaille comme une unité pour atteindre un objectif commun en 2 à 4 semaines ( Sprint ). Il consiste en un ensemble de valeurs, d’artefacts, de rôles, de cérémonies, de règles et de meilleures pratiques.

Cadre Scrum

Mince

Lean est né du système de production Toyota, ou TPS, qui a révolutionné la fabrication de biens physiques dans les années 1950, 1960 et au-delà. Le Lean maintient son emprise sur la fabrication, mais a également trouvé de nouvelles applications dans le travail intellectuel, aidant les entreprises de tous les secteurs à  éliminer le gaspillage, à améliorer les processus et à stimuler l’innovation . Le développement de logiciels est une application naturelle de la méthodologie Lean car, tout comme la fabrication, il suit généralement un processus défini, a des conditions d’acceptation définies et aboutit à la livraison d’une valeur tangible. Les concepts clés qui guident toute pratique de la méthodologie Lean, que nous appelons les Piliers du Lean. Elles sont:

  • Amélioration continue
  • Respect des personnes
  • Leadership léger

Kanban

Kanban est une méthode de gestion de flux de travail très visuelle qui est populaire parmi les équipes Lean. En fait, 83 % des équipes pratiquant le Lean utilisent Kanban pour visualiser et gérer activement la création de produits en mettant l’accent sur la livraison continue, sans surcharger l’équipe de développement. Comme Scrum, Kanban est un processus conçu pour aider les équipes à travailler ensemble plus efficacement.

Kanban repose sur 3 principes de base :

  • Visualisez ce que vous allez faire aujourd’hui (workflow) : voir tous les éléments dans le contexte les uns des autres peut être très instructif
  • Limiter la quantité de travail en cours (WIP) : cela permet d’équilibrer l’approche basée sur les flux afin que les équipes ne commencent pas et ne s’engagent pas dans trop de travail à la fois
  • Améliorer le flux : lorsque quelque chose est terminé, l’élément suivant le plus prioritaire du backlog est mis en jeu

Kanban favorise la collaboration continue et encourage l’apprentissage et l’amélioration actifs et continus en définissant le meilleur flux de travail d’équipe possible.

Méthode de développement de systèmes dynamiques (DSDM)

DSDM est un cadre composé de huit principes, d’un cycle de vie et de produits, de rôles et responsabilités et de plusieurs techniques de bonnes pratiques. Celles-ci sous-tendent et soutiennent une philosophie consistant à fournir des avantages commerciaux stratégiquement alignés le plus tôt possible pour donner à une organisation le meilleur retour sur investissement (ROI) possible.

DSDM est une méthodologie qui donne la priorité au calendrier et à la qualité plutôt qu’à la fonctionnalité, qui fixe le coût, la qualité et le temps au départ et utilise la méthode de priorisation MoSCoW, qui décompose un projet en quatre types d’exigences différentes :

  • Doit avoir (M)
  • Devrait avoir (S)
  • Aurait pu ©
  • N’aura pas (W)

Huit principes sous-tendent la DSDM Atern. Ces principes orientent l’équipe dans l’attitude qu’elle doit adopter et l’état d’esprit qu’elle doit adopter pour livrer de manière cohérente.

  1. Concentrez-vous sur le besoin de l’entreprise
  2. Livrer à temps
  3. Collaborer
  4. Ne compromettez jamais la qualité
  5. Construire progressivement à partir de fondations solides
  6. Développer de manière itérative
  7. Communiquer de façon continue et claire
  8. Démontrer le contrôle

Programmation extrême

La programmation extrême  (XP), décrite à l’origine par Kent Beck, est devenue l’une des méthodologies Agiles les plus populaires et les plus controversées. XP est une approche disciplinée pour fournir rapidement et en continu des logiciels de haute qualité. Il vise à améliorer la qualité et la réactivité des logiciels face à l’évolution des besoins des clients. Il favorise une forte implication des clients, des boucles de rétroaction rapides, des tests continus, une planification continue et un travail d’équipe étroit pour fournir des logiciels fonctionnels à des intervalles très fréquents, généralement toutes les 1 à 3 semaines.

La programmation extrême expliquée

Quelles sont les valeurs clés des méthodes agiles ?

Le terme « Agile » a été inventé en 2001 dans le Manifeste Agile. Le manifeste visait à établir des principes pour guider une meilleure approche du développement de logiciels. Le Manifeste Agile se compose de 4 valeurs importantes. La façon de lire le Manifeste Agile n’est pas que les éléments du côté droit n’ont plus de valeur, mais le mouvement Agile valorise davantage les éléments de gauche.

Il y a quatre valeurs clés qui sont les blocs de construction de chaque composant dans une approche Agile. Ils mettent l’accent sur un changement d’orientation des pratiques et des processus vers les personnes et la collaboration.

Ces quatre valeurs informent les meilleures pratiques agiles, en mettant l’accent sur la flexibilité afin que les équipes puissent mieux travailler ensemble pour accomplir les tâches. Les pratiques agiles augmentent l’importance de l’objectif final tout au long du processus. Si les gens peuvent bien travailler ensemble, s’adapter aux nouveaux changements et produire, peu importe comment ils le font.

12 bonnes pratiques

En complément du Manifeste Agile, l’Alliance Agile a également défini un ensemble de 12 principes sous-jacents, qui fournissent des conseils et des explications plus détaillées en plus du Manifeste Agile :

Développement Agile — 12 bonnes pratiques
  1. Notre priorité absolue est de satisfaire le client grâce à la livraison rapide et continue de logiciels de valeur.
  2. Accueillez les exigences changeantes, même tardivement dans le développement. Les processus agiles exploitent le changement pour l’avantage concurrentiel du client.
  3. Fournissez fréquemment des logiciels fonctionnels, de quelques semaines à quelques mois, en privilégiant les délais les plus courts.
  4. Métiers et développeurs doivent travailler ensemble au quotidien tout au long du projet.
  5. Construire des projets autour d’individus motivés. Donnez-leur l’environnement et le soutien dont ils ont besoin, et faites-leur confiance pour faire le travail.
  6. La méthode la plus efficiente et la plus efficace pour transmettre des informations à une équipe de développement et au sein de celle-ci est la conversation en face à face.
  7. Le logiciel de travail est la principale mesure de progrès.
  8. Les processus agiles favorisent le développement durable.
  9. Les sponsors, développeurs et utilisateurs doivent pouvoir maintenir indéfiniment un rythme constant.
  10. Une attention continue à l’excellence technique et à une bonne conception améliore l’agilité.
  11. La simplicité – l’art de maximiser la quantité de travail non fait – est essentielle.
  12. Les meilleures architectures, exigences et conceptions émergent d’équipes auto-organisées. À intervalles réguliers, l’équipe réfléchit à la manière de devenir plus efficace, puis ajuste et ajuste son comportement en conséquence.

Sommaire

Le développement agile est l’un des grands mots à la mode de l’industrie du développement de logiciels, qui est une manière différente de gérer des projets de développement de logiciels. Plutôt qu’une méthode de développement logiciel spécifique, il s’agit d’un terme générique désignant un ensemble de méthodes et de pratiques basées sur les valeurs et les principes exprimés dans le Manifeste Agile. Les solutions évoluent grâce à la collaboration entre des équipes interfonctionnelles auto-organisées utilisant les pratiques appropriées à leur contexte.

Développement Agile Lecture

Leave a Reply

Votre adresse e-mail ne sera pas publiée.