Développement de logiciels adaptatifs - Évolution

Les modèles SDLC antérieurs sont davantage orientés vers les pratiques de stabilité, de prévisibilité et de rendements décroissants. L'industrie, comme les plates-formes Internet, a évolué pour augmenter les environnements de retour, les approches imprévisibles, non linéaires et rapides.

Le développement de logiciels adaptatifs (ASD) a évolué pour résoudre ces problèmes. Il se concentre sur l'émergence comme le facteur le plus important du point de vue de la direction, pour améliorer la capacité à gérer le développement de produits.

Selon Jim Highsmith, «le cadre de développement de logiciels adaptatifs est basé sur des années d'expérience avec les méthodologies de développement de logiciels traditionnelles, en consultant, en pratiquant et en écrivant sur les techniques de développement rapide d'applications (RAD) et en travaillant avec des sociétés de logiciels de haute technologie pour gérer le développement de leurs produits. les pratiques".

Le modèle en cascade se caractérise par sa linéarité et sa prévisibilité, avec une faible rétroaction. Il peut être considéré comme une séquence dePlan → Build → Implement.

Les modèles Evolutionary Lifecycle tels que le modèle Spiral ont déplacé l'approche déterministe vers l'approche adaptative, avec Plan → Build → Revise Cycles.

Cependant, l'état d'esprit des praticiens est resté déterministe, la prévisibilité à long terme se tournant vers la prévisibilité à court terme. Les pratiques des modèles de cycle de vie évolutifs tels que RAD se révèlent moins déterministes.

Le cycle de vie adaptatif

Le modèle adaptatif est construit d'un point de vue différent. Bien que cycliques comme le modèle évolutif, les noms des phases reflètent la nature imprévisible de systèmes de plus en plus complexes.

Le développement adaptatif va plus loin que son héritage évolutif de deux manières principales:

  • Il remplace explicitement le déterminisme par l'émergence.

  • Cela va au-delà d'un changement de cycle de vie pour un changement plus profond du style de gestion.

Les trois phases du cycle de vie du développement logiciel adaptatif sont:

  • Speculate - Spéculer remplace la planification des mots déterministe, la planification des spécifications du produit ou la planification des tâches de gestion de projet.

  • Collaborate - Collaborer, c'est établir un équilibre entre

    • Gérer au sens traditionnel de la gestion de projet, et

    • Créer et maintenir l'environnement collaboratif nécessaire à l'émergence.

  • Les activités collaboratives créent des produits, en suivant le rythme des changements dans l'environnement.

  • Learn - Learn vise à la fois les développeurs et les clients à utiliser les résultats de chaque cycle de développement pour apprendre la direction du suivant.