Développement de logiciels adaptatifs - Adaptive software development

Le développement logiciel adaptatif ( ASD ) est un processus de développement logiciel issu du travail de Jim Highsmith et Sam Bayer sur le développement rapide d'applications (RAD). Il incarne le principe selon lequel l'adaptation continue du processus au travail en cours est l'état normal des choses.

Développement de logiciels
Activités principales
Paradigmes et modèles
Méthodologies et cadres
Disciplines de soutien
Les pratiques
Outils
Normes et corpus de connaissances
Glossaires
Grandes lignes

Le développement de logiciels adaptatifs remplace le cycle en cascade traditionnel par une série répétée de cycles de spéculation , de collaboration et d' apprentissage . Ce cycle dynamique permet un apprentissage continu et une adaptation à l'état émergent du projet. Les caractéristiques d'un cycle de vie TSA sont qu'il est axé sur la mission, basé sur les fonctionnalités, itératif , temporisé , axé sur le risque et tolérant au changement. Comme avec RAD, l'ASD est également un antécédent du développement logiciel agile .

Le mot spéculer fait référence au paradoxe de la planification - il est plus susceptible de supposer que toutes les parties prenantes se trompent de façon comparable pour certains aspects de la mission du projet, tout en essayant de la définir. Pendant la spéculation, le projet est lancé et une planification adaptative du cycle est effectuée. La planification adaptative du cycle utilise les informations de lancement du projet - l'énoncé de mission du client, les contraintes du projet (par exemple, les dates de livraison ou les descriptions utilisateur) et les exigences de base - pour définir l'ensemble des cycles de lancement (incréments logiciels) qui seront nécessaires pour le projet.

La collaboration fait référence aux efforts visant à équilibrer le travail en fonction des parties prévisibles de l'environnement (les planifier et les guider) et à s'adapter au mélange incertain environnant de changements causés par divers facteurs, tels que la technologie, les exigences, les parties prenantes, les éditeurs de logiciels. Les cycles d' apprentissage , mettant au défi toutes les parties prenantes, sont basés sur les courtes itérations avec la conception, la construction et les tests. Au cours de ces itérations, les connaissances sont recueillies en faisant de petites erreurs basées sur de fausses hypothèses et en corrigeant ces erreurs, conduisant ainsi à une plus grande expérience et finalement à une maîtrise dans le domaine du problème.

Références