
Construire aujourd'hui de grands systèmes logiciels inter-organisationnels pose de vrais défis. Les architectes de solutions doivent créer les bonnes solutions aux problèmes existants, de façon à apporter une réelle utilité aux utilisateurs. Cet article présente l'approche FASD. FASD est pilotée par les processus et s'adresse aux architectes de solutions techniques comme non techniques. Elle est née d'expériences académiques et industrielles dans nos JadenX projets clients. Elle accompagne la conception des processus et des logiciels, ainsi que des enjeux de pilotage comme le cadrage de projet.
Construire de grands systèmes d'entreprise est aujourd'hui exigeant. Les systèmes actuels s'étendent sur plusieurs entreprises, impliquent différents systèmes et de nombreuses interactions entre eux. Pour un architecte de solutions, le défi global est de créer les bonnes solutions pour des problèmes existants de sorte que l'utilisateur du système en tire une réelle utilité. L'ingénierie des exigences consiste à recueillir les exigences auprès des futurs utilisateurs d'un système. Ces exigences alimentent ensuite de nombreuses tâches de conception logicielle.
Cet article présente FASD (Fast Guide to Process-driven Solution Design), notre approche pilotée par les processus pour une ingénierie des exigences rapide. FASD combine des approches existantes destinées aux ingénieurs des exigences techniques et non techniques, avec pour objectif de recueillir rapidement les exigences, de les structurer et d'en déduire des décisions de conception. FASD repose sur notre expérience des systèmes logiciels complexes. Elle sert à l'état des lieux, à la conception des interactions et au cadrage précis de grands projets. FASD éclaire ainsi les tâches techniques (conception logicielle, conception d'interfaces) et non techniques (conception de processus, gestion de projet).
Pour utiliser FASD, il faut une compréhension de base du design thinking et la modélisation des processus métier. Les sections suivantes présentent brièvement ces deux concepts.
Le design thinking est une approche pratique et créative de résolution de problèmes. Il est né de la combinaison de plusieurs disciplines, dont l'architecture, l'ingénierie et la gestion. Sur le plan conceptuel, il s'appuie largement sur les méthodes et processus des designers. Le design thinking est indépendant du domaine et s'applique à tout secteur. Ce paradigme est fortement centré sur l'utilisateur. Il cherche à comprendre les besoins des personnes et à y répondre par des solutions efficaces.
La méthode du design thinking comprend de nombreuses activités et de nombreux outils, tous destinés à mieux comprendre les clients ou utilisateurs. L'une des activités centrales de FASD est la création de personas. Une persona est un personnage fictif qui représente un type de client ou d'utilisateur d'un service ou d'un produit. Elle s'appuie sur ce que nous apprenons des vrais clients et utilisateurs. Les personas sont une abstraction de « l'utilisateur type » et réunissent les caractéristiques que partagent de nombreux utilisateurs. Leur création repose fortement sur la recherche et vise à comprendre les besoins, comportements, expériences et objectifs des clients et utilisateurs. Dans FASD, la création de personas est l'une des premières étapes clés.
Le deuxième ingrédient de FASD, ce sont les modèles de processus métier. FASD est par nature centrée sur les processus. A processus métier est un ensemble d'activités exécutées conjointement pour atteindre un objectif métier précis. Les modèles de processus sont une abstraction d'un processus métier que l'on peut représenter visuellement.
Conceptuellement, un modèle de processus métier se compose de nœuds et arcs. Les nœuds représentent les activités, événements et passerelles d'un processus. Les arcs expriment des flux de séquence ou de messages. Les activités sont des unités de travail : tâches automatisées, tâches manuelles ou sous-processus entiers. Les événements marquent l'atteinte d'un point précis, comme un début, une fin ou une erreur. Les passerelles, comme les divisions ou les jonctions, expriment des points de décision ou des flux parallèles. Les arcs relient les nœuds. Ils peuvent représenter des flux de séquence (au sein d'une organisation) ou des flux de messages (entre organisations).
De nombreux langages de modélisation permettent de représenter différentes organisations ou unités organisationnelles avec des couloirs ou bassins. Les processus où plusieurs organisations collaborent dans un même workflow sont appelés processus métier collaboratifs.
La Business Process Model and Notation (BPMN) est un langage de modélisation standardisé. FASD recommande BPMN, même si d'autres langages sont possibles. Cet article n'est pas un tutoriel BPMN. Pour vous y initier, nous recommandons ce livre.
Cette section présente la méthode FASD, illustrée par la figure ci-dessous.

FASD relie les rôles techniques et non techniques pour aboutir à une solution complète de bout en bout. Elle comprend trois phases principales.
La phase 1 établit la situation actuelle et définit les objectifs. FASD modélise pour cela les personas, identifie les rôles et modélise le processus initial. Sur cette base, on fixe la mission et les grands axes. Une fois la situation actuelle cernée, on identifie les contraintes non fonctionnelles. Elles constituent les exigences fondamentales pour la conception du processus cible, les performances et les coûts.
En général, cette phase est menée par des architectes de solutions non techniques, qui recueillent en entretien les exigences des futurs utilisateurs et de leur organisation.
La phase 2 porte sur la conception de la solution. On modélise d'abord le processus cible et les fonctions système qu'il contient. Cela exige une boucle de retour entre architectes techniques et non techniques, utilisateurs et organisations. La conception est par nature itérative.
Après la conception du processus viennent les interactions et les interfaces du système. Les interactions se conçoivent avec les utilisateurs. Les architectes techniques ébauchent les interfaces techniques pour définir comment les systèmes actuels de l'organisation s'intègrent à la nouvelle solution. La phase 2 se termine par une estimation de l'effort pour chaque partie du système.
La phase 3 arrête le périmètre initial de la mise en œuvre. Elle comprend la priorisation des fonctionnalités et la planification des ressources et des délais.
FASD s'applique à tout paradigme de gestion de projet. En cycle en V, les architectes parcourent la méthode une fois. En agile, FASD s'utilise de façon itérative pour concevoir des solutions.
Cet article vous a présenté dans les grandes lignes le fonctionnement de l'approche FASD. Pour en savoir plus, approfondir ou suivre une formation, contactez-nous. Parlons-en et voyons comment nous pouvons vous aider.