Sous-processus
Une activité qui se déploie en son propre flux interne — la façon qu'a BPMN de garder un diagramme lisible.
Ce qu'est un sous-processus
Un sous-processus est une activité qui contient son propre flux interne. Replié, il ressemble à une tâche ordinaire avec un petit « + » en bas au centre ; déployé, il révèle son processus interne en ligne. Décomposer un processus complexe en sous-processus imbriqués est la façon dont BPMN maintient la lisibilité des diagrammes — un diagramme de niveau supérieur avec dix à quinze nœuds, chacun détaillé dans son propre sous-processus.
Les sous-processus existent en trois variantes importantes. Un sous-processus *imbriqué* (la valeur par défaut) : son flux interne appartient au diagramme parent et n'est invoqué que depuis là. Un sous-processus *événementiel* : déclenché par un événement à l'intérieur du parent, il gère les préoccupations transversales comme la gestion d'erreur ou l'escalade. Un sous-processus *transactionnel* : supporte la compensation — s'il ne se valide pas, chaque étape interne peut être annulée par un handler de compensation.
Quand décomposer
- Un diagramme avec plus de vingt nœuds à un même niveau est presque toujours un candidat à la décomposition. La lisibilité s'effondre bien avant que la syntaxe ne le fasse.
- Une suite d'étapes qui s'exécutent toujours ensemble et n'ont pas de branchement interne — bon candidat à encapsuler comme sous-processus.
- Un bloc logique qui appartient clairement à une équipe ou un système — « le sous-processus conformité », « le sous-processus paiement ». La décomposition respecte la propriété.
- Une section avec ses propres préoccupations de gestion d'erreur — enveloppez-la comme sous-processus pour attacher un seul événement frontière d'erreur à l'ensemble plutôt qu'un handler à chaque étape individuelle.
Les sous-processus dans LucidFlow
LucidFlow regroupe les activités liées en sous-processus automatiquement quand le document source décrit un sous-flux bien délimité (« après que l'équipe commerciale a géré la qualification, la conformité exécute un processus KYC en trois étapes »). Le tableau de bord des coûts agrège le coût du sous-processus vers la vue parent, de sorte qu'un sous-processus replié dans le diagramme de niveau supérieur affiche quand même son coût, sa durée et sa couleur de heatmap agrégés. Déployer le sous-processus en place révèle le détail complet sans perdre le contexte.
Questions fréquentes
Quelle est la différence entre un sous-processus et une activité appelée ?
Un sous-processus est imbriqué — il vit à l'intérieur du diagramme parent. Une activité appelée est une référence — elle pointe vers un processus global défini séparément. Utilisez les sous-processus pour la décomposition locale ; les activités appelées pour les sous-flux réutilisables invoqués depuis plusieurs diagrammes.
Un sous-processus peut-il avoir ses propres événements de début et de fin ?
Oui. Un sous-processus déployé a son propre événement de début interne et un ou plusieurs événements de fin. Ce sont les points d'entrée et de sortie du sous-processus ; ils ne sont pas les événements de début/fin de niveau supérieur du diagramme complet.
Quand utiliser un sous-processus transactionnel ?
Quand le travail contenu a une sémantique stricte de « tout ou rien » — flux de paiement, réservations, tout processus où une complétion partielle est pire qu'aucune complétion. Les sous-processus transactionnels viennent avec des sémantiques de compensation permettant d'annuler chaque activité interne dans l'ordre inverse.