Concevoir pour l’évolutivité consiste à concevoir des systèmes capables d’évoluer et de s’adapter dans le temps.

David Woods

Nom

Concevoir pour l’évolutivité

Déclaration

Une architecture évolutive est conçue pour accepter des changements progressifs. Concevoir des services qui visent à couvrir tous les scénarios futurs possibles est coûteux et prend beaucoup de temps. Et, à la fois, il est difficile de définir clairement les besoins à long terme au cours des phases initiales de la conception d’un service.

Raisonnement

  • Rester au plus proche des besoins métier tout au long du cycle de vie du service (voir Observer).
  • Lever la pression liée à la peur de l’échec.

Implications

  • Concevoir des systèmes de manière à pouvoir les modifier ou les remplacer facilement plutôt que de les rendre pérennes à tout prix.
  • Concevoir en gardant à l’esprit la modularité pour éviter le risque de couplage entre différents domaines métier et permettre leur évolution parallèle.
  • Automatiser le déploiement de nouveaux environnements : p. ex. dans le cadre d’une communauté de soins, lors de l’établissement d’un nouveau centre de soins.
  • Ne pas prendre toutes les décisions importantes au départ. Les remettre à plus tard au moment où elles deviennent pertinentes.
  • Éviter les approches d’adoption big bang.

Exemples

Mauvais

À la conception du service Prise en charge du patient, il était impératif qu’il couvre aussi bien la prise en charge du patient en médecine interne, qu’en chirurgie ou qu’en gériatrie. Le système résultant de cette conception freine l’évolution du processus pour le domaine gériatrie qui diverge maintenant des deux autres. Un constant travail de réalignement des processus de prise en charge entre les différents domaines est donc nécessaire. Si bien que, pour simplifier, le groupe responsable du service opte pour une implémentation du processus de prise en charge définissant un dénominateur commun entre tous les domaines métier. Cette implémentation étant minimale, les utilisateurs se tournent vers des solutions alternatives pour répondre à leur besoin.

Bon

Le monolithe de services, couvrant les domaines de programmation des soins et de production des soins, étant en inadéquation technologique et métier son leur temps, la décision de le décommissionner est prise. Plutôt que de simplement refaire un système intégral avec une meilleure technologie et quelques changements fonctionnels mineurs, il est entrepris de découpler le monolithe en plusieurs domaines. Si bien que, progressivement, une multitude de services d’application sont introduits à l’utilisateur. Chacun de ces services évolue maintenant de manière autonome avec les technologies les mieux adaptées pour couvrir les exigences.