La MOA pragmatique du SI (Business Analysis, Analyse d'Entreprise, Maitrise d'Ouvrage)

Aller au contenu | Aller au menu | Aller à la recherche

mardi, décembre 3 2013

Est-ce que la MOA va changer de moto ? Ou quand utiliser les techniques d'élicitation.

Parfois, vos parties prenantes vont vous prendre pour le Père Noël et vont vous soumettre un besoin, qui n'en est finalement pas un.

J'ai besoin d'une nouvelle moto pour aller bosser.

Alors, vous allez vous lancer dans une analyse détaillée de ce besoin. Votre demandeur va détailler un peu plus son besoin. souvent en parlant déjà d'une solution.

Je voudrais une Ducati Hypermotard SP

Puis, vous allez interviewer les différentes parties prenantes :

En tant que marketeux, je pense que vous devriez rouler en BMW R 1200 RT.

En tant qu'assureur je pense que le plus raisonnable serait une Honda CB 500 X.

En tant que banquier je pense que vous n'avez pas le budget.

En tant que Sécurité Routière, je pense que c'est trop risqué de rouler en 2 roues.

En tant qu'expert, je pense que ça tombe bien, c'est le salon de la moto, allons essayer une présélection de modèles puis on fera une analyse comparative.

...

Alors là, je dis STOP. On est allé trop vite. Avant de détailler, modéliser, valider ces exigences, il faut avoir vérifier que le besoin était bien compris. Dans le Business Analysis Body of Knowledge, on parle de "elicitation". Ce terme a été traduit dans la version en français par "élicitation" et est défini comme suit :

L’élicitation peut se définir de la manière suivante : se renseigner pour connaitre divers éléments (latents ou potentiels), poser des questions,  s’informer pour obtenir de l’information ou des réponses.

Les techniques à utiliser pour cette phase critique de la gestion des exigences sont : brainstorming, étude de la documentation existante, groupes de discussion, interviews, storyboards, sondage/questionnaire... Des techniques assez ouvertes qui facilitent la découverte.

Dans mon exemple, le vrai besoin de cette partie prenante est de se rendre au boulot en moins d'une heure. Et comme la batterie de sa moto actuelle est faible, elle ne démarre pas. Finalement il suffira juste de recharger la batterie de sa Honda Hornet, et ça roule.

Le Système d'Information, c'est pareil.

vendredi, avril 30 2010

La carte heuristique peut-elle aider la MOA à organiser ou communiquer ses pensées ?

Une carte heuristique [...] est un diagramme qui représente les connexions sémantiques entre différentes idées, les liens hiérarchiques entre différents concepts intellectuels.

Contenu soumis à la licence CC-BY-SA. Source : Article Carte heuristique de Wikipédia en français (auteurs)

Comment cet outil peut être utile pour une MOA ? Ce type de schéma permet d'organiser ses pensées sous une forme hiérarchique et synthétique. De plus il existe des outils qui permettent de créer et éditer ces cartes assez facilement, comme par exemple Mindomo. Voici donc quelques exemples de cas où l'on y trouvera un intérêt en tant que MOA.

Présenter ses compétences

Décrire son savoir-faire sous forme de carte heuristique permet de faire le point sur ses compétences en les catégorisant. Une fois la carte réalisée on a en un coup d'œil le périmètre de son savoir-faire. Cela peut être utile pour identifier ses manques et ses points forts à titre personnel. Mais cela peut aussi servir à accompagner son CV "classique" pour présenter de manière transverse et non chronologique ses compétences. Présenter ses compétences ainsi montre aussi sa capacité à synthétiser et prendre du recul, qualités requises pour la MOA. Voilà un exemple de carte du savoir-faire d'une MOA (limitée aux deux premiers niveaux) :

Présenter les exigences

Les exigences sont très souvent gérées de manière hiérarchique. Plutôt que de présenter un long document de description d'exigences, il peut être intéressant de synthétiser ces exigences via une carte heuristique. Ceci peut par exemple servir à présenter les exigences aux différentes parties prenantes du projet en une réunion rapide.

Voilà deux exemples mais en réalité on peut utiliser ce type de schéma très souvent dans des cas très variés. Mais attention de ne pas tomber dans l'excès avec ce genre d'outils. Un schéma vaut mieux qu'un long discours, mais parfois l'action vaut mieux qu'un lourd schéma conceptuel, comme en témoigne cet article lu sur Le Figaro, Le Pentagone a un ennemi intérieur : le PowerPoint.

jeudi, mars 25 2010

Comment découvrir les besoins ?

Recueillir les exigences des différentes parties prenantes d'un projet, c'est comme construire les fondations de votre projet. C'est sur ces exigences que l'ensemble du projet va reposer. Dans le billet "Comment améliorer l'alignement IT/métier en utilisant un outil de gestion des exigences ?", j'ai essayé d'expliquer l'intérêt d'un outil pour gérer ces exigences. Mais avant de les formaliser un minimum, il faut déjà les découvrir.

Organisez des entretiens Top-Down

Je conseillerai plutôt de commencer par rencontrer les personnes ayant une vision plus globale du processus concerné pour finir par les utilisateurs clés des systèmes supportant le processus (par exemple dans une salle des marchés commencer par s'entretenir avec un directeur de l'exploitation ou un directeur d'une ligne métier, ensuite voir un responsable de table pour finir par un opérateur de marché et enfin un assistant). Cela permet de commencer par découvrir les exigences stratégiques pour finir par les exigences fonctionnelles et non fonctionnelles. Je pense également que le temps à passer doit être moins important avec le top management qu'avec les opérateurs au cœur du processus.

Préparez vos entretiens

Une réunion demande toujours d'être préparée, d'être conduite, puis il faut en rédiger un compte-rendu. Le compte-rendu d'un entretien de recueil de besoins est la matière première qui va permettre de construire le référentiel des exigences. Le point clé de la préparation de la réunion, afin d'avoir un compte-rendu copieux, c'est de prévoir les questions qui vont cadencer l'entretien. Ces questions doivent être adaptées à votre interlocuteur et suivre une évolution du plus global au plus précis. Vous trouverez des idées de questions génériques dans cet article de Mr. Monteleone lu sur modernalyst.com : Generic Questions for Interviewing Stakeholders.

Pensez processus métier et architecture orientée service (et non pas système)

On ne cherche pas encore à spécifier un système ou une solution même si les utilisateurs auront tendance à se rattacher à du concret. Posez vos questions afin qu'elles soient le plus possible absolue vis à vis des solutions (pour caricaturer, demandez quelles sont les informations nécessaires pour remplir un dossier plutôt que de demander quel écran de saisie est nécessaire). Gardez également toujours en tête comment cette partie s'inclut dans un processus métier complet. Voir par exemple cet article sur business analyst times qui décrit cette approche avec une jolie métaphore du temple grec : Breaking Down the Silos for Better Requirements Elicitation. Et comme je le disais déjà dans mon billet précédent La MOA doit elle comprendre SOA ?, penser "services" vous permettra de poser les bonnes questions pour identifier les réutilisations possibles. Certaines MOA vont jusqu'à prôner une approche où l'on va tenter de conformer les besoins aux services existants comme dans cet article de John Moe lu sur modernalyst.com : Service Oriented Analysis. J'ai un peu de mal avec cette approche car tordre ainsi le besoin c'est risquer d'aboutir sur une solution qui ne saura satisfaire votre sponsor.  Mais dans certains cas ça pourrait marcher, si le SI est déjà organisé en SOA d'un bon niveau, comme le dit l'auteur de cet article.

Une exigence n'est donc pas simplement une information qui est venue à nous sans aucun travail. Le recueil des besoins est une phase clé du projet. Se contenter d'un mail succinct (le fameux Post-it) envoyé par le sponsor pour se lancer dans une phase de spécification fonctionnelle n'est pas suffisant. Il est vrai que cette phase de projet n'est pas "technique" mais exploite plutôt les compétences d'analyse et le relationnel de la MOA, et on peut donc parfois la sous-estimer sur un planning. Mais attention alors au risque de retard, car entre la préparation, la planification des entretiens, et l'analyse des résultats, cette phase peut être très consommatrice de temps.

jeudi, mars 11 2010

La MOA doit elle comprendre SOA ?

L'architecture orientée services (SOA en anglais) est un ensemble de concepts aujourd'hui matures. Cette démarche est souvent poussée par les acteurs "techniques" du SI. Pourtant un des points clés de la mise en œuvre devrait être selon moi à la main de la MOA : la décomposition en services.

Les services définis doivent être réutilisables, c'est tout l'intérêt de l'architecture SOA. Mais ce ne sont pas de simples composants réutilisables. Un service doit être autonome, remplir une fonction dans sa globalité et être utilisable (ou mieux, utilisé) par plusieurs consommateurs. Différents niveaux de service peuvent être définis : données (services "simples" permettant par exemple de récupérer des clients, d'en créer, d'en rechercher...), métiers (un service complexe qui remplira des fonctions métiers comme calculer le chiffre d'affaire par comptes clients), applicatifs (par exemple un service qui permettra notamment de récupérer tous les chiffres d'affaires agrégés par comptes clients qu'un collaborateur gère afin de l'afficher dans la CRM). On parle de service composite lorsqu'il utilise plusieurs autres services de niveaux inférieurs.

Certaines méthodologies combinent une approche SOA & MDA, par exemple Praxeme. Dans ce cas la définition et la découverte des services va se faire par des itérations de modélisation. Que ce soit dans l'aspect sémantique, pragmatique ou logique, la MOA a un très grand rôle à jouer.

Pour le métier la SOA peut n'être qu'une tactique permettant d'atteindre un objectif d'agilité dans les processus métiers. La mise en place du BPM sera un objectif atteignable et intéressant uniquement si les services sont réutilisables d'un point de vue métier. Et pour cela la MOA a une forte valeur ajoutée afin de déterminer les frontières des différents services et pour anticiper sur les réutilisations métiers possibles.

En tant que MOA nous avons souvent tendance à penser directement à la solution. Il est vrai qu'il est plus naturel de parler des écrans d'une application, d'un batch qui va effectuer des traitements car on se raccroche alors à du concret, de l'existant. Mais c'est aussi rester un peu terre-à-terre. Quitte à prendre de la hauteur, autant essayer de penser services. Par exemple si vous être déjà habitués à travailler sur des exigences et des cas d'utilisation, vous pouvez très bien proposer dans une spécification détaillée un découpage du système en services métiers. Et dans un projet qui porte sur un processus métier, il est encore plus naturel d'identifier les services métiers qui correspondent souvent à une activité de ce processus (en tout cas dans une vision purement métier). Connaître ces services permet à la MOA de dynamiser la réutilisation au sein du SI et de comprendre les problématiques engendrées par la maintenance d'un service qui est utilisé par plusieurs consommateurs et donc de faire les bons choix dans l'utilisation des budgets.

dimanche, février 7 2010

Comment améliorer l'alignement IT/métier en utilisant un outil de gestion des exigences ?

L'informatique ne doit plus simplement suivre le métier. On attend aujourd'hui d'un SI qu'il soit capable de s'adapter à toutes les évolutions du business même ceux qui n'ont pas été anticipés par les opérationnels. Dans une étude concernant l'état de l'art de l'aligement IT / Métier en France publiée en 2008 par le cabinet PAC - Pierre Audoin Consultants, on apprend que La collaboration entre maîtrises [maîtrises d'ouvrage et maîtrises d'œuvres] est un point crucial, qui pourrait être le fil rouge de cette étude. Elle est jugée critique à 94%. On note également dans cette étude que l'intégration MOA/MOE est le deuxième levier juste derrière le projet stratégique au niveau de l'entreprise pour améliorer l'alignement IT / Métier.

Il existe des outils qui peuvent aider à plusieurs niveaux sur ce sujet. Ce sont les outils de gestion des exigences (requirements management). Une exigence fait référence à un besoin d'une des parties prenantes du projet. Une exigence peut être fonctionnelle ou non fonctionnelle. Concernant les outils, on peut par exemple citer Entreprise Architect. Dans leur document Requirements Management with Enterprise Architect, ils expliquent comment UML est utilisé pour modéliser les exigences. Dans un autre style, moins graphique, IBM propose DOORS. Dans leur livre blanc Ten steps to better requirements management, IBM nous explique ce qu'une exigence doit être :

  • Correcte (techniquement et juridiquement possible) ;
  • Complète (exprime une idée ou un fait dans sa totalité) ;
  • Claire (sans ambiguïté) ;
  • Non contradictoire (pas en conflit avec une autre exigence ) ;
  • Vérifiable (il est possible de définir si le système répond à cette exigence) ;
  • Traçable (identifié de manière unique et tracé) ;
  • Faisable (peut être accompli dans les coûts et délais prévus) ;
  • Modulaire (peut être changé sans impact excessif) ;
  • Indépendant de la conception (ne parle pas de solution concernant la conception).

(la traduction est un métier)

Une fois que les exigences sont exprimées, tout l'intérêt d'un outil de gestion des exigences est de permettre la traçabilité afin de pouvoir répondre aux questions suivantes :

  • Est-ce que tous mes besoins ont été couverts par le système ?
  • Quels besoins étaient mal exprimés et donc volatiles ?
  • Quel est l'impact si je modifie une exigence ?

C'est en étant capable d'analyser ces points qu'on pourra ensuite améliorer l'alignement IT / Métier. Par exemple si un des besoins était trop volatile, l'IT ne pourrait pas s'aligner. Il peut donc être nécessaire par exemple de chercher une autre organisation qui permette d'avoir une expression des besoins plus pérenne. Un besoin peut-être exprimé sur un Post-It  (heu pardon je voulais dire papillon adhésif amovible) par une des parties prenantes du projet, mais la MOA se doit ensuite de formaliser ces besoins sous forme d'exigences. Un bon outil permettra de tirer profit d'une telle démarche.

Modernanalyst.com - There's an app for that!

samedi, janvier 30 2010

Comment améliorer la qualité des données de référence ?

On parle très souvent de Système d'Information en oubliant parfois le terme information qu'il contient. Et si les technologies utilisées sont souvent très volatiles par rapport à la durée de vie de l'entreprise, les données de référence existent du début à la fin de la vie de l'entreprise. Référentiel des clients, des produits... quasiment aucune application du SI ou projet ne peut s'en passer.

Le concept de Master Data Management (ou Gestion des Données de Référence en français) regroupe toutes les problématiques associées aux données de référence. Comment construire "one version of the truth", objectif du décisionnel  ? L'acquisition des données, les contrôles de qualité, la diffusion des données peuvent être industrialisés via des outils de MDM :

Certains prônent même le MDM comme élément fondateur du système d'information durable. C'est le cas du groupe Sustainable IT Architecture (groupe créé par Pierre Bonnet, co-fondateur d'Orchestra Networks) via son Agility Chain Management System :

Il est clair que commencer un projet sans savoir où récupérer une liste de clients, sans savoir comment trouver les caractéristiques d'un produit, ce n'est pas commencer sous les meilleures auspices ! Et si finalement on trouve ces données mais qu'au moment de démarrer en production on se rend compte que les clients ne sont pas dans le référentiel et que les caractéristiques des produits sont erronées, c'est la catastrophe. True story. Et quand vous parlez décisionnel, avant de vouloir construire des reportings, il faut déjà avoir des données à jour et de qualité. Pour éviter les pièges, ces quelques conseils peuvent être utiles :

  • La sémantique des objets métiers doit être documentée et connue de tous ;
  • Une donnée doit être gérée (créée, modifiée, supprimée) à un seul endroit du SI ;
  • Des contrôles de qualité doivent être appliqués automatiquement (même s'ils paraissent basiques) ;
  • Une donnée doit être mise à disposition de tout composant du SI via un unique composant (via des canaux de communication différents si nécessaires pour répondre à tous les besoins) ;
  • Des campagnes de nettoyage doivent être lancées périodiquement (le grand nettoyage de printemps).

Finalement, même si ces outils de MDM commencent à devenir plus accessibles avec l'apparition de solutions open source, ils restent complexes et globalement coûteux à mettre en œuvre. Si la qualité des données doit être un vrai sujet SI, on ne peut pas réussir simplement en mettant en place une solution IT miracle sans une organisation qui permette de gérer ces données avec la rigueur et le contrôle qu'elles méritent. Et pour convaincre les sponsors, il est surement bon de commencer par les 20% d'effort qui apporteront les 80% de résultat visibles par le business, comme toujours.

mardi, janvier 5 2010

Comment modéliser un processus métier ?

Pour modéliser un processus métier, l'OMG propose sa Business Process Modeling Notation (http://www.bpmn.org/). La dernière version des specs nous éclaire sur l'objectif de cette notation :

http://www.omg.org/spec/BPMN/2.0/

The Object Management Group (OMG) has developed a standard Business Process Modeling Notation (BPMN). The primary goal of BPMN is to provide a notation that is readily understandable by all business users, from the business analysts that create the initial drafts of the processes, to the technical developers responsible for implementing the technology that will perform those processes, and finally, to the business people who will manage and monitor those processes. Thus, BPMN creates a standardized bridge for the gap between the business process design and process implementation.

Les enjeux du BPM vont bien au delà de la simple représentation d'un processus métier. Mais avant d'investir dans des usines à gaz qui vont implémenter, exécuter et monitorer vos processus métiers à partir de beaux diagrammes, il faut déjà modéliser ces processus métiers. Que ce soit le processus existant ou le cible, il est toujours utile de réunir les différents acteurs sur un diagramme que tout le monde peut comprendre. Cela permet de comprendre rapidement les problèmes les plus importants et de trouver donc les meilleures optimisations.

Pour modéliser vos processus métiers, un outil comme BizAgi Process Modeler peut vous aider. Cet outil vous permet d'exporter vos diagrammes sous formes d'images, de document Word... Dans cette version gratuite vous serez limités à la réalisation des diagrammes, sans aller jusqu'à l'exécution de vos processus. Voilà un exemple de réalisation :

Pour aller plus loin, voilà un tutoriel sur BPMN réalisé par IBM.

Tout comme UML, BPMN n'est pas une méthodologie. C'est une notation très efficace pour modéliser les processus métiers, mais ce n'est qu'un outil. D'ailleurs on peut aussi utiliser Merise et ses MCT (Modèle conceptuel des traitements) et MOT (Modèle organisationnel des traitements) qui même s'ils sont moins tendances, permettent également de représenter des processus métiers. Par contre au delà de la modélisation, BPMN est plus intéressant puisqu'il est une base pour tous les outils qui permettent ensuite de gérer complètement les processus métiers (voir par exemple ce que propose la suite BPM d'IBM), mais là on sort de la thématique de ce blog qui se veut "pragmatique".