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

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

samedi, janvier 1 2011

Que faut-il souhaiter à la MOA du SI pour 2011 ?

Pour 2011, la croissance sera globalement faible en France (Croissance 2011 : le scénario de Bercy fragilisé par les prévisions de l'Insee). Mais certaines industries auront de belles perspectives de d'évolutions voire transformations de leur business (et si Apple achetait facebook ?). Alors pour commencer, je souhaite que votre entreprise - SSII, cabinet de conseil, éditeur de logiciel ou client final - puisse vous proposer des projets ambitieux de transformation de leurs métiers.

Indépendamment de ces projets business, cette année sera rythmée par la percée de nombreuses technologies dans l'environnement professionnel : tablettes, mobilité accrue, cloud computing privé (voir Les dix prédictions d'IDC pour 2011 sur fond d'expansion numérique)... Cela amènera de nouvelles réflexions sur la stratégie IT et de beaux projets à mener pour 2011. 

Mon dernier souhait pour 2011 est que la Maitrise d'ouvrage soit reconnue comme un métier à part entière qui demande des compétences particulières qui ne sont pas celles d'un chef de projet, pas celles d'un architecte, ni celles d'un expert métier. C'est un rôle qui demande des techniques d'analyse, de formalisation, de management transverse qui sont propres à ce rôle. On peut souhaiter que les formations en informatique intègrent cette dimension de manière plus explicite. Même la terminologie n'est pas claire. Par exemple la définition du France IIBA chapter est différente du terme Maitrise d'ouvrage:

Nous traduisons ici business analysis par « analyse d’entreprise ». En fait, c’est le domaine d’application de l’approche qui dira comment le traduire exactement : métier, marché, affaire etc.

En ce qui me concerne, je vais continuer à promouvoir ce métier au travers de ce blog, et comme bonne résolution 2011 : participer davantage aux communautés qui traitent de ce sujet !


mardi, novembre 30 2010

Comment acquérir la confiance et le respect des parties prenantes de vos projets ?

Acquérir la confiance et le respect des différentes parties prenantes de vos projets est primordial pour pouvoir jouer pleinement votre rôle de facilitateur et d'influenceur. Si les gens vous respectent, vous pourrez plus facilement désamorcer les conflits. Si les gens vous font confiance, vous obtiendrez plus facilement l'adhésion aux décisions prises. Mais comment en arriver là ? Comme aujourd'hui je suis d'humeur optimiste, commençons par la méthode Coué :

Si vous avez confiance en vous-mêmes, vous inspirerez confiance aux autres.
Johann Wolfgang von Goethe.

On respecte un homme qui se respecte lui-même.
Honoré de Balzac.

Communiquez, faites circuler l'information

Si vous faites circuler l'information, à bon escient évidemment, on vous reconnaitra comme quelqu'un de confiance. Celui qui fait de la rétention d'information n'est pas vu comme quelqu'un de confiance, mais plutôt comme un incompétent. En effet, si il était compétent, il n'aurait pas besoin de faire de la rétention d'information pour se valoriser.  

Ne réagissez pas aux objections infondées

Si on sur-réagit à des objections infondées (qu'elles soient émises par mail, en réunion ou par tout autre média), c'est qu'on est sur la défensive et donc que l'on a des choses à se reprocher. Dans ce cas là, mieux vaut ne pas réagir du tout. Laisser un blanc dans une réunion suite à une objection infondée fera clairement comprendre à son interlocuteur qu'il s'est lourdement trompé. Et cela vous assurera le respect.

Prenez vos responsabilités, assumez les erreurs

Nous commettons tous des erreurs. En tant que MOA, vous devez accepter vos propres erreurs (par exemple un oubli dans une spécification ou une erreur de conception fonctionnelle), mais vous devez également assumer les erreurs de toute l'équipe projet face à vos sponsors. Inutile de rechercher et identifier le coupable idéal, cela ne vous apportera rien. Face au sponsor, soyez efficace : quelle erreur a été commise, quels sont les impacts, quel plan d'action pour y remédier. Savoir gérer et assumer les problèmes vous aidera à gagner la confiance des parties prenantes de vos projets.

Finalement, acquérir confiance et respect dans le milieu professionnel est un travail sur le long terme. Éthique, déontologie, développement durable sont des concepts à la mode que l'on peut appliquer pour soi au quotidien. Pour une fois c'est mon côté Candide, ou l'optimisme qui parle.

Le travail éloigne de nous trois grands maux : l'ennui, le vice et le besoin.
Voltaire.

mardi, novembre 16 2010

La MOA doit-elle être un expert fonctionnel monomaniaque ?

La MOA doit-elle être un expert fonctionnel ? Est-il bon d'être spécialisé sur un seul domaine ? Voilà une idée de sujet pour mon blog que l'on m'a soufflée aujourd'hui. La personne qui m'a posé cette question n'est pas la seule à se la poser ! Michelle Swoboda répondait à une question similaire sur le blog de Bridging the Gap : Help a BA! What is the difference between a subject matter expert and a business analyst?

Oui, la MOA peut être un expert fonctionnel...

Les MOA peuvent être au départ un expert fonctionnel qui est monté en compétences sur les aspects projet et les techniques de la maîtrise d'ouvrage. Par exemple, en finance de marché, un ancien opérateur Front ou Middle Office peut devenir maîtrise d'ouvrage sur un projet SI (comme Jérôme Kerviel : "consultant informatique" au revenu de "2.300 euros"). Dans ce cas c'est un expert fonctionnel et métier qui est monté en compétences pour apprendre ce qu'était un projet SI et quelles étaient les activités d'une MOA et les livrables à fournir dans le cadre d'un projet SI. Plus souvent les MOA acquièrent l'expertise fonctionnelle avec le temps, en restant plusieurs années dans le même domaine fonctionnel. Elle devient alors un expert fonctionnel.

... mais être un expert fonctionnel ne signifie pas qu'on est une bonne MOA...

Être un expert fonctionnel ne signifie pas que l'on est une bonne MOA. La maîtrise d'ouvrage est un domaine fonctionnel à part entière. Il y a énormément de compétences à acquérir propres à ce domaine, les process de développement informatiques sont spécifiques à cette industrie. De plus quand on est MOA sur des projets SI, il faut avoir une culture informatique importante pour pouvoir comprendre les enjeux IT.

... alors finalement faut-il changer de domaine fonctionnel ?

Recrutez des gens d'autres industries ! Je vous invite à lire cet article Why Innovation Is Beginner's Luck qui parle des défauts que l'on peut avoir lorsqu'on est depuis trop longtemps dans une même industrie (The Myopia of Experts). Il est vrai qu'un regard neuf amène toujours des solutions qu'on n'arrive pas à faire émerger quand on est depuis trop longtemps sur le même sujet. Mais si vous choisissez de recruter une MOA qui n'est pas un expert du domaine, il vous faudra quelqu'un d'autre pour remplir ce rôle ! Donc cela ne fonctionnera que si vous avez des utilisateurs expérimentés et disponibles avec qui travailler ou alors si votre organisation a la maturité nécessaire pour formaliser ce type de rôle.

Finalement, en tant que MOA, je pense qu'il vaut mieux être spécialisé dans un domaine plutôt que d'être complétement généraliste. Il est important d'être passionné par le domaine dans lequel on travaille et d'essayer d'en apprendre un maximum afin d'être critique vis à vis des demandes des sponsors et des utilisateurs. Mais pourquoi ne pas construire sa carrière sur deux ou trois domaines de prédilection ? Cela permet de garder de la fraicheur et de rester innovant. L'inconvénient c'est que cela demande de se remettre en cause et de prendre des risques...

vendredi, octobre 15 2010

Lean, Six sigma, Kanban... la MOA peut-elle rester un artisan du SI ?

Lean, Six sigma, Kanban... les méthodes et outils de l'industrie "lourde" ont débarqué sur le front du SI. Avez-vous déjà visité une usine de production ? Il n'y a que peu de similitudes avec un open space où l'on fait évoluer un système d'information. C'est une critique assez souvent entendue de ces méthodes appliquées à l'informatique : "Un développeur n'est pas un ouvrier sur une chaîne de production, c'est un artisan.". Et la maitrise d'ouvrage du système d'information ? Elle travaille sur des sujets qui sont tous différents, impossible de reproduire une méthode à l'identique, chaque projet a ses contraintes et ses spécificités, aucune solution ne marche deux fois. Alors, comment conserver un esprit créatif quand ces méthodes poussent à l'uniformisation et à la rationalisation ?

Conserver son esprit critique

Un cadre méthodologique permet d'avoir des repères et d'être opérationnel plus rapidement. Mais si cela nous semble nécessaire, il ne faut pas hésiter à sortir de ce cadre. Il n'y a pas de vérité absolue sur la manière de recueillir un besoin ou de modéliser un processus métier. Il faut absolument conserver son esprit critique et remettre en cause le process si celui-ci ne semble pas efficace. D'ailleurs le Lean se base sur le principe Kaizen (amélioration continue)  pour atteindre ses objectifs de performance.

Prendre son temps

Certaines activités intellectuelles ne sont pas compatibles avec le micro management. Parfois, seul le temps permet de démêler des sujets complexes, et une méthode centrée sur le "à faire" / "fait" ne prends pas forcément bien en compte ces temps de réflexion. Il faut apprécier le temps où l'on ne réalise rien comme un temps nécessaire et non pas du temps perdu.

Utiliser les outils de la créativité

Brainstorming, veille concurrentielle, cartes heuristiques... Il existe plein d'outils pour catalyser la créativité. Une ambiance d'équipe sereine permet aussi de laisser libre cours à l'initiative et la créativité, alors qu'une ambiance tendue risque de freiner les propositions de peur d'être rabroué.

Je suis convaincu que l'utilisation de méthodologies et d'outils adéquats permettent de faciliter le travail de la MOA et d'augmenter les performances d'une équipe projet. Mais il ne faut pas agir sans comprendre, et il ne faut pas oublier que ce n'est pas aux équipes projet de s'adapter aux méthodes, mais que ce sont les méthodes qui doivent être adaptées aux équipes. 

L'ordre est le plaisir de la raison, mais le désordre est le délice de l'imagination.
Paul Claudel.

vendredi, septembre 17 2010

La MOA doit-elle définir ses écrans en mode fil de fer ?

Le processus qui amène à la spécification détaillée des écrans d'une application de gestion, n'est pas principalement un travail sur le graphisme. C'est essentiellement un travail de conception fonctionnelle centrée sur l'utilisateur. Et avant de définir le design final de l'application, il peut être intéressant de concevoir ses écrans en mode fil de fer (wireframe). Voilà un petit schéma revu sur le blog de usercentric.fr - Suivez le chemin de l’User Experience :

Valider la sémantique

En mode fil de fer, les écrans seront représentés avec tous les contrôles nécessaires, avec la vraie sémantique. Mais par contre on évitera de mettre trop d'éléments graphiques. Ainsi cela permet de se concentrer sur le fonctionnel. Le premier avantage est de faire valider par les utilisateurs la sémantique utilisée, avec son contexte.

Vérifier la compréhension des exigences

Les besoins exprimés par les utilisateurs pendant les entretiens de recueil des besoins ne sont pas toujours bien analysés et compris par la MOA. Discuter d'une exigence sur un écran dépouillé du superflu permet de vérifier qu'on a bien compris le fond du problème.

Le storyboard pour valider le processus métier

Un tout petit peu plus loin qu'un simple écran en mode fil de fer, le storyboard permet de valider que la solution prévue permettra bien de supporter le processus métier concerné. En effet, montrer les enchainements qui seront possibles entre les écrans de l'application permet de concrétiser l'informatisation d'un processus métier. Ainsi on peut dérouler le processus avec les utilisateurs et valider que cela fonctionne comme imaginé.

Améliorer l'utilisabilité

Une fois qu'on a validé l'efficacité de la réponse au besoin, on peut commencer à penser à l'utilisabilité. Les ergonomes et les graphistes auront bien évidemment un grand rôle à jouer dans ce travail, car là on rentre dans leur domaine. Mais la MOA doit avoir des notions sur cette utilisabilité pour éviter de proposer des solutions trop nuisibles. Voilà quelques pistes de lecture sur le sujet de de l'utilisabilité :

Définir ses écrans en mode fil de fer, avant de passer à la spécification détaillée des écrans, offre donc de grands bénéfices. On peut en revanche se demander si c'est à la MOA de définir de manière très détaillée les écrans. Si dans l'organisation il n'y a ni ergonome, ni designer, ni développeur sensibilisés à l'utilisabilité, alors il faut bien que quelqu'un le fasse. Mais si il existe ces spécialistes dans votre organisation, restez concentrés sur votre expertise : le métier et le fonctionnel. Laissez alors le graphisme et l'ergonomie aux vrais experts.

vendredi, août 27 2010

La MOA doit-elle donner du relief ?

Nous avons vécu beaucoup d'innovations dans les interfaces homme-machine ces dernières années : terminal tactile multipoint, moniteurs informatiques et téléviseurs en 3D relief, réalité augmentée (pour faire son shopping par exemple), retour des "tablettes"... Mais est-ce que la MOA doit s'intéresser à ces technologies ?

Pas de Système d'Information sans technologie...

Sur ce blog, je traite plutôt du rôle de MOA vis à vis du système d'information. Il est de plus en plus difficile de trouver un processus métier dans une entreprise qui n'utilise pas l'informatique. Et le premier contact des utilisateurs avec leur SI, c'est via les interfaces graphiques des systèmes. Il est donc très important d'être curieux dans ce domaine : essayer les dernières versions des navigateurs Internet, suivre l'évolution des applications open source majeures... et également assurer une veille technologique ! Même si la MOA analyse le fonctionnel ou le métier, il est bon de savoir ce qu'il est possible ou sera possible de faire avec l'outil informatique. Par exemple, la puissance des téléphones portables permet aujourd'hui de développer de nouvelles interfaces en 3D plus immersives (voir cette news sur pcinpact .com : Intel et Nokia travaillent sur des téléphones à interface 3D). Ne voyez-vous pas des applications possibles dans votre domaine ?

... mais n'oublions pas nos objectifs

Mais attention, on croit que les rêves, c'est fait pour se réaliser. C'est ça, le problème des rêves : c'est que c'est fait pour être rêvé (Coluche). Car vous avez un budget à tenir, et les stratégies IT des grands groupes ne doivent pas simplement suivre les modes. Inutile donc de lancer des POC (Proof Of Concept) à tout va, il faut savoir cibler en fonction de la stratégie du SI. N'oubliez pas également que vos utilisateurs sont toujours réfractaires au changement. Alors, évitez les interfaces trop éloignées des standards de fait.

Vidéo : Hiro III, un robot hyptique et une interface tactile en trois dimensions

samedi, août 7 2010

Comment la MOA peut tirer parti des réseaux sociaux ?

Twitter, LinkedIn, Viadeo, Facebook... Les réseaux sociaux sont aujourd'hui bien implantés dans notre quotidien en France. Près de 20,3 millions de Français sont inscrits à un réseau social (type Facebook ou Twitter). Dans un article du nouvelobs.com, on nous alerte : Réseaux sociaux : engouement en France, un danger pour les entreprises ?. Car aujourd'hui les réseaux sociaux sont beaucoup utilisés à titre personnel et assez peu à titre professionnel. Beaucoup de gens actifs sur Facebook, mais beaucoup moins sur LinkedIn ou Viadeo. Pourtant tout le monde parle de l'entreprise 2.0, qui amène une nouvelle manière de communiquer dans l'entreprise, entre entreprises et entre clients et fournisseurs. Doit-on alors avoir peur de ces réseaux sociaux dans l'entreprise ? Non, surement pas. Et en tant que MOA vous devez même en tirer profit.

Maintenir son réseau professionnel

Maintenir son réseau professionnel est devenu une nécessité. Fini le temps où l'on faisait carrière au sein de la même entreprise pendant 40 ans. Que vous soyez consultant AMOA ou MOA en interne, vous devez utiliser ces outils pour vous aider à maintenir votre réseau professionnel. Ce n'est pas magique, il faut d'abord travailler le relationnel avec des vrais gens ! Soyez reconnu pour votre expertise et la qualité de votre travail. Ensuite, un outil comme LinkedIn vous permet de conserver un carnet d'adresse toujours à jour et toujours accessible.

Gérer son e-réputation

L'e-reputation c'est un terme à la mode qui désigne la réputation d'une personne physique ou morale (professionnel, marque, produit...) sur internet. Présenter son profil complet sur LinkedIn permet aux autres personnes d'avoir directement accès à votre expertise, et vos contacts sont la caution de ce profil. Essayez également d'obtenir des recommandations de clients ou de vos supérieurs, cela "prouve" que les gens avec qui vous avez travaillé reconnaissent votre valeur. Pensez également à publier vos connaissances ou des informations concernant votre secteur d'activité sur un blog ou via Twitter. Cela permettra aux gens qui ne vous connaissent pas encore de se faire une idée précise sur vos connaissances. Dernier conseil, créez-vous un profil personnel anonyme et un profil professionnel nommé. Le but est de maitriser votre réputation sur le web.

Profiter de la connaissance des communautés

Utilisez les communautés des réseaux sociaux pour faire de la veille "technologique" sur votre secteur d'activité, pour obtenir des réponses aux questions que vous vous posez, pour obtenir un avis sur un fournisseur... les occasions ne manquent pas ! Par exemple sur Twitter, vous pouvez trouver des Business Analyst qui publient des informations ou des articles concernant notre travail. Pour cela, effectuez une recherche sur le tag #baot (Business Analysis On Twitter). Une fois que vous avez trouvé des gens sur Twitter qui vous intéressent, surveillez leurs "retweet" et suivez les gens qui ont été cités et qui vous ont intéressés. Enfin, les sites communautaires comme LinkedIn proposent des groupes dans lesquels vous allez retrouver des forums de discussions : ModernAnalyst.com - Business Analyst Community, Business Analyst Professional...

Et pourquoi pas même utiliser les principes de ces réseaux sociaux, mais en interne ? Cela permet d'effacer la distance (géographique et hiérarchique) en ayant accès à toutes les informations et donc de fluidifier la communication. Il est fini le temps où l'on avait le pouvoir car on détenait l'information. Les gens performants sont maintenant ceux qui diffusent le mieux l'information. Tout du moins, c'est ce qui me semblerait le plus optimal dans une organisation, et ce qui faciliterait le plus mon travail de coordination en tant que MOA. Mais c'est encore très loin d'être le cas partout !

mercredi, juillet 21 2010

Dans quels cas utiliser les cas d'utilisation ?

"Les cas d'utilisation, c'est bien, mais leur description détaillée est un peu lourde. Finalement, nous ce qui nous intéresse c'est la spécification des écrans.", voilà ce qu'un développeur m'a récemment dit concernant des spécifications fonctionnelles que j'avais rédigées. L'approche par cas d'utilisations (use case) pour expliciter les exigences fonctionnelles d'un système est un grand classique de la MOA. Mais alors si les développeurs les jugent indigestes, à qui et à quoi servent-ils ? C'est en lisant ce billet Use cases: a personal history (and a bit of a love affair) de Laura Brandenburg, que je me suis rendu compte que je n'étais pas le seul à me poser ces questions.

Rappels sur les cas d'utilisation

Un diagramme de cas d'utilisation en UML permet de figurer le comportement d'un système face aux stimulations d'acteurs externes, le tout avec un formalisme extrêmement simple.Voilà un exemple décrivant le fonctionnement d'un restaurant :

Diagramme de cas d'utilisation

Un cas d'utilisation est représenté par une "patate". Chaque cas d'utilisation peut ensuite être décrit de manière détaillée avec par exemple le formalisme suivant :

Description détaillée d'un cas d'utilisation

Les cas d'utilisation pour discuter avec le métier

L'avantage d'un diagramme de cas d'utilisation est qu'il est très simple à comprendre. Hormis les associations de type "extends" ou "includes", le formalisme se comprend de lui même. Donc pour appréhender un système existant ou pour expliciter le périmètre d'un projet, ce genre de diagramme me parait indispensable. Et même si on travaille avec des "user stories" dans le cadre d'une méthode agile, réaliser un diagramme de cas d'utilisation permet d'avoir une vision d'ensemble, nécessaire pour les discussions au niveau d'un processus.

Les cas d'utilisation comme outil d'analyse

A moins d'être sur une évolution très simple ou d'être un expert du sujet, il me parait impossible de passer directement du besoin exprimé par l'utilisateur à une maquette détaillée de l'interface prête à être réalisée par l'équipe de développement. Alors comment mener l'analyse qui permettra de rédiger une spécification fonctionnelle détaillée ? Et bien par exemple en utilisant le modèle présenté précédemment pour expliciter les cas d'utilisations car il permet de :

  • Formaliser l'exécution normale du cas d'utilisation ;
  • Découvrir les cas alternatifs, qui sont souvent oubliés par les différentes parties-prenantes ;
  • Découvrir les règles métiers, même celles qui ne se traduiront pas par une règle dans l'interface graphique.

Même si finalement les développeurs auront tendance à se focaliser sur la description des IHM, les cas d'utilisation facilitent la conception de ces IHM et permettent d'avoir rapidement une vision globale du système ou processus étudié. Alors oui, ils peuvent paraitre trop simplistes sous forme de diagramme et trop complexes lorsqu'ils sont explicités de manière détaillée, mais il me semble que c'est un outil indispensable à toute analyse fine du métier.

dimanche, juin 6 2010

La MOA doit-elle donner son sens ?

Mais de quoi parle-t-on ? Définir correctement les termes utilisés dès le début du projet est très important. Cela permet d'éviter les incompréhensions et les ambiguïtés. Voici quelques conseils.

Créer un Glossaire dans votre Wiki

Utiliser un Wiki est idéal pour construire un glossaire. En effet un glossaire doit vivre, tout le monde doit pouvoir y accéder et surtout, tout le monde doit y contribuer. Il doit s'agir d'un tableau simple dans lequel on peut rechercher facilement.

Terme en françaisDéfinitionÉquivalent en anglais
Terme en français (mot ou expression)La définition doit être la plus précise possible. il peut y avoir plusieurs définitions en fonction du contexte.Équivalent en anglais

Hiérarchisez votre glossaire

Il faut créer une hiérarchie pour ce glossaire :

  • Glossaire d'entreprise
  • Glossaire de domaine
  • Glossaire de projet
Un terme peut se retrouver dans chacun des niveaux, en effet, un même terme peut avoir une définition différente d'une entreprise à une autre mais aussi d'un service à un autre ou d'un projet à un autre.

Pensez aux équivalents dans les autres langues utilisées

Si votre projet utilise le français et l'anglais par exemple, pensez à indiquer les équivalents en anglais au terme français. Pour cela, ne comptez pas sur les outils automatiques de traduction. il faut se référer à des dictionnaires métiers. J'utilise par exemple les sites suivants pour trouver des correspondances entre des termes anglais ou français :

Citez vos références

Il n'y a pas de honte à utiliser des références externes, mais pensez à les citer. Et pensez surtout à utiliser plusieurs sources de qualité en plus de vos propres connaissances. Par exemple voici un excellent glossaire des termes utilisés dans la gestion de projet. Vous pouvez l'utiliser comme référence, mais également vous inspirez de sa structure "comparative" :

Ensuite il faut vous construire vos propres références en essayant d'avoir un regard critique sur chacune d'entre elles. Par exemple, pour le monde de la finance, on peut utiliser des glossaires de site dédiés à la finance, de sociétés d'investissement ou même directement des sites des bourses :

Oui, la MOA doit donner du sens aux termes utilisés dans son projet. Certaines méthodologies inclues la sémantique dans leur approche comme par exemple Praxeme. Mais avant d'en arriver aux modèles UML, quelques descriptions textuelles sont déjà un très bon premier rempart face aux risques d'incompréhension ou d'ambiguïté. Car entre le langage propre à chaque entreprise, les niveaux variés en langues étrangères et les niveaux variés de compréhension du fonctionnel, il y a énormément de difficultés à affronter pour parler le même langage.

lundi, mai 24 2010

Comment diminuer la charge des activités de test ?

Que ce soit la préparation (définition de la stratégie de recette et des plans de test) ou son exécution, une recette consomme beaucoup de ressources. J'ai souvent vu des projets sur des systèmes critiques pour l'entreprise avec des tests de validation qui représentaient 20% de la charge globale du projet. Ainsi il est important d'optimiser les activités de test.

Demandez à votre MOE un rapport d'exécution des tests unitaires et tests d'intégration

En plus de l'application à tester, votre MOE doit vous livrer un rapport d'exécution des tests unitaires et tests d'intégration. De nombreux outils existent pour faciliter le développement et le reporting de tests unitaires. Il peut être très coûteux de mettre en place des tests unitaires pour une application existante, il faut donc y penser dès le commencement du projet et que les charges de développement prennent en compte le temps nécessaire à la réalisation des tests unitaires. Pour cela, la MOA doit être prête à sponsoriser cette surcharge de travail.

Plan de test

Il faut utiliser un outil ou a minima un fichier Excel pour consigner les plans de test et les réutiliser. Cela doit permettre de spécifier le plan de test, planifier les campagnes de test, suivre l'exécution des tests et effectuer un reporting sur l'avancement des tests. Les tests des nouvelles fonctionnalités deviennent ensuite des tests de non régression, et on peut les réutiliser.

Tests fonctionnels automatisés

Et pourquoi ne pas aller plus loin et essayer d'automatiser les tests fonctionnels ? Voici un article intéressant vu sur le blog d'Octo Technology : Démarches de tests fonctionnels. Il y est question de deux outils qui permettent d'automatiser les tests fonctionnels et même de documenter les fonctionnalités du système (d'où le terme de "spécifications exécutables") :

Le principe de ces outils est de décrire le plan de test dans un Wiki sous un format semi structuré (des tableaux). Les données composant le jeux d'essai, les fonctionnalités du systèmes, les résultats attendus, tout est décrit dans un Wiki ce qui est censé offrir de la flexibilité pour documenter et une facilité de prise en main qui permet aux MOA d'écrire les scripts de test. Une fois les tests décrits, il suffit d'exécuter le script de test et la page va s'agrémenter de vert ou de rouge en fonction des résultats des tests. Mais ce n'est pas magique, et il faut coder des "Fixtures" afin de faire le lien entre des outils et les applications à tester. Donc il reste une charge de travail non négligeable côté MOE, à faire en plus des tests unitaires "techniques".

Behavior Driven Development

Le Test Driven Development consiste à commencer par écrire des tests qui vont échouer avant même de développer la fonctionnalité. Au delà de cette approche, Dan North a inventé le concept de Behavior Driven Development :

My response is behaviour-driven development (BDD). It has evolved out of established agile practices and is designed to make them more accessible and effective for teams new to agile software delivery. Over time, BDD has grown to encompass the wider picture of agile analysis and automated acceptance testing.

Introducing BDD - DanNorth.net

Cucumber par exemple est un framework qui permet de décrire en langage naturel comment le système devrait se comporter :

Il existe des applications plus riches qui permettent de décrire les Feature et Scenario plus facilement, comme par exemple Lowdown :

http://lowdownapp.com/

Vous pouvez consulter ce billet sur le blog d'Octo Technology : Cucumber pour la MOA pour aller plus loin.

Testeur - Un vrai expert

Finalement, on se rend compte que les techniques de test sont aujourd'hui nombreuses et parfois complexes. Le métier de Testeur est donc devenu un métier en lui-même où l'expertise est dure à obtenir. Si votre structure est trop petite pour avoir une équipe dédiée aux tests, alors il ne faut pas hésiter à faire appel à un expert externe pour aider à la mise en place de bonnes pratiques pour une démarche de test qui doit être intégrée à tout le cycle de vie d'un système.

- page 2 de 4 -