6 : Modélisation business et graphique d’éléments d’une macro-fonctionnalité

La modélisation système consiste en ATDD à représenter visuellement des éléments d’un système, jusqu’à enchaîner :

  • Des UC : le Product Owner (PO) devra à ce niveau tester l’intégration des UC pour répondre aux objectifs de chaque macro-fonctionnalité (MUC)

– Des MUC : pour former de bout en bout des “parcours utilisateur” ou une partie (une activité par exemple). Là encore le PO sera sollicité.

D’un autre côté, une équipe de testeurs IT (des Business Analystes par exemple) peuvent vouloir s’assurer de l’intégration de “tâches métiers” dans une UC. En agile ces tâches sont des US INVEST ou des US INVEST ayant subi des modifications successives de détail (au niveau d’une ou plusieurs règles de gestion).

Principes de modélisation graphique

On a une représentation visuelle, dans chaque cas, de “fonctionnalités” qui s’enchaînent au sein d’un élément fonctionnel plus vaste. Le principe de modélisation est le même pour chaque niveau, avec la même palette d’objets graphiques (syntaxe) :

  1. Un point de départ
  2. Un, voire plusieurs, point(s) de sortie 
  3. Des éléments qui doivent s’intégrer à la macro-fonctionnalité (de niveau supérieur)
  4. Des décisions (un losange)
  5. Des flèches appelées “transitions” qui enchaînent :
  • Des éléments 
  • Un élément vers une décision
  • Une décision vers un élément
  1. des alternatives qui fournissent des affirmations. Elles peuvent se visualiser comme des “OU” sur une transition, ou comme des transitions alternatives entre un même couple d’objets graphiques (par exemple d’un élément A vers un élément B).

Voilà les 6 notions qui suffisent pour modéliser avec les métiers.

On pourra toujours ajouter des commentaires. 

Prenons un exemple pour illustrer :

Exemple de modélisation métier sur le parcours (à un certain niveau de détail)

Différentier modélisation métier et modélisation d’automatisation d’un processus

Dans la représentation choisie, nous avons simplifié la notation à l’extrême. Elle suffit cependant à spécifier. Les cas complexes (ex: les ET de synchronisation pour indiquer qu’un traitement ne peut démarrer qu’en ayant les résultats de 2 traitements ou plus) sont transformés en règles de gestion.

Souvent l’erreur de l’IT est de proposer aux métiers de discuter sur un modèle BPMN (Business Process Model Notation). Or celui-ci a une palette précise, mais très/trop riche. C’est en fait un langage de programmation graphique pour automatiser in fine le processus décrit. 

Nous conseillons d’éviter l’usage du BPMN pour ne pas perturber le dialogue avec le métier.  Rester compréhensible de tous est une posture qui doit prédominer en agile.

Ceci implique que le schéma de modélisation métier doit être repris par les programmeurs de la couche BPM pour automatiser le processus : lancement des traitements, changement des statuts, historique et avancement des instances de processus, etc.. C’est l’attitude à adopter, de la même manière qu’on ne mélange pas spécification et code pour les autres parties de la solution !

Cibles d’un modèle

On voit bien que, dans un modèle, il y a des éléments à identifier qui vont nous servir de  “cibles” pour les tests. Dans notre exemple :

  • 1 point d’entrée,  2 de sorties et 5 éléments (notés de A à E) , soit 8 “boîtes”
  • 15 transitions (les flèches, dont 7 en gras donnant le scénario nominal)
  • Et enfin certaines transitions portent des alternatives (sur les flèches, séparées par un “OU”), d’où 19 alternatives.

Les alternatives en gras sont les plus représentatives de la transition associée (ex: sur la transition TR2, X>=0 est l’alternative la plus courante).

Les “boîtes” sont toutes homogènes : soit des tables de décisions (cas de tâches métiers : US INVEST), soit des modèles graphiques de détail (sous-fonctionnalités du produit considérées par l’utilisateur à l’instant T). Elles ont donc une représentation interne “boîte blanche”. La modélisation graphique, quant à elle, montre leur vision “boîte noire”, en retenant les résultats majeurs et les directions suivies après exécution.

L’auteur

Didier JOLIOT, Ingénieur Coach agile et formateur

Didier a une grande expérience professionnelle : développeur puis responsable qualité et certification de logiciels temps réels critiques. Ex : Airbus (A320, A340), missiles, spatial, nucléaire, sous-marins, …  Il a été ensuite expert spécifications et tests auprès d’équipes MOE, puis de MOA bancaires. Il a été aussi directeur de projet, et enfin expert auprès des managers pour la stratégie des SI (« Portfolio Management » et architecture d’entreprise).

Il pratique depuis 2012 l’agilité. Il a été coach agile pour le Product management de très gros projets « agiles à l’échelle » au Crédit Agricole et à la Société Générale, et pour de nombreuses équipes Scrum.

Il a écrit 5 livres et de nombreux articles. Il enseigne, depuis des années, dans plusieurs écoles d’ingénieur et dans les entreprises. Il a créé, de plus, plusieurs méthodes : le langage « Business Modeling Language (BML) », l’algorithme ATDD des tamis successifs, la CNV-A, etc.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Interview

Rija William Ralitera: Lead QA

Bonjour, qui êtes-vous, quel est votre métier et quelles sont vos activités professionnelles ? Je m’appelle Rija William Ralitera. J’exerce le métier de QA. J’ai trois phases d’activités : Mettre en place toute l’infrastructure d’un pôle QA en fonction des besoins mais surtout avec un but d’industrialiser l’automatisation des tests: choix des outils

Lire la suite »
ISO 25010

Types de tests (ISO 25 010): Les tests de portabilité (8/8)

Aujourd’hui nous abordons une famille que j’affectionne particulièrement car elle fait écho à mes expériences mobiles mais aussi à mon statut de joueur de jeux vidéo. Cette famille qui est aussi la dernière famille définissant la qualité au sens ISO – 25 010 est la famille  des tests de «

Lire la suite »
processus

La conception des tests

Le cycle de vie d’un test commence toujours par la conception (design) : Cette phase est différente de l’écriture et son but est tout autre. Le but de l’écriture c’est de mettre sur papier ce que l’on va tester et de s’assurer que cette exécution sera toujours la même. Mais d’écrire

Lire la suite »