Analyser les besoins du client et les décliner en exigences se décompose en 2 étapes principales :
1. prioriser les besoins des parties prenantes du système en définissant au préalable, en étroite interaction avec les sponsors du projet de développement du système concerné, des critères explicites de valeur et de risque, pour en faire émerger les plus prioritaires qu’il convient de prendre en compte impérativement,
2. décliner les besoins en exigences du système en formalisant d‘abord les exigences fonctionnelles et techniques du système en respectant un cadre standard d’énoncé d’exigences, puis en les organisant sous la forme de hiérarchies d’exigences fonctionnelles et d’exigences techniques en garantissant leur traçabilité avec les besoins.
L’architecte définit une liste priorisée de besoins afin de maximiser le rapport valeur / risque du système. C’est la base d’une déclinaison hiérarchisée des besoins en exigences fonctionnelles et techniques, qui s’accompagne d’un maintien de la traçabilité à la fois interne et externe à partir des besoins.
Parmi les principaux écueils, on notera :
- Fonctionner en mode tout ou rien sans priorisation de valeur et sans aucun recul,
- Vouloir aller trop loin dans l’écriture et le découpage des exigences. L’architecture système est alors perçue comme un processus long, laborieux et sans valeur ajoutée,
- Couvrir le champ des parties prenantes sans aller les consulter,
- L’absence de décideur qui porte la responsabilité de décider de la valeur. Ce n’est pas le rôle de l’architecte système de le faire seul.
Voici quelques bonnes pratiques à prendre en compte :
- Former les équipes et communiquer à chaque début de projet sur le caractère pragmatique du déploiement des méthodes d’architecture et la recherche de valeur.
- Inclure du « tayloring » assisté dans le processus d’architecture en permettant aux projets d’adapter de manière guidée la démarche à leurs contextes. Il est intéressant par exemple de distinguer le travail d’architecture type « on part d’une feuille blanche » de celui qui vise plutôt à modifier un existant. Ce tayloring doit s’accompagner de la mise en place d’un ensemble de critères (ex : re-use, innovation, niveau de complexité, impact sur l’architecture existante, maturité des équipes, des clients, de l’organisation…).
- Avoir un pool d’architectes expérimentés (à la fois sur les aspects méthodes et métier) qui supportent les équipes. Cela nécessite la mise en place de parcours construits, basés sur une évaluation du profil et des appétences et qui crante progressivement la connaissance métier (ex : stage d’immersion dans les métiers). Il faut donc bien identifier quels sont les métiers les plus critiques. Il faut surtout une politique RH forte mise en œuvre.
Nous avons compilé ici un certain nombre de verbatims de chef de projet ou d’architecte système de différentes entreprises, et qui font écho à cette phase de captation des besoins :
“ Nous avons mis en place des contraintes de temps pour terminer l’architecture boîte noire ce qui a naturellement forcé les équipes à adapter le niveau de grain des livrables.
“ Prendre le temps de communiquer sur des « success stories » en choisissant des exemples qui parlent à tout le monde a été un vrai plus.
“ Nous avons organisé des comités de décision pour cranter l’analyse risque/valeur.
Vos commentaires seront étudiés par les membres du Cercle lors de la prochaine réunion mensuelle.