Analyse fonctionnelle et spécifications

Comprendre vos besoins par une écoute active.

Produire des spécifications fonctionnelles claires et pertinentes ne se limite pas aux bonnes pratiques à appliquer en matière de rédaction de Use Case ou de User Story.

Il importe de collecter les demandes qui émanent des managers ou des utilisateurs clés par une écoute active. Cette écoute active est d'abord une écoute ouverte, attentive, empathique et sans a priori. Il s'agit ensuite d'amener l'interlocuteur à préciser au mieux sa demande par une suite de questions pertinentes. De cette façon il s'agit notamment de clarifier les points suivants:

  • Acter les demandes collectées et les reformuler pour les inscrire dans la perspective globale du projet. 
  • Comprendre les objectifs et intentions sous-jacentes à une demande pour apporter les solutions les plus constructives.
  • Identifier les risques pressentis, les obstacles à la mise en oeuvre
  • Valider les fonctionnalités demandées en croisant les informations et résoudre les éventuelles divergences de vues

Garder le cap sur les objectifs métier et le ROI

Il est également important de placer les demandes fonctionnelles dans la perspective des objectifs métier du projet. De quelle façon les demandes entrent-elles dans le cadre de ces objectifs? Comment la mise en place de solutions découlant de ces demandes va-t-elle contribuer à la réalisation de ces objectifs et in fine à la réalisation du retour sur investissement du projet?

Traduire et structurer les demandes en spécifications claires

Une fois les demandes et les besoins parfaitement identifiés, il faut traduire ceux-ci en conceptions fonctionnelles. A ce niveau, expérience, connaissance des solutions du marché et créativité jouent un rôle prépondérant pour élaborer des solutions efficaces et économes.

La structuration des spécifications est également importante pour faciliter le phasage des développements. Enfin, la rédaction des spécifications vise une communication optimale avec tous les intervenants au projet: donneurs d'ordre, utilisateurs clés, développeurs et autres intervenants. Pour cela, en fonction de la nature du projet, on utilisera les moyens standards les plus appropriés:

  • Les "Use Cases" mettent les utilisateurs (actors) au centre des spécifications, clarifient les objectifs, les pré-requis, les étapes et flux des scénarios, explorent les variations possibles au scénario de base, etc...
  • Sur les projets Agiles, les "User Story" sont une alternative aux "Use Cases" avec des spécifications plus succinctes, regroupées en "Epics" (thèmes) le tout représenté dans des "User Story Map"
  • Les Diagrammes UML permettent de synthétiser visuellement: Use Case diagrams, activity diagrams, sequence diagrams, communication diagrams, etc... 
  • Modélisation de base de données

Maquettes et prototypes sont souvent des compléments indispensables aux spécifications formelles évoquées ci-dessus.

 

FR | EN

Compléments d'information

Une courte sélection de livres ou articles intéressants pour explorer le sujet plus avant.

Use Cases 2.0
By Ivar Jacobson. Learn the agile way to do use cases.
Use-Case 2.0 re-focuses on the essentials and offers a slimmed down, leaner way of working, for software teams seeking the benefits of iterative, incremental development at an enterprise level.
Writing Effective Use Cases
By Alistair Cockburn contains detailed guidelines, formats, and project standards for creating use cases. Cockburn shows how use cases fit together with requirements gathering, business processing reengineering, and other key issues facing software professionals.
Rapid Contextual Design
By Karen Holtzblatt et al. How-to Guide to Key Techniques for User-Centered Design (Interactive Technologies)
Learning UML 2.0
By Russ Miles and Kim Hamilton this book shows you how to use UML to craft and communicate your project's design. Russ Miles and Kim Hamilton have written a pragmatic introduction to UML based on hard earned practice, not theory.
Applying Uml and Patterns
By Craig Larman. An Introduction To Object -Oriented Analysis, Design And Iterative Development, 3/E