Développement de logiciels adaptatifs - Evolution

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, évolue 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 facteur le plus important du point de vue de la direction, pour améliorer la capacité de gérer le développement de produits.

Selon Jim Highsmith, «le cadre de développement logiciel adaptatif est basé sur des années d'expérience avec les méthodologies traditionnelles de développement logiciel, consultant, pratiquant et écrivant sur les techniques de développement rapide d'applications (RAD) et travaillant avec des éditeurs 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 rétroaction maigre. Il peut être vu comme une séquence Plan → Build → Implement .

Modèle de cascade

Les modèles de cycle de vie évolutionnaire tels que le modèle en spirale ont déplacé l'approche déterministe vers l'approche adaptative, avec Plan → Construire → Réviser les cycles .

Cycle de vie évolutif

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

Le cycle de vie adaptatif

Le modèle adaptatif est construit à partir d'un point de vue différent. Bien que cycliques comme le modèle évolutionnaire, les noms de la phase 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 clés -

  • 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 dans le style de gestion.

Cycle de vie de développement S / W adaptatif

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

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

  • Collaborer - Collaborer représente un équilibre entre

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

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

  • Les activités de collaboration 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.