Mener un atelier de validation face à face

Ecueils des validations classiques

Mener un atelier de validation interactive

Tout d’abord, commençons par une définition. Mener un atelier de validation face à face signifie que l’on fait valider un document directement en présence (physique ou Visioconférence) d’une ou plusieurs parties prenantes.

Pourquoi choisir de mener un atelier de  validation face à face ?

Pourquoi choisir de mener un atelier de validation interactive ?
Photo by Gabrielle Henderson on Unsplash

Une fois que l’on a recueilli et rédigé les besoins des parties prenantes, il faut bien passer par une étape de validation de notre travail.

Les défauts de la technique traditionnelle

Habituellement, une validation se déroule ainsi : l’auteur transmet son document aux différents valideurs puis attend leurs retours afin de les traiter. Cette façon de faire, même si elle est éprouvée, a néanmoins de nombreuses limites. En voici quelques unes.

L’incompréhension

Il se peut que nous ne comprenions pas une remarque. Il faut alors se retourner vers la personne qui en est à l’origine afin de la clarifier, ce qui implique échanges d’email, appels téléphoniques, réunions formelles ou informelles, etc. Soit une grosse dépense d’énergie.

Les différents formats de retour

Nos interlocuteurs n’ont pas tous les mêmes méthodes de travail, il ne faut donc pas s’attendre à ce que leurs réponses soient faites de la même façon. Il vous faudra alors jongler entre les retours :

  • Faits dans le corps du document, sous forme de commentaires, de marques de révision, de texte surligné, de couleurs de police, etc.
  • Rédigés sur un document annexe : Word, Excel, Bloc-notes, Email…
  • Oraux.
  • Etc.

Cette hétérogénéité complexifie fortement le traitement des modifications à apporter au document, soit encore une grosse dépense d’énergie.

Les contradictions

Il y aura possiblement autant de visions et d’interprétations que de valideurs. Il ne sera donc pas surprenant que certains retours soient contradictoires, que certains valident des éléments que d’autres invalident, etc. Cela entraînera de longs et fastidieux échanges pour trouver un accord fédérateur soit encore une grosse dépense d’énergie.

Les délais de réponse

Il faut vous y faire, votre document n’a peut-être pas le même niveau de priorité pour tout le monde. Vous obtiendrez donc les validations selon des délais très variables, voire même totalement hors délais si le valideur est surchargé… Pour vous, c’est encore une source de stress et une nouvelle grosse dépense d’énergie.

Les avantages à mener un  atelier de validation face à face

Avantage d'un atelier de validation interactive
Photo by bruce mars on Unsplash

Tous les inconvénients que nous venons de voir militent en faveur d’une autre façon de faire : la validation face à face.

Cette dernière consiste donc à collecter durant une réunion présentielle (ceci intégrant bien entendu les visioconférences) tous les retours de chaque intervenant et à les prendre immédiatement en compte dans le document concerné.

Ce procédé est très efficace mais il requiert une véritable technicité, il s’agit d’une compétence à part entière du Product Owner / Business Analyst. Aussi, n’hésitez pas à nous contacter si vous souhaitez en apprendre d’avantage sur cette technique que nous avons maintes fois éprouvée.

Vous êtes libre de vous inscrire à notre newsletter en dessous de l’article garantie 100% sans spam. Vous recevrez à cette occasion notre bonus, un mini guide pour bien commencer votre cahier des charges.

Décrire littérairement un schéma

Décrire littérairement un schéma

Décrire littérairement un schéma dans un cahier des charges

Décrire littérairement un schéma
Photo by Christina @ wocintechchat.com on Unsplash

Qu’est-ce que décrire littérairement un schéma ?

Lorsqu’on rédige un cahier des charges, décrire littérairement les schémas de façon bidirectionnelle signifie que l’on puisse faire le lien dans les deux sens entre un schéma et la description textuelle qui l’accompagne : depuis le schéma, on peut retrouver facilement la portion de texte qui l’explicite et, inversement, depuis le texte on peut directement faire le lien avec les éléments concernés du schéma.

Ainsi, la bidirectionnalité peut se faire de deux façons (non excluantes) en :

  • Veillant à ce que les termes employés dans le schéma et le texte soient concordants.
  • Utilisant des puces numérotées permettant de faire le lien entre le texte et le schéma.

Bien entendu, cela demande une grande rigueur mais aucune technicité particulière.

Utilité de décrire littérairement et de façon bidirectionnelle un schéma dans un cahier des charges

Partage de la connaissance

Partage de la connaissance
Photo by Hannah Busing on Unsplash

A présent que le terme de « bidirectionnalité » est défini, et avant de voir en quoi elle est précieuse, il s’agit déjà de rappeler que les cahiers des charges que nous produisons sont amenés à être lus par des personnes aux profils et aux parcours extrêmement variés, comme nous l’évoquions dans l’article Cahier des charges : définition difficile du métier.

Par conséquent, nombreux seront ceux qui ne possèdent pas les clés pour lire les schémas mais qui ont pourtant besoin de les comprendre pour valider sereinement le cahier des charges.

C’est là que la description littéraire entre en jeu : elle permet à chacun d’acquérir exactement le même niveau de connaissance et de compréhension du cahier des charges, et ce indépendamment du fait que le lecteur soit familier ou non avec la « langue » du schéma, UML par exemple.

  • Cela facilite grandement les choses au moment de valider le livrable car on ne valide bien que ce que l’on comprend bien.
  • Cela évite de démotiver le lecteur en le confrontant à des choses qu’il ne comprend pas et qu’on ne lui explique pas.

Dit autrement :

La description littéraire est un acte pédagogique.

Renfort de la cohérence

Renforcer la cohérence
Photo by Maria Teneva on Unsplash

Si l’on dessine des schémas ou que l’on est amené à fabriquer des maquettes d’écrans, alors le fait d’utiliser strictement les mêmes termes dans les parties graphiques et textuelles contribue à renforcer la cohérence du cahier des charges.

En effet, cela permet de ne générer aucune ambiguïté, aucun « flou », et donc de faciliter la compréhension du lecteur.

Au sujet des flous, pour vous distraire un instant, vous pouvez visionner cette brève chronique de Marina Rollman sur France Inter : https://www.youtube.com/watch?v=kUfMnx-8PGs&t=86s&ab_channel=FranceInter

Mais reprenons notre propos concernant les ambiguïtés de langage. Si, par exemple, un schéma présente le concept métier de « bénéficiaire » et que sa description textuelle (c’est déjà bien qu’il y en ait une) parle d’un « ayant-droit », le lecteur sera perdu :

  • Puisqu’il ne retrouve pas dans le schéma ce qu’il vient de lire, est-ce que cela signifie que le schéma est incomplet ou que le texte évoque des éléments hors périmètre ?
  • Quel est le bon terme métier à employer ? Bénéficiaire ou ayant-droit ?
  • Est-ce que ce sont les mêmes concepts ? Le synonyme est l’ennemi juré de la clarté.

Par conséquent, être totalement bidirectionnel demande donc au rédacteur la plus grande rigueur. En effet, cela implique d’être vigilant à chaque mise à jour du schéma et, par conséquent, du texte accompagnant.

Exemples de description littéraire bidirectionnelle d’un schéma dans un cahier des charges

Les schémas « non normés »

Les schémas non normés
Photo by Yann Allegre on Unsplash

Tout d’abord, que les plus novices soient rassurés. Si vous n’êtes pas familiers des schémas « traditionnels » présents dans les cahiers des charges, sachez que tout schéma est à prendre dès lors qu’il apporte de la clarté, permet de synthétiser les choses.

Ainsi, il vaudra toujours mieux insérer un schéma de votre cru plutôt qu’aucun. En revanche, plus le schéma sera issu de votre imagination graphique, plus il sera nécessaire de l’accompagner d’une description textuelle.

En effet, si dans l’immédiat vous serez présent pour l’expliquer aux différents lecteurs, il ne faut pas perdre de vue qu’un cahier des charges est souvent rédiger pour durer, c’est un document auquel on est amené à régulièrement se référer. Or si dans six mois, dans 3 ans, plus personne n’est en mesure de comprendre le schéma, votre travail aura été vain. D’où l’importance de le décrire : pour qu’il reste compréhensible.

C’est là l’écueil d’un schéma « non normé » par rapport à un schéma « normé » : comme sa syntaxe est propre à son auteur, il n’est rapidement plus compréhensible.

Les schémas normés

Les schémas normés
Photo by Louis Mornaud on Unsplash

Dans les chapitres qui suivent, l’objectif n’est pas de vous apprendre à faire les schémas mais plutôt de vous aguiller sur une façon simple de les décrire textuellement.

Le diagramme de classe

Dans un diagramme de classe, la bidirectionnalité signifie que tous les éléments graphiques du schéma sont repris à l’identique dans la description textuelle. C’est-à-dire que le nom des classes, les libellés des attributs, les verbes d’association et les multiplicités minimum et maximum devront être transcrits à l’identique, sans distorsion ni omission.

Il existe un niveau plus avancé de description de ce schéma qui consiste à n’expliciter que les liens et les multiplicités les plus structurants mais, dans un premier temps, l’approche la plus simple est de tout décrire. Si vous souhaitez en apprendre d’avantage sur la méthode « avancée », n’hésitez pas à me contacter !

Schéma
Description d'un diagramme de classe
Exemple de description littéraire bidirectionnelle dans un diagramme de classe
Description littéraire bidirectionnelle du schéma

Un Membre est une personne physique inscrite sur le site et qui se caractérise par :

  • un pseudo, par exemple « Interpolian »,
  • un email,
  • une date de naissance.

Un Forum est un sujet de discussion, par exemple « Les émissions de radio dans les années 90 », qui se définit par :

  • un titre,
  • une date de publication.

Un Forum est créé par un seul Membre et un Membre peut créer aucun ou plusieurs Forums.

Un membre n’est pas obligé de créer un forum, il peut se contenter de consulter des forums existants. Par exemple, Interpolian n’a créé aucun forum là où Nico_Tag en a créé onze.

Un Message est une réponse apportée par un Membre sur un Forum. Il se caractérise par :

  • un texte,
  • une date de publication.

Un Message est posté sur un Forum et un Forum contient aucun ou plusieurs Messages.

En effet, lorsqu’un forum est créé, aucun membre n’y a encore posté de messages.

Un Message est écrit par un Membre et un Membre écrit aucun ou plusieurs Messages.

Il n’est pas obligatoire de rédiger des messages pour être membre.

Le diagramme d’état

Description littéraire bidirectionnelle d'un diagramme d'état
Description littéraire bidirectionnelle d’un diagramme d’état

Dans le cas d’un diagramme d’état, si l’on puce (numérote) les états et que l’on reprend  dans la description textuelle exactement les mêmes libellés que sur le schéma alors cela assure la bidirectionnalité.

Par exemple :

  • « Pour que l’objet étudié passe de l’état source (1) à l’état cible, l’événement [condition] / activité doit avoir lieu. »
  • « Si l’événement [condition] / activité a lieu, alors l’objet étudié passe de l’état source (1) à l’état cible. »
  • « Si l’objet étudié est à l’état source (1) et que l’événement [condition] / activité a lieu alors il passe à l’état cible (2). »

Le diagramme de flux

Description littéraire bidirectionnelle d'un diagramme de flux
Description littéraire bidirectionnelle d’un diagramme de flux

Dans le cas d’un diagramme de flux, si l’on puce (numérote) les flux et que l’on reprend  dans la description textuelle exactement les mêmes libellés que sur le schéma alors cela assure la bidirectionnalité.

Par exemple : « Un client passe commande (1) auprès d’un fournisseur et ce dernier assure la livraison (2). »

Le diagramme d’activité

Décrire littérairement un diagramme d'activité
Description littéraire bidirectionnelle d’un diagramme d’activité https://laurent-audibert.developpez.com/Cours-UML/?page=diagramme-activites

Dans le cas d’un diagramme d’activité, si l’on puce (numérote) les actions et que l’on reprend  dans la description textuelle exactement les mêmes libellés que sur le schéma alors cela assure la bidirectionnalité.

Par exemple : « Le DAB demande d’abord d’insérer la carte (1) puis de saisir son code (2). Si le code est valide, l’utilisateur doit choisir l’opération (3) qu’il souhaite effectuer. S’il sélectionne le dépôt, alors le DAB propose de saisir le montant (4) à déposer, puis de choisir le compte (5) à créditer et d’insérer l’enveloppe (6). Une fois cela fait, le DAB doit restituer la carte (7). Etc. »

Les écrans

Décrire littérairement un écran
Description littéraire bidirectionnelle d’un écran

Dans la spécification d’un écran, la bidirectionnalité passe d’abord par le fait de pucer (numéroter) chaque élément qui fera l’objet d’une description. Ensuite, les puces sont reprises dans les exigences à chaque fois qu’un élément de l’écran est mentionné.

► M1/L’écran d’inscription « Insc_01 » doit présenter les informations suivantes :
– nom/pseudo (1),
– email (2),
– confirmation de l’email (3),
– pays (4),
– ville (5),
– âge (6),
– site internet (7),
– un bouton d’enregistrement (a). [00001]

Vous remarquerez que l’écran est légendé, qu’une référence unique lui est attribuée et que cette référence est reprise dans l’exigence.

► M1.1/Le nom/pseudo (1), l’email (2) et la confirmation de l’email (3) doivent être obligatoires. [00002]

► M1.2/Le Nom/pseudo (1) doit être un champ de type alphanumérique avec acceptation des caractères spéciaux et limité à 35 caractères. [00003]

Etc.

En espérant que ces conseils vous seront profitables, n’hésitez pas à nous répondre en commentaire ou à vous abonner à notre newsletter en bas de cette article. Venez partager votre expérience en commentaire sur les sujets en lien avec les cahier des charges !

Rendre un cahier des charges dans les temps

Vais-je rendre mon cahier des charges dans les temps ? Tout le monde s’est sans doute posé cette question au moins une fois. Je vais vous donner ici quelques astuces qui vous aideront à y répondre objectivement.

Cet article complète la parution https://soscahierdescharges.fr/7-regles-pour-demarrer-son-cahier-des-charges/. Dans ce précédent texte, j’évoquais 7 règles simples pour bien démarrer son cahier des charges, parmi lesquelles le fait de bien borner le travail dans le temps, avec une date de début et, surtout, une échéance.

Je disais également qu’il fallait mettre la charge de travail en regard de cette échéance pour savoir si oui ou non nous étions en mesure de tenir les délais. C’est ce dernier point que je vais détailler ici, avec un exemple concret.

Le postulat

Un projet a une date de début mais il a surtout une date de fin. Afin de nous organiser au mieux en fonction des tâches, de leur charge et de leur priorité, nous avons besoin de savoir à quelle échéance nous devons rendre le cahier des charges. Cette information est primordiale pour pouvoir anticiper des dérives, remonter des alertes et valider à temps avant la date buttoir… 😉 !

Quelques chiffres clés pour rendre un cahier des charges dans les temps

Imaginons que l’on se trouve dans la situation suivante pour rédiger le cahier des charges :

  • Un délai 5 jours ouvrés (du lundi au vendredi par exemple) avec livraison attendue le lundi matin première heure.
  • Une charge totale de 2 jours.homme (oui, c’est un petit livrable).
  • Une production estimée à 10 pages.

Rappel sur la charge et le délai

Petit rappel pour les plus novices : il ne faut pas confondre la charge et le délai. La charge est le temps réel que vous passez sur une tâche et le délai est la période de temps sur laquelle vous allez devoir répartir votre charge.

Un rapide exemple pour illustrer cela : nous sommes le 1er octobre, nous devons tester la nouvelle version d’une application avant le 10 octobre et l’on nous donne 1j.h pour le faire : le délai est la période allant du 1 au 10 et la charge est 1. On peut alors :

  • Travailler une journée complète et consommer toute la charge en une seule fois.
  • Répartir la charge sur 4 jours en travaillant par tranche de 2 heures.
  • Répartir la charge sur 8 jours en travaillant par tranche d’une heure.
  • Faire deux 1/2 journées.
  • Etc.

L’important est que la charge tienne dans le délai.

Exemple de situation

Au bout de 3 jours de délai sur les 5 accordés, j’ai consommé 1j.h. de charge et produit 4 pages. Dit différemment : lundi j’ai travaillé une 1/2 journée sur le cahier des charges, mardi je n’ai pas travaillé dessus et mercredi j’ai travaillé une deuxième 1/2 journée.

Question : Vais-je pouvoir rendre le cahier des charges dans les temps ? Comme nous allons le voir, cela dépend de beaucoup de facteurs, dont la qualité (Q) attendue, les coûts (C) et le délai (D) .

Pour en savoir plus sur le triangle QCD, vous pouvez vous reporter à l’article ci-joint : https://organisologie.com/comment-sorganiser/comment-atteindre-ses-objectifs/plan-action/retroplanning/triangle-qcd/

Hypothèse 1 : l’estimation initiale est correcte pour rendre le cahier des charges dans les temps

Si l’on postule que le cahier des charges fera bien 10 pages et si en 1j.h j’ai rédigé 4 pages alors une première règle de trois nous permet d’estimer qu’il faudrait en fait un total de 2,5j.h pour produire les 10 pages. Or, notre commanditaire nous a accordé 2j.h.

Alerte 1 : le problème vient de la charge

Au regard du calcul précédent, il apparaît que la charge estimée initiale a été minorée. J’ai en fait besoin d’une 1/2 journée supplémentaire pour finir le cahier des charges. Sauf, bien sûr, si je sais que les 6 pages restantes sont beaucoup plus simples, donc plus rapides, à produire et que les 1,5j.h seront suffisants pour le faire.

C’est à moi d’arbitrer et de remonter une alerte si nécessaire !

Alerte 2 : le problème vient du délai

Si j’ai consommé mon 1j.h sur une période de 3 jours, je peux projeter qu’en conservant le même rythme il me faudra un délai de 7,5 jours pour finir le cahier des charges au lieu des 5 estimés initialement. Sauf bien sûr si je sais que je peux être quasiment à temps plein sur le sujet au cours des 2 jours restant et que tous les interlocuteurs seront disponibles…

C’est encore à moi d’arbitrer et de remonter une alerte si nécessaire !

Bilan sur les alertes

Bilan sur les alertes Photo by <a href="https://unsplash.com/@yer_a_wizard?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Fleur</a> on <a href="https://unsplash.com/s/photos/warning?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>

On le voit, disposer de chiffres ne suffit pas. Encore faut-il les faire parler pour pouvoir remonter une alerte pertinente et suffisamment à l’avance pour que notre commanditaire puisse arbitrer sans être au pied du mur.

Dans l’exemple ci-dessus, les alertes ne s’excluent bien entendu pas : le problème peut venir à la fois de la charge et du délai.

Hypothèse 2 : l’estimation initiale est incorrecte pour rendre le cahier des charges dans les temps

Je m’aperçois que pour traiter l’intégralité du périmètre attendu, ce n’est pas 10 pages mais plutôt 15 qu’il faudrait rédiger. Une rapide réestimation de la charge m’amène à 3j.h. (je remercie au passage la fameuse règle de trois, sans qui rien n’aurait été possible).

Autrement dit, pour mener le cahier des charges à bien, il me manque une journée de charge. Car oui, si le volume à rédiger augmente, la charge augmente également (à moins de fortement dégrader la qualité), pouvant d’ailleurs entraîner un dépassement du délai. La vigilance est de mise !

Alors que faire ? la situation n’est guère confortable… Voici mes 3 premiers conseils .

Conseil n°1 : ne vous mettez pas en surcharge

Ne vous mettez pas en surcharge. Photo by <a href="https://unsplash.com/@ante_kante?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Ante Hamersmit</a> on <a href="https://unsplash.com/s/photos/burn-out?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>

La dernière chose à faire est d’essayer de faire rentrer ces 3j.h dans les 2j.h alloués, par exemple en faisant des heures supplémentaires non déclarées et en travaillant le week-end !

Je ne dis pas que vous ne serez jamais amenés à le faire mais cela ne peut être en aucun cas la solution par défaut. Pourquoi ?

Vous ne vous rendez pas service

Ok, j’ai mis les bouchées doubles, j’ai sacrifié mon weekend, le document est rendu dans les temps. D’une, je n’aurai pas de médaille pour cela ni de remerciements particuliers : du point de vue du commanditaire, je n’ai fait que mon travail.

De deux, j’habitue mon commanditaire à rendre dans les temps un travail pour lequel, normalement, il aurait fallu plus de charge et / ou plus de délai. En faisant cela, je perds une occasion de « l’éduquer » (lui faire prendre conscience qu’il minimise trop les tâches à réaliser) et, surtout, il ne comprendra pas pourquoi, dans un autre cas similaire, je suis en retard (je ne peux pas systématiquement travailler le weekend). Ces deux derniers points sont d’ailleurs profitables à l’ensemble des équipes…

Vous ne rendez pas service aux autres

Oui, notre attitude vis à vis d’une surcharge de travail impacte aussi nos proches collaborateurs. En effet, puisque j’arrive à rédiger le document dans le délai et la charge impartis (sans avoir indiquer que je prenais sur mon temps personnel pour y parvenir), pourquoi n’en serait-il pas de même pour mes collègues ?

Un principe de base dans les projets et d’avoir un rythme de travail soutenable « indéfiniment ». Absorber la surcharge en faisant des heures supplémentaires ne répond pas à ce principe et l’on contribue ainsi sans s’en rendre compte à accroître la pression sur tous.

J’en parle en connaissances de cause, un chef de projet m’avait reproché cela (j’étais alors un jeune consultant) : alors que le périmètre à traiter augmentait, je continuais à délivrer le travail dans les temps car je finissais plus tard le soir et empiétais largement sur mes samedis. Nous perdions de fait des occasions précieuses de renégocier les délais ou de revoir le périmètre… En gros, je faussais le jeu.

Remontez les choses posément et factuellement

Selon moi, une bonne attitude est de commencer par remonter une alerte à son commanditaire en lui rapportant des faits chiffrés. Pas des formules du type « je pense qu’il me faudrait plus de temps », « je crois que ça ne tient pas dans le délai », etc. Non. Des chiffres, oui !

En effet, au cours de cette phase de discussion qui peut avoir des allures de négociation, peut-être que le commanditaire, en fonction de l’alerte :

  • Augmentera ma charge pour finaliser le cahier des charges.
  • M’accordera un délai supplémentaire.
  • Diminuera le périmètre à couvrir.
  • Baissera la qualité attendu.
  • Etc.

Voire même dans certains cas abandonnera le projet car son ROI (Retour Sur Investissement) n’est plus intéressant du fait du surcoût que vous lui signalez.

Bref, il existe des tas de scénarios possibles mais, dans tous les cas, on vous sera certainement reconnaissant d’avoir pris les devants et d’avoir été totalement transparent.

Conseil n°2 : ne consommez pas d’avantage sans en informer le donneur d’ordre

Ne consommez pas sans en informer le donneur d'ordre. Photo by <a href="https://unsplash.com/@fikrirasyid?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Fikri Rasyid</a> on <a href="https://unsplash.com/s/photos/consume?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>

Une autre option à vraiment éviter serait la suivante : ne pas informer son commanditaire de la surcharge, consommer plus que ce qu’il a donné et le mettre ensuite face au fait accompli ! Un commanditaire préfèrera (presque) toujours qu’on lui remonte une alerte anticipée de dérive (de charge, de délai, de pages, etc.) plutôt que de devoir payer plus sans avoir eu le choix d’arbitrer.

En effet, si pour lui il est acceptable de financer 2j.h de travail pour le cahier des charges demandé, il considèrera peut-être que consommer plus rend ce même document beaucoup trop coûteux pour l’importance qu’il y accorde !

Pour bien vous rendre compte de l’enjeu, que diriez-vous si le peintre que vous avez engagé pour 2 jours de travail et 35 mètres carrés de surface travaillait en fait 4 jours sans vous en informer et vous présentait la facture ? Seriez-vous satisfait de payer 2 jours de plus sans avoir eu le choix ?

Conseil n°3 : ne dégradez pas le travail sans en informer le commanditaire

Ne dégradez pas le travail.  Photo by <a href="https://unsplash.com/@theblowup?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">the blowup</a> on <a href="https://unsplash.com/s/photos/garbage?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>

Une autre option tentante pour tenir les délais et de rogner sur la qualité : on écrit plus vite, moins bien, les schémas sont bâclés ou, pire, ne sont pas faits… On dégrade son travail pour aller plus vite, avec pour risque que l’on dégrade aussi son image. Un travail peu soigné donné de nous une image de personne peu soigneuse.

Donc si l’alternative pour livrer le cahier des charges dans les temps, en respectant le budget et en traitant la totalité du périmètre, est de baisser la qualité, prenez le temps de soumettre cela au commanditaire. En effet, en fonction de l’usage qui sera fait du document, il préfèrera peut-être que l’on y passe plus de temps afin de rendre un travail impeccable.

En espérant que ces conseils vous seront profitables, n’hésitez pas à nous répondre en commentaire ou à vous abonner à notre newsletter en bas de cette article. Venez partager votre expérience en commentaire sur les sujets en lien avec les cahier des charges !

Y a-t-il de bons indicateurs de pilotage ?

Y a-t-il de bons indicateurs de pilotage ?  Photo by <a href="https://unsplash.com/@mael_balland?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Mael BALLAND</a> on <a href="https://unsplash.com/s/photos/pilote?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>

Y a-t-il de bons indicateurs de pilotage ? Et, par extension, y en a-t-il des mauvais ou des moins bons ?

Pour paraphraser Otis, un personnage d’Astérix incarné par Edouard Baer, je pourrais dire : « Mais, vous savez, moi je ne crois pas qu’il y ait de bons ou de mauvais indicateurs » mais ce serait faux. Il y a de bons indicateurs ou il n’y en a pas, soit on donne une bonne visibilité sur une situation, en toute transparence, soit on n’en donne pas.

Et l’on peut faire des reportings quotidiens ou hebdomadaires sans jamais rien donner de tangible quant à l’avancement des travaux…

Aussi, avec cet article, je vais essayer de vous faire partager quelques indicateurs de suivi que je trouve pertinents et que vous serez libres d’adapter à vos contextes.

Quand mettre à jour ses indicateurs de pilotage ?

En préambule, je vais d’abord traiter la question du rythme de mise à jour des indicateurs de pilotage.

En échangeant avec un consultant, ce dernier me faisait part de ses difficultés, en fin de semaine et en fin de mois, à produire ses reportings.

La raison en était simple : ses journées étaient chargées, avec beaucoup de réunions et d’alternances de tâches parfois brèves, si bien qu’en fin de semaine il se retrouvait à éplucher son planning et ses emails pour essayer de reconstituer sa semaine. Tâche laborieuse et imprécise s’il en est…

Sans prétention, je lui ai fait part de ma méthode pour être en mesure de produire un reporting précis rapidement : je mets mes indicateurs à jour systématiquement à chaque fin de tâche. Pour se faire, je compte dans le temps de la tâche le temps de la mise à jour. Donc si je dois travailler une heure sur un sujet, mon temps de travail effectif ne sera que de 50 minutes et je me garde 10 minutes pour remplir mon tableau de bord.

Est-ce à dire que je « vole » mon commanditaire de trente minutes à une heure de travail par jour ? Chacun pourra avoir son avis sur le sujet, pour ma part je considère que le pilotage fait partie de mes tâches journalières et que cela ne rentre pas dans le cadre des heures supplémentaires.

Les bons indicateurs de pilotage : quelques étude de cas réels

Reporting n°1

Observons ce premier reporting :

« Bonjour Valérie,

Ci-dessous, un reporting des différentes actions liées à mon périmètre.

L’action en cours est la complétion du document questions/réponses fournisseurs.

 L’actions terminée est la réalisation d’un benchmark lié au projet panier de services.

L’actions à venir est la complétion et validation par le métier du document questions/réponses fournisseurs

Cordialement, »

Qu’en pensez-vous ? Si vous étiez le destinataire de ce reporting, vous donnerait-il satisfaction ? Pourquoi ?

Reporting n° 2

Observons ce deuxième reporting :

« Lectures de la synthèse des ateliers de travail : 1h

Essayer de régler le problème du logiciel x-XX qui ne s’affichait plus sur mon Word : 2h

Mise à jour du document « Problèmes Modèle source » (ci-joint) : 4h »

Qu’en pensez-vous ? Si vous étiez le destinataire de ce reporting, vous donnerait-il satisfaction ? Pourquoi ?

Reporting n°3

Observons ce troisième reporting :

« Durant ce premier mois j’ai tout d’abord reçu les informations de la part de la personne que je remplace.

Je me suis formé à l’outil à déployer ainsi qu’à l’outil de e-learning.

J’ai rencontré les interlocuteurs. 

J’ai commencé cette semaine et la semaine dernière à animer des sessions de formation et des réunions de plan de déploiement. »

Qu’en pensez-vous ? Si vous étiez le destinataire de ce reporting, vous donnerait-il satisfaction ? Pourquoi ?

Synthèse

Quel est le défaut commun à ces trois reportings ? Il n’y a aucune mesure objective d’avancement des sujets, ils ne donnent aucune visibilité au donneur d’ordre.

Ainsi, si l’on prend le troisième exemple, seriez-vous intéressé par le fait de savoir combien de temps de le transfert de connaissances a pris ? Et s’il faut encore des heures pour le terminer ? Ou encore combien d’heures de formation ont été dispensées et combien il en reste à faire ? Combien de personnes ont été formées et combien il en reste à former ?

Si vos réponses sont oui, alors vous êtes prêts pour entrer dans le monde du pilotage quantifié.

Prise de conscience sur l’importance des indicateurs de pilotage

Pilotage, transparence, confiance. Photo by <a href="https://unsplash.com/@chasefade?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Chase Fade</a> on <a href="https://unsplash.com/s/photos/pilot?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>

Transparence et confiance

Quitte à enfoncer une porte grande ouverte, je préfère cependant le rappeler : on ne pilote pas pour soi, ni parce qu’on nous le demande. Et le fait qu’un commanditaire demande à avoir de la visibilité n’est pas du « flicage ».

Pour peu que vous évoluiez dans un environnement agile, vous savez sans doute que deux des fondements de cette méthode de gestion de projets sont la transparence et la confiance. La transparence demande du courage c’est vrai, surtout quand les chiffres ne sont pas bons mais la confiance est à ce prix : la transparence coûte que coûte, dans les bons moments comme dans les coups durs.

Pourquoi piloter ?

Ainsi, on pilote pour :

  • Donner de la visibilité à ses supérieurs, aux membres de l’équipe, etc.
  • Anticiper : va-t-on finir à temps, plus tôt, plus tard ? De combien ?
  • Rassurer ses supérieurs, les membres de son équipe, etc.
  • Se protéger.

Autant les trois premiers points peuvent sembler évidents au regard de ce qui vient d’être dit, autant la notion de protection mérite que l’on s’y attarde.

Lorsqu’un maçon construit un mur, il est facile de compter combien de briques il a posé en une heure, en une journée, en une semaine, etc. Et il est également assez facile de voir si le mur est droit, s’il y a des interstices entre les briques, des problèmes d’alignement ou autre. Le travail et sa qualité sont visibles.

De plus, le chef de chantier sait à quelle vitesse le mur devrait se construire. Il sait donc de suite si son maçon travaille trop lentement, au rythme standard ou plus vite que prévu.

Si c’est trop lent, ce n’est pas forcément que le maçon n’est pas bon. Cela peut être lié au climat, à la qualité du sol, à des outils inappropriés, etc.

Si c’est trop rapide, cela ne veut pas forcément dire que le maçon est excellent. C’est peut-être aussi le signe d’un travail de moindre qualité, aux finitions bâclées.

Mais pour un cahier des charges, comment savez vous si vous avancez au bon rythme ? Si vous êtes à la traine ou en surchauffe ? Voyez vos pages comme des briques, et comptez…

Les 4 piliers du pilotage

Avant d’entrer plus en détail dans les indicateurs de pilotage pertinents pour suivre l’avancée d’un cahier des charges, gardez ces 4 piliers en tête :

  1. Chaque tâche doit être objectivée avec les indicateurs d’avancement adéquats.
  2. Le consommé et le reste à faire évoluent dans le temps.
  3. Le reste à faire doit être réévalué au fil de l’eau.
  4. Le commanditaire ne doit pas faire un effort d’interprétation ni de calcul pour comprendre votre reporting et avoir une vision claire de la situation.

Les 3 types d’avancement et leurs indicateurs de pilotage associés

Avancement et pilotage. Photo by <a href="https://unsplash.com/@aaronburden?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Aaron Burden</a> on <a href="https://unsplash.com/s/photos/three?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>

De façon générale, on va distinguer trois types d’avancement. Il s’agit donc de bien les distinguer et de piocher dedans les indicateurs qui nous sont les plus utiles.

Avancement budgétaire

L’avancement dit « budgétaire », en jour.homme et/ou en devise, compte quatre indicateurs clés :

  1. L’estimation initiale, qui n’est plus réévaluée une fois qu’elle a été déterminée.
  2. Le consommé réel, mis régulièrement à jour.
  3. Le reste à faire (RAF) réel, lui aussi régulièrement réévalué.
  4. Le pourcentage d’avancement, qui est calculé ainsi : Consommé / (Consommé + RAF).

Estimation initiale

Prenons un exemple plus parlant. Admettons que je doive rédiger un manuel utilisateur pour une application. Je vais commencer par estimer (chiffrer) le temps qu’il me faudrait pour réaliser la tâche. Pour ce faire, je peux m’appuyer sur le nombre d’écrans à décrire, etc. Et j’arrive à la conclusion qu’il me faudrait 2 jours.homme. J’ai mon estimation initiale.

Je recommande fortement de ne pas modifier cette estimation une fois qu’elle a été actée, notamment pour pouvoir se confectionner des abaques. En effet, ce sont entre autres les erreurs qui permettent de progresser et plus on garde trace de ces erreurs, plus nos estimations futures seront précises.

Consommé

Ensuite, le consommé. Il s’agit tout simplement de tracer le temps réel que vous avez passé sur une tâche : 1h, 1/2 journée, 1 jour, etc. Un conseil : ne descendez pas en-dessous de trente minutes, cela devient trop compliqué à suivre. Pour rester sur l’exemple, je vais dire que j’ai déjà consommé 1j.h sur la rédaction du manuel.

Reste à faire

Le reste à faire, qu’est-ce que c’est ? C’est le temps que j’estime devoir encore passer sur la tâche afin de la mener à bien. Ce n’est donc en aucun cas un calcul mais bien une nouvelle estimation, une réévaluation.

Je m’explique. Si je dois faire 200km en voiture et que j’estime qu’il me faut 2 heures pour les parcourir, est-ce qu’après une heure de route, j’ai fait la moitié du chemin ? Peut-être… mais surtout, peut-être pas ! Si j’ai passé 30 minutes dans les bouchons et que la circulation est dense, après une heure de route, j’estime peut-être qu’il me faudra encore 2 heures pour terminer mon périple. Donc j’ai estimé 2h, j’ai consommé 1h et j’estime qu’il me faut encore 2h pour arriver.

Dans le cas de notre manuel utilisateur, après 1j.h de travail, je peux réestimer à la hausse comme à la baisse le temps qu’il me faudra pour terminer. Ici, je vais dire qu’il me faut encore une 1/2 journée pour terminer. J’ai donc mon reste à faire.

Pourcentage d’avancement

Enfin, le pourcentage d’avancement, qui est une information parlante et claire : Consommé / (Consommé + RAF) = 1/(1+0,5) = 67% d’avancement.

Avancement physique

L’avancement « physique » est souvent celui qui est le plus négligé dans le pilotage, surtout pour la conception d’un cahier des charges. Pourtant, sans cette vision, impossible de savoir ce qui a été réellement produit ! Sur mon exemple routier, dire que j’ai conduit pendant 2 heures ne signifie absolument pas que j’ai couvert les 200km, j’en ai peut-être fait que 50 !

Par conséquent, j’ai besoin de connaître :

  1. L’estimation initiale, non réévaluée. Par exemple, combien de pages estimées contiendra le manuel utilisateur ? Pour notre exemple, disons qu’il devrait en contenir 10.
  2. Le produit réel mis régulièrement à jour. Par exemple, combien de pages du manuel ai-je rédigé et validé ? Disons 7.
  3. Le RAF réel, lui aussi régulièrement réévalué. Disons 5.
  4. Le pourcentage d’avancement qui, selon la formule ci-dessus, nous donne 58%.

Avancement temporel

Ici, il s’agit de donner une vision temporelle, planifiée, des choses à l’aide d’un certain nombre de jalons :

  • Dates de livraisons intermédiaires prévisionnelles.
  • Date de livraison finale prévisionnelle.
  • Dates de livraisons réévaluées.
  • Dates de livraisons réelles.

Zoom sur les indicateurs de pilotage

Les indicateurs de pilotage communs

Quel que soit l’avancement que vous utilisiez, il s’appuie sur des indicateurs communs :

  • Une ou plusieurs dates.
  • Une estimation initiale.
  • Le consommé.
  • Le reste à faire.
  • Le pourcentage d’avancement.

Les indicateurs de pilotage spécifiques

Les indicateurs spécifiques concernent l’avancement physique. En effet, que je doive animer des sessions de formation pour tout le personnel d’une entreprise ou rédiger un cahier des charges, je ne vais pas utiliser les mêmes indicateurs.

Par conséquent, il est primordial lorsqu’on s’attèle à une tâche, d’identifier le ou les éléments qui pourront être physiquement comptés. Ce peut être par exemple un nombre de pages, d’ateliers, d’interlocuteurs, de schémas, d’écrans, de cas de tests, etc.

Ainsi, pour animer des sessions de formation au sein d’une entreprise je pourrais compter : le nombre d’heures de formation, le nombre de sessions, le nombre de personnes formées, etc.

En bonus, vous trouverez ci-dessous un exemple de tableau de bord avec les indicateurs travaillés dans cet article :

En espérant que ces conseils vous seront profitables, n’hésitez pas à nous répondre en commentaire ou à vous abonner à notre newsletter en bas de cette article. Venez partager votre expérience en commentaire sur les sujets en lien avec les cahier des charges !

7 règles pour démarrer son cahier des charges

7 règles simples pour bien démarrer son cahier des charges… et donner de la visibilité !

7 règles simples pour bien démarrer son cahier des charges

Votre commanditaire vient de vous confier la tâche de rédiger un cahier des charges, par exemple dans le but de lancer un appel d’offres dans le secteur public ou pour une entreprise privée. Problème : cet exercice ne vous est pas du tout familier et votre entourage, professionnel comme personnel, n’est pas en mesure de vous aider.

Ne souriez-pas, cette situation est assez commune dans bon nombre d’organisations. J’ai déjà pu observer que ce travail, qui nécessite tout de même une certaine expérience et un minimum de technicité, était même parfois confié à des stagiaires ou des alternants… Mais que l’on soit junior ou plus aguerri, j’observe régulièrement deux écueils majeurs dans l’acte de rédaction :

  • on se jette à l’assaut du document sans trop vraiment savoir ce qu’il doit contenir,
  • il est difficile de dire objectivement quand on aura terminé.

C’est en partant de ce constat que je me suis dit qu’un article sur 7 règles simples à appliquer pour bien démarrer son cahier des charges pourrait être utile à beaucoup d’entre vous. J’en prépare un autre sur les indicateurs de pilotage clés, n’hésitez pas à me dire en commentaire si cela vous intéresse !

Suis-je prête, suis-je prêt ?

Suis-je prête, suis-je prêt ?

Avant même de se lancer dans la rédaction de son cahier des charges, il faudrait déjà savoir précisément ce que l’on doit écrire. Cela est tellement évident que le fait de le rappeler semble totalement superflu. Et pourtant… Que celui ou celle qui n’a jamais passé des heures de travail à rédiger des éléments qui ont ensuite été supprimés du document me jette la première pierre ! (aïe !)

Oui, il est primordial de définir le plus en amont possible les attendus de notre commanditaire afin de maximiser nos chances de donner pleine et totale satisfaction. En effet, un démarrage mal cadré présage rarement de quelque chose de bon en sortie…

C’est pourquoi je vais tenter de vous faire profiter de 7 règles simples qui vous permettront de démarrer plus sereinement votre cahier des charges.

7 règles simples pour bien démarrer son cahier des charges

1 : S’accorder sur le chiffrage

Partez toujours de ce postulat : un commanditaire, quel qu’il soit, ne fait jamais de chèque en blanc. Par conséquent, ne pas connaître le budget (en euro ou la charge en jour.homme) qu’il est prêt à vous allouer pour mener à bien le cahier des charges est un risque qu’il vaut mieux éviter de prendre.

Les raisons paraissent évidentes :

  • Si, pour vous, le travail à réaliser est d’une telle ampleur que vous prenez 10j.h pour le faire alors que votre commanditaire considère qu’une première pré étude de 3j.h aurait été suffisante, vous ne donnerez pas satisfaction.
  • Si votre commanditaire attend un travail fouillé de 10j.h et que vous survolez le sujet en seulement 3j.h, vous ne donnerez pas non plus satisfaction.

CQFD : vous raterez à tous les coups.

Par conséquent, mettez-vous d’abord d’accord sur une valeur. Elle pourra toujours être réajustée au fil de l’eau… mais seulement si vous avez des éléments factuels (des chiffres) à avancer, surtout s’il s’agit de demander une rallonge !

2 : Connaître le format attendu

Là encore, j’enfonce peut-être une porte ouverte mais, lorsque vous rédigez un document, êtes-vous toujours certain du format sous lequel il est attendu ? Devez-vous rédiger sous Word ? Faire un PowerPoint ? Un tableau Excel ? Un email ? Utiliser l’outil de ticketing de votre organisation, Jira ou Mantis par exemple ? Confluence ? Axure ? Etc.

Ne faites pas fausse route en décidant vous-même du format qui vous semble le plus adapté ou avec lequel vous êtes le plus à l’aise. In fine, c’est bien votre commanditaire qui exploitera le document, c’est donc lui qui devra se sentir le plus à l’aise avec.

3 : Connaître le contenu attendu…

Aborder le sujet du contenu signifie que le besoin a déjà un peu maturé et que le commanditaire sait plus ou moins ce qu’il souhaite. Au minimum, je vous recommande de poser les trois questions suivantes :

  1. Faut-il définir les enjeux du projet ?
  2. Le document doit-il contenir des schémas (processus, flux, etc.) ou même des maquettes d’écrans ?
  3. Quel est précisément le périmètre fonctionnel à couvrir ?

Cela est certes très macro mais, au moins, vous saurez sur quoi vous devez vous focaliser. Ensuite, le niveau de détail et de qualité variera en fonction de la charge allouée et du délai (j’y arrive un peu plu bas).

4 : … et le contenu non attendu (ils n’en veulent pas !)

oui ou non

Hé oui ! S’il est très important de savoir ce que doit contenir le cahier des charges, il l’est tout autant de savoir ce qu’il ne doit pas contenir. Dit autrement : Qu’est-ce qui pourrait figurer dans l’étude mais que votre commanditaire choisit volontairement d’exclure ?

En effet, il s’agit d’optimiser votre production dans le temps qui vous est imparti. Gaspiller bêtement de l’énergie à rédiger des choses qui seront supprimées du document, c’est frustrant et c’est une source de stress inutile.

De plus, si tous les intervenants partagent cette information, cela vous protège d’éventuels actes de mauvaise foi. Si un élément a été exclu du périmètre de l’étude, personne ne pourra vous reprocher de ne pas l’avoir traité ;-). Et si pour une raison quelconque il fallait le réintégrer au cahier des charges, alors vous serez tranquille pour renégocier le budget ou le délai… 😉

5 : Dimensionner le volume à produire

Ce point peut demander un peu d’expérience mais il est important d’avoir une estimation, une fourchette, du volume à produire, que ce soit en nombre de pages, en nombre de fonctionnalités et, pour les plus aguerris : user stories, exigences, tickets, etc.

Pourquoi est-ce important ?

D’une part, si l’on n’a pas cette estimation initiale, il sera ensuite quasiment impossible de dire si oui ou non on touche au but, si l’on prévoit de lourds dépassements ou si au contraire on a surévalué la tâche.

D’autre part, une fois mis au regard de la charge, cela permet d’avoir une idée de la productivité attendue… et d’alerter en conséquence le cas échéant !

En effet si, par exemple, je n’ai que 2j.h pour produire un cahier des charges de 20 pages, ce n’est pas la même chose que d’en avoir 10, ou 20, etc. Donc, est-ce que la charge que l’on m’octroie est cohérente avec le volume que j’ai à produire ? Et ce peu importe le délai ! Que j’ai un délai de 4 jours pour utiliser mes 2j.h ou un délai de 3 semaines, il reste que je dois toujours produire 20 pages en 2j.h (bien entendu, je postule ici que je suis seul sur le projet).

A l’inverse, si je n’ai ni charge ni idée du volume à produire alors comment puis-je alerter mon commanditaire sur d’éventuelles dérives ?

6 : Borner dans le temps

Un projet a certes une date de début mais il a surtout une date de fin. Afin de s’organiser au mieux en fonction des tâches, de leur charge et de leur priorité, j’ai besoin de savoir à quelle échéance je dois rendre mon travail. Là encore, cette information est précieuse pour pouvoir anticiper des dérives et remonter des alertes, et valider à temps (avant la date buttoir… ;-)) !

agenda

Par exemple :

  • J’ai 5 jours de délai.
  • Avec une charge de 2j.h.
  • Je dois produire 10 pages.
  • J’ai consommé 1j.h sur 3 jours de délai.
  • J’ai produit 4 pages.

Vais-je rendre mon travail dans les temps ? Cela dépend de beaucoup de facteurs, notamment la qualité (Q) attendue, les coûts (C) et le délai (D). Un article sortira très prochainement pour détailler les différentes options possibles.

Ne vous mettez pas en surcharge

Si vous allez déborder, pas de panique ! La première chose à faire n’est pas d’essayer de faire rentrer plus de jours que ne peuvent en contenir les 2j.h alloués en faisant des heures supplémentaires et en travaillant le week-end sans le dire ! Commencez plutôt par alerter votre commanditaire en lui rapportant ces faits. Peut-être qu’il augmentera votre charge, peut-être qu’il diminuera le périmètre à couvrir, peut-être qu’il abaissera la qualité attendu, peut-être qu’il abandonnera le projet car son ROI (retour sur investissement) n’est plus intéressant, etc. Bref, il existe des tas de scénarios possibles !

Et dans tous les cas, on vous sera reconnaissant d’avoir pris les devants.

Pour en savoir plus sur le triangle QCD, vous pouvez vous reporter à l’article ci-joint : https://organisologie.com/comment-sorganiser/comment-atteindre-ses-objectifs/plan-action/retroplanning/triangle-qcd/

Ne consommez pas d’avantage sans en informer le donneur d’ordre

Une autre option à éviter est la suivante : ne pas informer votre commanditaire de la surcharge, consommer plus que ce qu’il vous a donné et le mettre ensuite au pied du mur ! Un commanditaire préfèrera (presque) toujours qu’on lui remonte une alerte anticipée de dérive (de charge, de délai, de pages, etc.) plutôt que de devoir payer plus sans avoir eu le choix d’arbitrer.

En effet, si pour lui il est acceptable de payer 2j.h de travail pour le document demandé, il considère peut-être que plus rend ce même document trop coûteux pour l’importance qu’il y accorde !

7 : Définir les priorités

Au sein de votre organisation, vous avez certainement plusieurs sujets sur le feu et les tâches s’accumulent. Comment les gérerez-vous ?

  • Traitez-vous les demandes dans leur ordre croissant d’arrivée en faisant en sorte que les tâches les plus anciennes soient celles que vous acheviez en premier ?

ou bien

  • Le dernier qui a parlé est-il servi en premier, et ce même si la tâche est moins importante que les autres ? Ou plus longue ? Voire les deux ?

Concernant la gestion des priorités, je préconise deux choses.

Le plus rapide en premier

Vous pouvez adopter une approche « Quick win » (gagner rapidement) qui consiste à toujours commencer par les tâches les plus rapides à faire de façon à ce que votre commanditaire voit que les choses avancent.

vitesse manège

Dit autrement, si vous avez trois tâches à exécuter, une de 1 heure, l’autre de 3 heures et la dernière de 2 jours, commencez par celle d’une heure.

En montrant à votre commanditaire que vous faites bouger les choses et que vous clôturez des sujets, vous le mettrez plus facilement en confiance, ce qui vous permettra de travailler sereinement sur la tâche la plus longue (ce qui ne vous dédouane pas de donner de la visibilité sur l’avancement).

A l’inverse, commencer par la tâche la plus longue, et pour peu que génériez un effet tunnel (votre commanditaire n’a aucune visibilité sur l’avancement de la tâche), est le meilleur moyen pour qu’il s’inquiète ! Ne vous étonnez pas s’il vous demande toutes les deux heures où vous en êtes, ce n’est pas qu’il est pressant, c’est juste qu’il n’est pas en situation de confiance !

Une priorisation concertée

Même si vous pouvez avoir votre idée des sujets les plus prioritaires et avoir fait un premier classement selon leur durée, je recommande de discuter de la priorité avec le commanditaire.

N’oubliez pas, aussi trivial que ce soit : c’est lui qui vous rémunère ! Donc ses priorités deviennent les vôtres et l’ordre d’exécution des tâches peut donc différer.

Il s’agit donc de ne pas écouter sa tendance naturelle (soit commencer par ce qui nous plaît le plus, soit « manger sa grenouille » au plus tôt) mais bien de s’assurer que l’ordre d’exécution des tâches réponde aux besoins prioritaires du commanditaire ! Parfois, cela ira dans votre sens naturel, parfois non. Il faut faire avec 🙂

Synthèse des 7 règles simples pour bien démarrer son cahier des charges

  1. S’accorder sur le chiffrage
  2. Avoir le format de livrable attendu
  3. Connaître le contenu attendu
  4. Connaître le contenu non attendu
  5. S’accorder sur le volume à produire
  6. Avoir une date d’échéance
  7. Prioriser les tâches

Et vous, pour démarrer un cahier des charges, qu’elle est votre tâche préférée ?

N’hésitez pas à nous répondre en commentaire ou à vous abonner à notre newsletter en bas de cette article. Venez partager votre expérience en commentaire sur les sujets en lien avec les cahier des charges !

Une « classe association », qu’est-ce que c’est ?

Tentative de définition d’une classe association

Exemple de classe association

Une « classe association », qu’est-ce que c’est ?

Si vous avez été amené à modéliser des concepts métier (un diagramme de classe au sens UML) ou plus simplement à devoir lire un diagramme de classe, alors la représentation ci-dessus ne vous est peut-être pas inconnue.

Mais que signifie-t-elle réellement ? Comment la lire et quand l’utiliser à bon escient ? Tel est l’objet de cet article qui, je l’espère, vous aidera à mieux comprendre la technique de la classe association.

En modélisation UML des données, une « classe association » est une classe à la jonction de deux autres classes. Elle porte des informations, que l’on appelle « attributs », qui sont en dépendance directe des deux autres classes et qui ne pourraient se mettre ni dans l’une, ni dans l’autre.

Bon, vous me direz qu’avec cela, on n’est pas beaucoup plus avancé. Je vais donc illustrer par des exemples. Je préciserais quand même que cet article s’adresse plutôt à des gens qui savent déjà un peu modéliser. A la fin, je vous donnerai une astuce pour vous passer de l’utilisation d’une classe association. Cela permettra aux plus néophytes de se sortir des situations complexes.

Quand peut-il y avoir une classe association ?

Exemple de classe association

Il ne peut y avoir une classe association que si l’association entre les deux autres classes a de part et d’autre une multiplicité maximum égale à « plusieurs », représentée par le symbole « * ».

Dans l’exemple ci-dessus, il y a bien « * » du côté du concept A et du concept B, il est donc possible de mettre une classe association. Dans tous les autres cas, cela constituerait une erreur de modélisation. Pour information, la valeur de la multiplicité minimum (0 ou 1) n’entre pas en ligne de compte.

En synthèse, voici la liste des cas envisageables :

  • Concept A 0 ou 1..1 —————- 0 ou 1..* Concept B : pas de classe association possible
  • Concept A 0 ou 1..* —————– 0 ou 1..1 Concept B : pas de classe association possible
  • Concept A 0 ou 1..* —————– 0 ou 1..* Concept B : classe association possible

Y a-t-il toujours une classe association ?

Exemple de cas sans classe association

On pourrait penser que dès lors qu’il y a une association entre deux classes avec « * » en multiplicité maximum, alors il y a forcément une classe association. Cela est vrai si l’on se place du point de vue d’un développeur fabriquant sa base de données. Mais lorsqu’on travaille à un niveau conceptuel métier, ce qui est le cas lorsqu’on rédige un cahier des charges, alors cela n’est plus du tout systématique.

Pour illustrer cela, je vais prendre un exemple simple. Imaginons que vous deviez rédiger un cahier des charges pour gérer les traducteurs d’une maison d’édition. Un traducteur peut traduire une à plusieurs (*) langues et une même langue peut être traduite par un à plusieurs (*) traducteurs. Le système à implémenter devra donc permettre de renseigner cela et de dire précisément quel traducteur traduit quelle(s) langue(s).

Exemple d'association many to many

Dit plus clairement, le traducteur François traduit l’anglais et l’espagnol et la traductrice Claire traduit l’anglais et l’allemand. Un traducteur se caractérise par son nom et sa date d’entrée dans la maison d’éditions (ce sont ses attributs) et une langue se caractérise par son nom. Souvenez-vous ce que j’ai écrit plus haut : « une classe association vient porter des informations, que l’on appellera « attributs », qui sont en dépendance directe des deux autres classes« . Dans le cas exposé ici, aucun attribut n’est en dépendance à la fois du traducteur et de la langue : nul besoin de représenter une classe association dans la vision « métier » des choses.

Exemple de cas avec une classe association

Toujours dans le cadre de notre maison d’édition, vous devez à présent gérer le fait qu’un traducteur n’a pas le même niveau de maîtrise pour chacune des langues qu’il pratique. François a l’anglais pour langue maternelle et a un niveau courant en espagnol. Quant à Claire, elle est bilingue sur l’anglais et l’allemand.

Où mettre cette nouvelle information qu’est le « niveau » et qui est très importante pour le métier ? Comment représenter graphiquement le fait que pour chaque occurrence de couple « traducteur – langue », je dois pouvoir indiquer le niveau de maîtrise ?

Option 1

Exemple d'association many to many

Option 1 : je dis que le niveau est un nouvel attribut du traducteur. Problème : le niveau que j’attribuerai au traducteur sera le même pour toutes les langues qu’il traite. Pourquoi ? Parce que l’attribut « niveau » du concept « Traducteur » ne peut prendre qu’une seule valeur à un instant T, donc si je dis que François a un niveau « langue maternelle », cette valeur vaudra pour toutes les langues auxquelles il est rattaché : l’anglais et l’espagnol. Or, au regard de l’énoncé, on sait que cela est faux.

Option 2

Exemple d'association many to many

Option 2 : je mets le niveau sur la langue. Quelques secondes de réflexion suffisent à comprendre que cela n’est pas non plus un choix pertinent.

Option 3

Exemple de classe association

Option 3 : je fais appel à la classe association, que je pourrais appeler « Niveau » et sur laquelle je mettrai l’attribut « libellé », la valeur de ce niveau dépendant à la fois du traducteur et de la langue.

Une fois traduit en termes métier, cette représentation graphique signifie bien que pour chaque couple « Traducteur – Langue », je pourrai renseigner le niveau adéquat.

Ainsi :

  • François – Anglais – Langue maternelle
  • François – Espagnol – Courant
  • Claire – Anglais – Bilingue
  • Claire – Allemand – Bilingue

Le piège derrière la classe association

On pourrait avoir le réflexe de systématiquement utiliser la classe association dès lors que les principes précédents sont respectés : association entre deux classes avec « * » de chaque côté et présence d’au moins un attribut en dépendance directe des deux classes. Ce serait cependant une erreur de ne pas prendre un temps de réflexion pour bien approfondir le sujet.

En effet, la classe association a un signification bien précise et est porteuse d’une contrainte forte que je vais illustrer via un deuxième exemple.

Cas concret

Problématique à résoudre

Vous devez rédiger un cahier des charges pour une plateforme permettant à des écoliers de faire des exercices en ligne. Un écolier peut passer plusieurs exercices et un même exercice peut bien sûr être passé par plusieurs écoliers, ceux d’une même classe par exemple.

Pour chaque passage d’un exercice, le métier a besoin de pouvoir consulter la date de passage ainsi que le score obtenu par l’écolier.

Exemple de classe association

La classe association comme solution « réflexe »

Premier réflexe, naturel : je crée une classe association « Passage » où je vais stocker les deux attributs « date » et « score ».

Cela pourrait donc donner :

  • Nadia – Exercice 1 – 20/05/2021 10h05 – 78%
  • Nadia – Exercice 2 – 20/05/2021 11h01 – 95%
  • Adrien – Exercice 1 – 21/05/2021 08h33 – 80%
  • Adrien – Exercice 2 – 20/05/2021 08h45 – 63%
  • Etc.

A priori, tout va bien. J’enregistre les informations souhaitées et mon système fonctionne. J’ai cependant oublier de poser une question primordiale à mon interlocuteur métier : un écolier peut-il passer plusieurs fois le même exercice ? Par exemple pour le refaire s’il a obtenu un score insuffisant au premier passage.

Ne tombez pas dans le piège de la classe association systématique

Car c’est là le piège de la classe association : cette représentation implique qu’il ne peut pas y avoir deux occurrences d’un même couple de classes ou, pour illustrer avec l’exemple, cela signifie que Nadia ne pourra pas passer plus d’une fois chacun des exercices mis à sa disposition. Un seul passage autorisé pour l’exercice 1, l’exercice 2, etc.

Exemple de jeu de données

Pour bien comprendre cela, il faut se plonger un instant dans la base de données. Que va-t-il se passer lorsque Nadia va réaliser l’exercice 1 ? Le système va automatiquement créer une occurrence de classe association dont l’identifiant sera composé de celui de Nadia (écolière n° 345) et de celui de l’exercice (n° 61). Et comme il ne peut pas exister en base de données deux occurrences de classe ayant le même identifiant, cela signifie bien que le couple « Nadia – Exercice 1 » ne pourra pas être enregistré deux fois.

L’impact métier dans ce cas précis est donc que l’écolier ne peut pas refaire plusieurs fois un même exercice en vue de s’améliorer.

Conséquence du piège

L’une des première choses à faire lorsque vous pensez représenter une classe association, c’est de bien s’assurer auprès du métier qu’il ne peut pas y avoir de répétition (plusieurs occurrences) d’un même couple de classes.

Dans l’exemple de la maison d’édition et des traducteurs, une fois que l’on a indiqué que l’anglais est la langue maternelle de François, cela n’aurait pas de sens de faire ensuite une deuxième occurrence pour dire qu’il est bilingue sur cette même langue. Donc, dans ce cas, la classe association est parfaitement utilisée.

En revanche, dans le cas des écoliers et des exercices, si le métier vous dit qu’il s’agit d’exercices :

  • à passage unique, alors la classe association se justifie pleinement,
  • pouvant être passés plusieurs fois afin de s’entraîner et de progresser, alors la classe association n’est pas la bonne représentation graphique.

Si l’on ne clarifie pas cela au plus tôt avec le métier, l’impact sur le système développé peut être énorme, et surtout très coûteux. En effet, imaginons que vous donniez votre modèle avec la classe association au développeur. Lui comprend normalement très bien la problématique exposée ci-dessus et les fonctionnalités qu’il développera répondront au besoin exprimé par votre schéma.

Je vous laisse réfléchir à la déconvenue du  métier lorsqu’il effectuera la recette et qu’il essaiera de passer une seconde fois un exercice… C’est tout votre système qu’il faudra revoir : modifier le cahier des charges, réécrire le code, refaire les tests unitaires, re livrer en environnement de recette, refaire les tests métier, cela entraînant bien sûr une dérive de délai et de coûts !

Comment éviter le piège ?

Exemple d'alternative à la classe association

Une fois que l’on a posé la question au métier et que l’on a compris qu’un même exercice doit pouvoir être fait plusieurs fois par un même écolier, que faire ? En effet, la classe association ne pouvant pas être utilisée, où mettre les informations de date de passage et de score ?

C’est très simple : le « Passage » reste bel et bien une classe mais :

  • elle sera rattachée à écolier et à exercice,
  • l’association entre écolier et exercice saute.

Cela donnera donc :

  • Un écolier fait aucun ou plusieurs passages et un passage est réalisé par un seul écolier.
  • Un exercice fait l’objet d’aucun ou plusieurs passages et un passage porte sur un seul exercice.

Autrement dit, j’ai cassé la relation avec multiplicité « * » entre écolier et exercice pour faire deux associations et cela exprime parfaitement le fait qu’un écolier puisse passer plusieurs fois le même exercice.

Pourquoi ? Vous demandez-vous peut-être…

Exemple de jeu de données

Tout simplement parce que dans le cas initial, l’identifiant de la classe association était composé des identifiants de l’écolier et de l’exercice, ce qui interdisait les doublons. Alors que dans le cas final, « Passage » étant une classe à part entière, elle a son propre identifiant, complètement indépendant de ceux de l’écolier et de l’exercice. Par conséquent, on peut en créer autant qu’on veut, Nadia peut passer 50 fois l’exercice 1 si elle le souhaite.

Une classe association peut-elle être rattachée à une autre classe ?

Si jamais vous vous posez la question, sachez que la réponse est oui. Au même titre que les autres classes de votre modèle, une classe association peut elle aussi être rattachée à une ou plusieurs autres classes.

Conclusion

Sur le principe, la technique de la classe association est assez simple à acquérir dès lors qu’on a compris la logique qui la sous-tend. Cependant, un usage trop systématique peut être fortement préjudiciable à la solution qui sera développée, aussi je vous recommande fortement de bien toujours penser à poser cette question de « peut-il y en avoir plusieurs ? »

Outre le fait que c’est un questionnement très pertinent pour comprendre le fonctionnement d’un métier et clarifier une attente, il vous permettra de modéliser puis de décrire de façon très précise l’attendu et ainsi éviter une incompréhension qui s’avèrera toujours coûteuse !

Pour en apprendre davantage sur la modélisation des données, vous pouvez également parcourir ces articles : 

https://soscahierdescharges.fr/modeliser-les-donnees-dans-un-cahier-des-charges/

https://soscahierdescharges.fr/diagramme-de-classe-les-bonnes-multiplicites/

https://soscahierdescharges.fr/diagramme-de-classe-7-clefs-pour-etre-compris/

N’hésitez pas à vous abonner à notre newsletter en bas de cette article. Postez un commentaire et venez partager votre expérience sur les sujets en lien avec les cahier des charges !

Tentative de définition d’une classe association

Exemple de classe association

Une « classe association », qu’est-ce que c’est ?

Si vous avez été amené à modéliser des concepts métier (un diagramme de classe au sens UML) ou plus simplement à devoir lire un diagramme de classe, alors la représentation ci-dessus ne vous est peut-être pas inconnue.

Mais que signifie-t-elle réellement ? Comment la lire et quand l’utiliser à bon escient ? Tel est l’objet de cet article qui, je l’espère, vous aidera à mieux comprendre la technique de la classe association.

En modélisation UML des données, une « classe association » est une classe à la jonction de deux autres classes. Elle porte des informations, que l’on appelle « attributs », qui sont en dépendance directe des deux autres classes et qui ne pourraient se mettre ni dans l’une, ni dans l’autre.

Bon, vous me direz qu’avec cela, on n’est pas beaucoup plus avancé. Je vais donc illustrer par des exemples. Je préciserais quand même que cet article s’adresse plutôt à des gens qui savent déjà un peu modéliser. A la fin, je vous donnerai une astuce pour vous passer de l’utilisation d’une classe association. Cela permettra aux plus néophytes de se sortir des situations complexes.

Quand peut-il y avoir une classe association ?

Exemple de classe association

Il ne peut y avoir une classe association que si l’association entre les deux autres classes a de part et d’autre une multiplicité maximum égale à « plusieurs », représentée par le symbole « * ».

Dans l’exemple ci-dessus, il y a bien « * » du côté du concept A et du concept B, il est donc possible de mettre une classe association. Dans tous les autres cas, cela constituerait une erreur de modélisation. Pour information, la valeur de la multiplicité minimum (0 ou 1) n’entre pas en ligne de compte.

En synthèse, voici la liste des cas envisageables :

  • Concept A 0 ou 1..1 —————- 0 ou 1..* Concept B : pas de classe association possible
  • Concept A 0 ou 1..* —————– 0 ou 1..1 Concept B : pas de classe association possible
  • Concept A 0 ou 1..* —————– 0 ou 1..* Concept B : classe association possible

Y a-t-il toujours une classe association ?

Exemple de cas sans classe association

On pourrait penser que dès lors qu’il y a une association entre deux classes avec « * » en multiplicité maximum, alors il y a forcément une classe association. Cela est vrai si l’on se place du point de vue d’un développeur fabriquant sa base de données. Mais lorsqu’on travaille à un niveau conceptuel métier, ce qui est le cas lorsqu’on rédige un cahier des charges, alors cela n’est plus du tout systématique.

Pour illustrer cela, je vais prendre un exemple simple. Imaginons que vous deviez rédiger un cahier des charges pour gérer les traducteurs d’une maison d’édition. Un traducteur peut traduire une à plusieurs (*) langues et une même langue peut être traduite par un à plusieurs (*) traducteurs. Le système à implémenter devra donc permettre de renseigner cela et de dire précisément quel traducteur traduit quelle(s) langue(s).

Exemple d'association many to many

Dit plus clairement, le traducteur François traduit l’anglais et l’espagnol et la traductrice Claire traduit l’anglais et l’allemand. Un traducteur se caractérise par son nom et sa date d’entrée dans la maison d’éditions (ce sont ses attributs) et une langue se caractérise par son nom. Souvenez-vous ce que j’ai écrit plus haut : « une classe association vient porter des informations, que l’on appellera « attributs », qui sont en dépendance directe des deux autres classes« . Dans le cas exposé ici, aucun attribut n’est en dépendance à la fois du traducteur et de la langue : nul besoin de représenter une classe association dans la vision « métier » des choses.

Exemple de cas avec une classe association

Toujours dans le cadre de notre maison d’édition, vous devez à présent gérer le fait qu’un traducteur n’a pas le même niveau de maîtrise pour chacune des langues qu’il pratique. François a l’anglais pour langue maternelle et a un niveau courant en espagnol. Quant à Claire, elle est bilingue sur l’anglais et l’allemand.

Où mettre cette nouvelle information qu’est le « niveau » et qui est très importante pour le métier ? Comment représenter graphiquement le fait que pour chaque occurrence de couple « traducteur – langue », je dois pouvoir indiquer le niveau de maîtrise ?

Option 1

Exemple d'association many to many

Option 1 : je dis que le niveau est un nouvel attribut du traducteur. Problème : le niveau que j’attribuerai au traducteur sera le même pour toutes les langues qu’il traite. Pourquoi ? Parce que l’attribut « niveau » du concept « Traducteur » ne peut prendre qu’une seule valeur à un instant T, donc si je dis que François a un niveau « langue maternelle », cette valeur vaudra pour toutes les langues auxquelles il est rattaché : l’anglais et l’espagnol. Or, au regard de l’énoncé, on sait que cela est faux.

Option 2

Exemple d'association many to many

Option 2 : je mets le niveau sur la langue. Quelques secondes de réflexion suffisent à comprendre que cela n’est pas non plus un choix pertinent.

Option 3

Exemple de classe association

Option 3 : je fais appel à la classe association, que je pourrais appeler « Niveau » et sur laquelle je mettrai l’attribut « libellé », la valeur de ce niveau dépendant à la fois du traducteur et de la langue.

Une fois traduit en termes métier, cette représentation graphique signifie bien que pour chaque couple « Traducteur – Langue », je pourrai renseigner le niveau adéquat.

Ainsi :

  • François – Anglais – Langue maternelle
  • François – Espagnol – Courant
  • Claire – Anglais – Bilingue
  • Claire – Allemand – Bilingue

Le piège derrière la classe association

On pourrait avoir le réflexe de systématiquement utiliser la classe association dès lors que les principes précédents sont respectés : association entre deux classes avec « * » de chaque côté et présence d’au moins un attribut en dépendance directe des deux classes. Ce serait cependant une erreur de ne pas prendre un temps de réflexion pour bien approfondir le sujet.

En effet, la classe association a un signification bien précise et est porteuse d’une contrainte forte que je vais illustrer via un deuxième exemple.

Cas concret

Problématique à résoudre

Vous devez rédiger un cahier des charges pour une plateforme permettant à des écoliers de faire des exercices en ligne. Un écolier peut passer plusieurs exercices et un même exercice peut bien sûr être passé par plusieurs écoliers, ceux d’une même classe par exemple.

Pour chaque passage d’un exercice, le métier a besoin de pouvoir consulter la date de passage ainsi que le score obtenu par l’écolier.

Exemple de classe association

La classe association comme solution « réflexe »

Premier réflexe, naturel : je crée une classe association « Passage » où je vais stocker les deux attributs « date » et « score ».

Cela pourrait donc donner :

  • Nadia – Exercice 1 – 20/05/2021 10h05 – 78%
  • Nadia – Exercice 2 – 20/05/2021 11h01 – 95%
  • Adrien – Exercice 1 – 21/05/2021 08h33 – 80%
  • Adrien – Exercice 2 – 20/05/2021 08h45 – 63%
  • Etc.

A priori, tout va bien. J’enregistre les informations souhaitées et mon système fonctionne. J’ai cependant oublier de poser une question primordiale à mon interlocuteur métier : un écolier peut-il passer plusieurs fois le même exercice ? Par exemple pour le refaire s’il a obtenu un score insuffisant au premier passage.

Ne tombez pas dans le piège de la classe association systématique

Car c’est là le piège de la classe association : cette représentation implique qu’il ne peut pas y avoir deux occurrences d’un même couple de classes ou, pour illustrer avec l’exemple, cela signifie que Nadia ne pourra pas passer plus d’une fois chacun des exercices mis à sa disposition. Un seul passage autorisé pour l’exercice 1, l’exercice 2, etc.

Exemple de jeu de données

Pour bien comprendre cela, il faut se plonger un instant dans la base de données. Que va-t-il se passer lorsque Nadia va réaliser l’exercice 1 ? Le système va automatiquement créer une occurrence de classe association dont l’identifiant sera composé de celui de Nadia (écolière n° 345) et de celui de l’exercice (n° 61). Et comme il ne peut pas exister en base de données deux occurrences de classe ayant le même identifiant, cela signifie bien que le couple « Nadia – Exercice 1 » ne pourra pas être enregistré deux fois.

L’impact métier dans ce cas précis est donc que l’écolier ne peut pas refaire plusieurs fois un même exercice en vue de s’améliorer.

Conséquence du piège

L’une des première choses à faire lorsque vous pensez représenter une classe association, c’est de bien s’assurer auprès du métier qu’il ne peut pas y avoir de répétition (plusieurs occurrences) d’un même couple de classes.

Dans l’exemple de la maison d’édition et des traducteurs, une fois que l’on a indiqué que l’anglais est la langue maternelle de François, cela n’aurait pas de sens de faire ensuite une deuxième occurrence pour dire qu’il est bilingue sur cette même langue. Donc, dans ce cas, la classe association est parfaitement utilisée.

En revanche, dans le cas des écoliers et des exercices, si le métier vous dit qu’il s’agit d’exercices :

  • à passage unique, alors la classe association se justifie pleinement,
  • pouvant être passés plusieurs fois afin de s’entraîner et de progresser, alors la classe association n’est pas la bonne représentation graphique.

Si l’on ne clarifie pas cela au plus tôt avec le métier, l’impact sur le système développé peut être énorme, et surtout très coûteux. En effet, imaginons que vous donniez votre modèle avec la classe association au développeur. Lui comprend normalement très bien la problématique exposée ci-dessus et les fonctionnalités qu’il développera répondront au besoin exprimé par votre schéma.

Je vous laisse réfléchir à la déconvenue du  métier lorsqu’il effectuera la recette et qu’il essaiera de passer une seconde fois un exercice… C’est tout votre système qu’il faudra revoir : modifier le cahier des charges, réécrire le code, refaire les tests unitaires, re livrer en environnement de recette, refaire les tests métier, cela entraînant bien sûr une dérive de délai et de coûts !

Comment éviter le piège ?

Exemple d'alternative à la classe association

Une fois que l’on a posé la question au métier et que l’on a compris qu’un même exercice doit pouvoir être fait plusieurs fois par un même écolier, que faire ? En effet, la classe association ne pouvant pas être utilisée, où mettre les informations de date de passage et de score ?

C’est très simple : le « Passage » reste bel et bien une classe mais :

  • elle sera rattachée à écolier et à exercice,
  • l’association entre écolier et exercice saute.

Cela donnera donc :

  • Un écolier fait aucun ou plusieurs passages et un passage est réalisé par un seul écolier.
  • Un exercice fait l’objet d’aucun ou plusieurs passages et un passage porte sur un seul exercice.

Autrement dit, j’ai cassé la relation avec multiplicité « * » entre écolier et exercice pour faire deux associations et cela exprime parfaitement le fait qu’un écolier puisse passer plusieurs fois le même exercice.

Pourquoi ? Vous demandez-vous peut-être…

Exemple de jeu de données

Tout simplement parce que dans le cas initial, l’identifiant de la classe association était composé des identifiants de l’écolier et de l’exercice, ce qui interdisait les doublons. Alors que dans le cas final, « Passage » étant une classe à part entière, elle a son propre identifiant, complètement indépendant de ceux de l’écolier et de l’exercice. Par conséquent, on peut en créer autant qu’on veut, Nadia peut passer 50 fois l’exercice 1 si elle le souhaite.

Une classe association peut-elle être rattachée à une autre classe ?

Si jamais vous vous posez la question, sachez que la réponse est oui. Au même titre que les autres classes de votre modèle, une classe association peut elle aussi être rattachée à une ou plusieurs autres classes.

Conclusion

Sur le principe, la technique de la classe association est assez simple à acquérir dès lors qu’on a compris la logique qui la sous-tend. Cependant, un usage trop systématique peut être fortement préjudiciable à la solution qui sera développée, aussi je vous recommande fortement de bien toujours penser à poser cette question de « peut-il y en avoir plusieurs ? »

Outre le fait que c’est un questionnement très pertinent pour comprendre le fonctionnement d’un métier et clarifier une attente, il vous permettra de modéliser puis de décrire de façon très précise l’attendu et ainsi éviter une incompréhension qui s’avèrera toujours coûteuse !

Pour en apprendre davantage sur la modélisation des données, vous pouvez également parcourir ces articles : 

https://soscahierdescharges.fr/modeliser-les-donnees-dans-un-cahier-des-charges/

https://soscahierdescharges.fr/diagramme-de-classe-les-bonnes-multiplicites/

https://soscahierdescharges.fr/diagramme-de-classe-7-clefs-pour-etre-compris/

N’hésitez pas à vous abonner à notre newsletter en bas de cette article. Postez un commentaire et venez partager votre expérience sur les sujets en lien avec les cahier des charges !

La concision dans un cahier des charges

La concision dans un cahier des charges

La concision dans un cahier des charges pourrait avoir la même définition que celle qu’en donne Le Larousse : « Qui explique beaucoup de choses en peu de mots. ». Il s’agit donc, dans un cahier des charges, de savoir faire bref, dense, sobre, par opposition à long, prolixe ou verbeux. En revanche, ce que ne dit pas le dictionnaire c’est qu’il s’agit d’une qualité acquise et non pas innée : cela s’apprend, et c’est là tout l’objet de cet article.

La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer (Saint-Exupéry)

Un autre terme à la mode, synonyme de « concision », est « impactant », cela s’appliquant tant à l’écrit qu’à l’oral. Une personne concise serait donc quelqu’un qui a su faire sien le propos de Saint-Exupéry et a dégraissé sa communication de tous les détails inutiles et développements superflus.

Attention cependant à ne pas confondre « concision » et « clarté. » Ce n’est pas parce qu’une histoire est courte qu’elle est pour autant compréhensible. De même, lorsqu’on s’assure que l’on ne peut plus rien enlever à son cahier des charges, il faut également s’assurer que l’on est resté exhaustif.

concision

Ainsi, la concision dans un cahier des charges consisterait à avoir l’écrit le plus compact possible tout en conservant le même niveau d’information nécessaire. Dit autrement, un texte A ayant le même contenu et niveau de détail qu’un texte B mais avec un nombre de mots ou de caractères inférieur sera plus concis, la concision pouvant être vue au niveau du cahier des charges dans toute sa complétude comme d’une phrase.

Pourquoi être concis dans un cahier des charges ?

Dès lors que l’écriture devient un acte « professionnel », nous remarquons que la concision est à la fois une contrainte pour le rédacteur et un critère de qualité pour le lecteur.

Par exemple, les articles journalistiques sont très souvent contraints par un nombre de caractères limité. Le journaliste n’a que rarement « carte blanche », son texte doit rentrer dans un encart dont la taille est fixée, il doit donc tout dire avec un nombre de mots (voire de caractères) restreint. Il a fait de la concision une véritable technique rédactionnelle, devant chercher à chaque instant la façon la plus brève d’exprimer une idée sans pour autant la dénaturer.

Quant au lecteur, il est pressé. Qu’il lise un article sur le Web, un cahier des charges ou un email, il souhaite accéder le plus rapidement possible à l’information dont il a besoin. A l’inverse, ce même lecteur féru de littérature ne reprochera pas à Marcel Proust ses digressions infinies. Ce sont deux horizons d’attente bien distincts, il ne faudrait pas se tromper de cible.

Ainsi, dans un contexte professionnel, les lecteurs de nos cahiers des charges nous seront reconnaissants de savoir aller à l’essentiel sans pour autant être brusque, de ne pas « tourner autour du pot » et de rédiger sans « effets littéraires ».

Techniques pour améliorer sa concision : cas pratique et théorie

6 principles of concision

Cas pratique

Prenons la phrase suivante : « M Lambert passe le relais du dossier à Mme Yun, MOA senior, elle assure notamment la formation des gestionnaires de la société ProtègeTout et assure les contrôles qualités sur l’ensemble des projets de  ProtègeTout. »

Etape 1 : analyser

Elle se compose de 34 mots. Que pouvons-nous déjà observer ?

  • L’adverbe « notamment » introduit une question à laquelle la phrase ne répond pas : quelles sont les autres tâches de Mme Yun ?
  • Le nom de la société ainsi que le verbe d’action « assure » sont répétés deux fois.

Ainsi, si l’on corrige ces premiers défauts, cela donnerait : « M Lambert passe le relais du dossier à Mme Yun, MOA senior, elle assure pour ProtègeTout la formation des gestionnaires et les contrôles qualités sur l’ensemble des projets. » 28 mots.

Etape 2 : raccourcir

A présent, zoomons d’avantage et intéressons-nous au premier tronçon de phrase : « M Lambert passe le relais du dossier à Mme Yun, MOA senior. »

L’idée est de chercher une expression équivalente mais plus courte. Par exemple, « passer le relais à » pourrait être remplacé par « transmettre », ce qui donnerait alors : « M Lambert transmet le dossier à Mme Yun, MOA senior. Elle assure pour ProtègeTout la formation des gestionnaires et les contrôles qualités sur l’ensemble des projets. » 26 mots.

Etape 3 : raccourcir encore

Passons à la seconde partie de la phrase : « Elle assure pour ProtègeTout la formation des gestionnaires et les contrôles qualités sur l’ensemble des projets. » Comme on a déjà fait sauter les répétitions, cela devient plus compliqué. Cependant l’expression « sur l’ensemble de » pourrait être soit supprimée, soit remplacée par « tous » si vraiment l’auteur tient à insister sur ce point. Nous optons pour la version la plus radicale : « M Lambert transmet le dossier à Mme Yun, MOA senior. Elle assure pour ProtègeTout la formation des gestionnaires et les contrôles qualités sur les projets. » 25 mots.

Etape 4 : raccourcir encore et encore

Enfin, une dernière étape. Etant donné que le texte comporte une énumération de deux éléments, nous allons utiliser la liste à puces.

« M Lambert transmet le dossier à Mme Yun, MOA senior. Elle assure pour ProtègeTout :

  • la formation des gestionnaires,
  • les contrôles qualités des projets. »

Cette façon de présenter nous permet d’économiser encore un mot, la conjonction de coordination « et », pour un nouveau résultat de 24 mots.

Donc, au total, sur une phrase initiale de 34 mots, sans dénaturer le sens et en restant phrasé, nous avons pu économiser 10 mots.

Cela peut sembler peu mais, rapporté à un document de par exemple 10 000 mots, cela représenterait, par projection, une économie de 2 942 mots, soit près de 30% du volume total ! Et un lecteur moyen qui lit à 250 mots par minute n’aurait plus besoin de 40 minutes mais de moins de 30 pour le parcourir en intégralité.

Vous pouvez tester votre vitesse de lecture ici : http://www.readingsoft.com/fr/test.html

Théorie : les 7  règles de concision

Vous trouverez ci-dessous quelques techniques utiles pour devenir plus concis à l’écrit, dont notamment des règles d’écriture empruntées à George Orwell (écrivain anglais du début du 20ème siècle : « 1984 », « La ferme des animaux »…) indiquées entre guillemets.

  1. « N’utilisez jamais un mot long quand un mot bref fait l’affaire. » Seule entorse à cette règle : le respect des termes de votre domaine métier.
  2. « S’il est possible de supprimer un mot, supprimez-le. » Cela peut nécessiter de multiples relectures dédiées à la concision afin de trouver les formulations les plus simples et directes.
  3. « N’utilisez jamais la voix passive si vous pouvez utiliser la voix active. »
  4. « N’utilisez jamais une phrase étrangère, un terme scientifique ou un mot de jargon si vous songez à un terme équivalent dans le langage courant. » Seule entorse à cette règle : le respect des termes de votre domaine métier.
  5. Privilégiez les phrases courtes (au-delà de 4 à 6 verbes dans une même phrase, on entre dans la complexité) et mono message.
  6. Dès que vous le pouvez, faites une liste à puces car cela pousse notamment à factoriser le terme l’introduisant et donc à éviter les répétitions.
  7. « Brisez l’une de ces règles plutôt que de dire quoi que ce soit de barbare. »

En espérant que cette fiche vous aura fourni quelques techniques faciles à mettre en place pour ne plus écrire de façon plus concise.

Références :

comprendre le métier

Comprendre le métier ? Suivez le guide

Ce que nous explique notre interlocuteur au cours d’un atelier est obscur pour vous ? Voilà la problématique à laquelle cet article va tenter de répondre, sans dogmatisme mais en vous présentant des techniques qui ont déjà fait leur preuve. Il en existe certainement d’autres, nous comptons donc sur vous pour nous en faire part… 😉

Tout comme une anomalie, plus une incompréhension fonctionnelle est levée tardivement, plus elle coûte cher à prendre en compte.

Constat général : il est normal de ne pas tout comprendre

Tout d’abord, il faut admettre ce postulat de base : nous serons forcément confrontés, au cours de notre carrière, à l’incompréhension. Cela est vrai pour des internes, cela l’est encore plus lorsque l’on fait de la prestation puisque nous sommes amenés à régulièrement changer de mission, donc de domaine métier, de méthode de travail, d’outil, etc.

Ainsi, il faut avoir conscience :

  • qu’il est normal de ne pas toujours tout comprendre,
  • que l’on ne nous tiendra pas rigueur de ne pas comprendre dès lors que nous faisons des efforts pour changer la donne et que nos progrès sont perceptibles.

L’incompréhension se voit

Lorsqu’on est face à une personne et que l’on ne comprend pas ce qu’elle explique, que ce soit totalement ou partiellement, ne nous leurrons pas : elle le sent, c’est ce que l’on appelle l’intelligence émotionnelle. Sans que nous ayons à dire un mot, le langage corporel nous trahit :

  • sourire forcé,
  • voix chevrotante,
  • regard fuyant,
  • tics physiques (jouer avec son stylo par exemple),
  • se réfugier derrière l’écran de l’ordinateur pour prendre convulsivement des notes sans comprendre ce que l’on rédige,
  • poser des questions « bateaux » : « qui fait cela ? », « combien de fois cela arrive ? », « comment vous faites pour… ? ». Souvent inutiles, elles ne masquent pas du tout notre incompréhension.

Bien entendu, si l’on n’a rien compris durant l’entretien, il n’y a aucune raison pour que l’illumination vienne a posteriori, durant la phase de rédaction. Aucun miracle en perspective : le livrable sera médiocre, voire mauvais.

Pour en apprendre plus sur l’intelligence émotionnelle, je vous recommande la lecture de l’ouvrage de Daniel Goleman, dont vous trouverez un résumé ici : https://des-livres-pour-changer-de-vie.com/lintelligence-emotionnelle/

Ne pas avoir peur de dire qu’on ne comprend pas

Je ne sais pas comment vous faisiez durant votre scolarité mais, au cours de la mienne, j’ai constaté que certains élèves n’hésitaient pas à lever la main et interroger le professeur lorsqu’ils n’avaient pas compris une explication. Ce n’est pas pour autant qu’ils étaient considérés comme des incapables et beaucoup d’élèves moins téméraires étaient très contents que la question soit posée.

De là à penser que ces élèves interrogateurs réussissaient mieux leurs contrôles que ceux qui se contentaient d’accepter leurs incompréhensions, il y a un pas que je ne franchirai pas…

Dire qu’on ne comprend pas est une marque de professionnalisme

Par conséquent, pourquoi une chose qui allait de soi à l’école devient-elle problématique dans le milieu professionnel ? A-t-on donc si peur de perdre notre emploi, de manquer une promotion, de se voir refuser une augmentation de salaire parce que l’on questionne ? Notre ego est-il devenu si important pour que l’idée de montrer une faiblesse le hérisse ? Nous n’attendons pourtant pas d’un médecin qu’il diagnostique précisément ce dont nous souffrons uniquement sur la base de ce qu’il observe… Non, le médecin interroge son patient, l’enquêteur interroge le suspect, et pour faire un cahier des charges, nous questionnons notre client. C’est dans l’ordre des choses, cela fait partie du travail et il serait donc non-professionnel de ne pas le faire.

A ce titre, il faut savoir qu’un client se plaint rarement qu’un consultant le questionne, c’est plutôt le contraire qui s’observe. En effet, quel message envoyons-nous lorsque nous ne questionnons pas ? Car notre interlocuteur connaît notre CV, il sait que nous n’avons pas de connaissances dans tel ou tel domaine. Aussi, le fait de ne pas clarifier les choses ne lui fait pas se dire « ce consultant doit être très bon, il comprend tout sans poser une seule question, j’ai fait le bon choix. » Non, il s’inquiétera, n’aura pas confiance. Or, au début, la confiance est l’une des plus choses les plus difficiles à maintenir, elle se perd beaucoup plus vite qu’elle ne se gagne. Alors autant commencer à la conquérir le plus tôt possible, dès les premières minutes d’un échange.

Notre guide SOS : quelles postures adopter quand on ne comprend pas ?

A présent que les bases ont été jetées, intéressons-nous aux postures à adopter lorsqu’on ne comprend pas.

Il faut savoir identifier ce qui pose problème. Ainsi le « flou » possède son cycle de vie :

  • non identifié : je ne comprends pas une chose mais je ne sais même pas encore qu’elle existe,
  • identifié : je suis face à une chose que je ne comprends pas,
  • soumis : j’ai mis en place des mécanismes qui vont me permettre de comprendre,
  • résolu : j’ai fini pas réellement comprendre et je peux le démontrer.

Nous allons laisser de côté le premier état (« non identifié ») pour nous intéresser directement au flou identifié.

1 – Clarifier tout ce qui n’a pas été compris

Il faut comprendre que lorsque l’on rédige un cahier des charges, on peut être victime du syndrome de la page blanche ou, de la question blanche : on est « sec », on ne sait pas quelles questions poser, un long blanc s’installe… Pour cela, le flou est du pain béni : c’est une source de questions qui va venir alimenter sans effort l’interview, une pépite à transformer.

Cas d’application. Votre interlocuteur vous transmet les informations suivantes :

« Nous voulons moderniser le système de gestion des règlements client. Il faut pouvoir indiquer au niveau d’un client un délai de règlement.

Nous avons besoin de pouvoir rapprocher les règlements constatés en banque avec les factures émises, comme ça nous pourrons identifier les factures non encore réglées.

On doit tracer toutes les actions de relance avec les réponses apportées par les clients. On veut pouvoir catégoriser les clients selon qu’ils sont bons payeurs, payeurs moyens ou très mauvais payeurs. En effet, on veut pouvoir blacklister des clients : avec certains ne plus renouveler de commandes et avec d’autres interrompre les contrats en cours. »

A titre personnel, beaucoup d’éléments me semblent obscurs : les délais de règlement, les actions de relance, les réponses apportées, même « commande », dans ce contexte, me donne des frissons. Alors comment faire en sorte que chacun de ces flous deviennent individuellement limpides et que tout fasse sens ?

Le sujet portant sur la gestion des règlements client, il semble judicieux de commencer par clarifier cela. Qu’est-ce qu’un client au sein de l’organisme ? Y a-t-il une typologie client ? Peut-on obtenir des exemples de client ?

Posez un « nuage de mots » pour visualiser les difficultés.

Le sujet portant sur la gestion des règlements client, il semble judicieux de commencer par clarifier cela. Qu’est-ce qu’un client au sein de l’organisme ? Y a-t-il une typologie client ? Peut-on obtenir des exemples de client ?

Si l’on reformule notre compréhension de ce qu’est un client en intégrant les exemples collectés et que notre interlocuteur acquiesce explicitement, c’est gagné : nous venons de chasser notre premier flou ! Il en reste encore beaucoup mais, au moins, nous avons une base solide sur laquelle avancer.

2 – Avoir un fil directeur (conducteur) pour comprendre pas à pas

Ensuite, c’est le principe de la pelote de laine : on tire le fil et on voit où cela nous mène. Pour cela, l’approche par l’exemple reste une valeur sûre.

Nous vous proposons ci-dessous un exemple de dialogue :

  • A. : « Si j’étais client chez vous, que pourrais-je faire ? Vous m’avez parlé de commande… »
  • Métier : « Oui, les clients nous passent des commandes »
  • A. : « Donc en tant que client, je peux vous passer plusieurs commandes j’imagine. Mais est-ce qu’une commande est passée par un seul client, moi en l’occurrence ? Ou est-ce qu’une commande peut être groupée, c’est-à-dire que je la partage avec un autre client par exemple ? »
  • Métier : « Non, la commande est passée par un seul client. »
  • A. : « C’est très clair. Est-ce que je peux en déduire qu’un règlement, le paiement donc, concerne une commande ? Peut-on régler plusieurs commandes avec un seul règlement ? »
  • Etc.

On le voit, l’idée est donc d’avancer pas à pas, par couple de concepts métier, sans se précipiter. Et tant qu’un couple n’est pas parfaitement compris, on ne change pas de sujet.

3 – IMPORTANT Contrôler que l’on a bien compris

Comment savoir si j’ai bien compris ?

  • une définition illustre chaque concept,
  • il y a au moins un exemple par concept,
  • j’ai reformulé le fonctionnement de ce couple de concepts et mon interlocuteur a validé intégralement ma compréhension.

Et si vous êtes chevronné vérifiez aussi :

  • que pour une association entre deux concepts, les quatre multiplicités sont présentes,
  • qu’un exemple clarifie les multiplicités les plus complexes, structurantes.

4 – Demander à voir concrètement les choses pour être sûr de comprendre

Un dernier point qui fonctionne bien si l’on travaille sur une application existante :  demander à son interlocuteur qu’il nous montre concrètement les choses. Cela est particulièrement efficace si nous n’avons pas les habilitations nécessaires pour aller voir par nous-mêmes (par exemple lorsqu’une évolution concerne des fonctionnalités d’administrateur et que vous ne l’êtes pas.)

J’espère que ces conseils vous seront utiles et vous aideront à entrer plus facilement dans un sujet complexe tout en conservant votre confiance en vous. N’hésitez pas à lire l’article suivant, qui vous éclairera également sur le sujet : https://soscahierdescharges.fr/modeliser-les-donnees-dans-un-cahier-des-charges/

N’hésitez pas à vous abonner à notre newsletter en bas de cette article. Postez un commentaire et venez partager votre expérience sur les sujets en lien avec les cahier des charges !

Générer un sommaire et le contrôler automatiquement ? C’est simple

Bonjour à tous,

dans la vidéo ci-dessous je vais vous présenter comment générer un sommaire et le contrôler très simplement à partir d’un plug-in Word appelé « BA.companion », le compagnon de route pour qui veut rédiger un bon cahier des charges.

Cet outil propose bien d’autres fonctionnalités utiles à tout rédacteur, novice comme expérimenté, telles que la détection automatique de termes flous (ambigus) ou de redondance textuelle et la gestion des exigences. Cependant, j’ai tenu aujourd’hui à mettre l’accent sur le sommaire car il reflète votre cheminement de pensée et détermine toute la structure de votre livrable. Il est donc primordial de ne pas prendre cette activité à la légère !

Si d’autres améliorations automatisées vous intéressent, je vous invite à laisser un commentaire.

En complément de cette vidéo, vous pouvez également relire l’article suivant : Faire un sommaire correct en 7 clefs simples et efficaces

Vous êtes libre de vous inscrire à notre newsletter en dessous de l’article garantie 100% sans spam. Vous recevrez à cette occasion notre bonus, un mini guide pour bien commencer votre cahier des charges.

Faire un sommaire correct en 7 clefs simples et efficaces

Faire efficacement un sommaire
Faire un sommaire efficacement, avoir en un seul coup d’œil la vision complète du contenu du document

Quel intérêt à soigner son sommaire ?

Parce que le sommaire, autrement appelé « table des matières », est la première chose que lit un commanditaire lorsqu’il ouvre votre cahier des charges (après la page de garde j’entends), il est primordial d’en soigner la présentation.

Continuer la lecture de Faire un sommaire correct en 7 clefs simples et efficaces