Un petit challenge pour se dégourdir les neurones ? ;-)

Question pour un CTO (ou un Lead Dev) :
Quelle solution d’implémentation choisir ?

Contexte :
Il s'agit d'un logiciel de préconisation de produits (des prothèses auditives).
Le logiciel devra gérer un catalogue avec des produits aux caractéristiques techniques évolutives,
au fil des progrès technologiques à venir.

Le problème :
comment stocker en base de données des produits dont
les caractéristiques vont évoluer de façon imprévisible ?

On cherche une solution :
  • simple
  • mais pas simpliste
  • capable de suivre l'évolution des caractéristiques techniques à venir dans le domaine des aides auditives, sans pour cela nécessiter de modifier le code de l'application...

Quelle architecture choisirais-tu pour garantir flexibilité et maintenabilité sur le long terme ?

- Il s'agit à l'origine d'un cas réel auquel j'ai été confronté lors de ma 1ere année de travail,
après ma formation de AFPA Développeur Informatique -
Je suis curieux de découvrir d'autres solutions possibles et d'autres façons d'envisager les choses.