Développement de logiciels adaptatifs - Cycle de vie

Le développement de logiciels adaptatifs a évolué à partir des pratiques RAD. Les aspects d'équipe ont également été ajoutés à ces pratiques. Des entreprises de la Nouvelle-Zélande au Canada, pour un large éventail de types de projets et de produits, ont utilisé le développement logiciel adaptatif.

Jim Highsmith a publié Adaptive Software Development en 2000.

Les pratiques de développement logiciel adaptatif permettent de s'adapter au changement et sont adaptables dans des environnements turbulents avec des produits évoluant avec peu de planification et d'apprentissage.

Phases du cycle de vie des TSA

Le développement logiciel adaptatif est cyclique comme le modèle évolutionnaire, les noms de phase reflétant l'imprévisibilité des systèmes complexes. Les phases du cycle de vie du développement adaptatif sont -

  • Spéculer
  • Collaborer
  • Apprendre

Ces trois phases reflètent la nature dynamique du développement de logiciels adaptatifs. Le développement adaptatif remplace explicitement le déterminisme par l'émergence. Cela va au-delà d'un simple changement de cycle de vie pour un changement plus profond dans le style de gestion. Le développement de logiciels adaptatifs a un cycle de vie dynamique spéculer-collaborer-apprendre.

Le cycle de vie du développement logiciel adaptatif se concentre sur les résultats, pas sur les tâches, et les résultats sont identifiés comme des fonctionnalités d'application.

Cycle de vie du développement de logiciels adaptatifs

Spéculer

Le terme plan est trop déterministe et indique un degré raisonnablement élevé de certitude quant au résultat souhaité. L'objectif implicite et explicite de conformité au plan limite la capacité du gestionnaire à orienter le projet dans des directions innovantes.

Dans Adaptive Software Development, le terme plan est remplacé par le terme spéculer. Tout en spéculant, l'équipe n'abandonne pas la planification, mais elle reconnaît la réalité de l'incertitude dans les problèmes complexes. Spéculer encourage l'exploration et l'expérimentation. Les itérations avec des cycles courts sont encouragées.

Collaborer

Les applications complexes ne se construisent pas, elles évoluent. Les applications complexes nécessitent qu'un grand volume d'informations soit collecté, analysé et appliqué au problème. Les environnements turbulents ont des taux élevés de flux d'informations. Par conséquent, les applications complexes nécessitent qu'un grand volume d'informations soit collecté, analysé et appliqué au problème. Il en résulte des exigences de connaissances diverses qui ne peuvent être gérées que par une collaboration d'équipe.

Collaborer nécessiterait la capacité de travailler conjointement pour produire des résultats, partager des connaissances ou prendre des décisions.

Dans le contexte de la gestion de projet, la collaboration décrit un équilibre entre la gestion avec des techniques de gestion traditionnelles et la création et le maintien de l'environnement collaboratif nécessaire à l'émergence.

Apprendre

La partie Apprendre du cycle de vie est vitale pour la réussite du projet. L'équipe doit constamment améliorer ses connaissances, en utilisant des pratiques telles que -

  • Revues techniques
  • Rétrospectives du projet
  • Groupes de discussion clients

Les examens doivent être effectués après chaque itération. Les développeurs et les clients examinent leurs hypothèses et utilisent les résultats de chaque cycle de développement pour apprendre la direction du suivant. L'équipe apprend -

  • À propos des changements de produits

  • Changements plus fondamentaux dans les hypothèses sous-jacentes sur la façon dont les produits sont développés

Les itérations doivent être courtes, afin que l'équipe puisse apprendre de petites erreurs plutôt que de grandes erreurs.

Spéculer - Collaborer - Apprendre le cycle dans son ensemble

Comme vous pouvez le constater dans le cycle Spéculer-Collaborer-Apprendre, donné ci-dessus, il est évident que les trois phases sont non linéaires et se chevauchent.

Nous observons ce qui suit à partir d'un cadre adaptatif.

  • Il est difficile de collaborer sans apprendre ou d'apprendre sans collaborer.

  • Il est difficile de spéculer sans apprendre ou d'apprendre sans spéculer.

  • Il est difficile de spéculer sans collaborer ou de collaborer sans spéculer.