La conception

  • Date
  • Auteur
    Pascal Lecatelier

La conception est la phase permettant de formaliser tous les prérequis nécessaires d'un projet avant le démarrage de la phase de développement. Elle doit être réalisée lors de l'étape préliminaire d'un projet ou d'une phase évolutive de MCO (maintenance en condition opérationnelle) ou de TMA (tierce maintenance applicative).

Cette phase est un des piliers du succès d'un projet; lorsqu'elle devient une variable d'ajustement d'un projet challengé par les coûts, l'impact se fera ressentir au mieux lors des phases avales de recette Métier et au pire lors des phases de MCO ou TMA qui engendrera une insatisfaction des utilisateurs et des métiers et ainsi que des coûts supplémentaires.

La phase de conception doit être abordée avec rigueur quelle que soit la méthodologie utilisée : prédictive, agile ou hybride.

Un projet conçu pour éviter l'insatisfaction des utilisateurs

Qu'elle soit fonctionnelle ou technique, la conception doit couvrir tous les aspects d'un projet :
- les enjeux et les objectifs,
- le besoin métier,
- l'expérience utilisateur,
- l'évolutivité et la fiabilité de la solutio,n
- la performance,
- la sécurité<,br /> - l'éco-responsabilité,
- les tests.

La méthodologie

La réponse au « quoi » est prise en charge par la spécification qui a pour objetif de décrire l'objet à développer en termes de fonctionnalité. Elle est l'expression de toutes les caractéristiques de l'application selon une vue métier ou utilisateur et SI.

La réponse au « comment » est portée par la conception qui définit l'ensemble des moyens permettant de développer les fonctionnalités issues des spécifications.

La phase de conception a pour objectif de décrire de manière non-ambiguë le fonctionnement futur de l'application c'est à dire qu'elle doit lever les flous, en utilisant le plus souvent un langage de modélisation, afin d'en faciliter le développement.

Il existe différentes familles de conception d'application dont le choix s'adapte à la nature du projet, parmi lesquelles :
- Littérale et descriptive comme le pilotage par les exigences, qui utilise un langage naturel mono-phrasé et hiérarchisé assurant la traçabilité et la testabilité,
- Comportementale comme le développement piloté par le comportement, basé sur un langage simple et normalisé facilitant la compréhension entre le Métier et les développeurs, en facilitant les tests,
- Modélisation par diagramme comme merise ou UML, qui permettent d'aborder les aspects fonctionnels et techniques dans une représentation d'architecture logicielle.

Chaque méthode de conception doit respecter ses règles fondatrices afin d'être efficientes. Elle doit être compréhensible par tous afin d'éviter trop d'écriture ou de réadaptation entre les différentes parties prenantes et lever toutes les ambiguïtés. Certaines méthodes de formalisation exigencielles comme CIAO de Telys permettent d'assurer un seul format de livrable qui sera partagé entre le Métier, les développeurs et les testeurs.

Vidéo de présentation

Les outils

Le choix d'un outil ALM (Application Life Management) est important afin d'assurer la formalisation, la traçabilité et la vérification de la conception. Parmi les offres Leader dans ce domaine, on retrouve Jira et Confluence de chez Atalassian ou Azure Develops de chez Microsoft). .

La mise en place de plateforme collaborative réunissant l'ensemble des parties prenantes du projet constitue une clef de succès.

Nous mettons à disposition de nos clients des outils permettant:
- D'assurer la traçabilité et l'avancement de la phase de conception,
- De formaliser et valider la conception comme Confluence et Draw.io ou Azure Devops Wiki de Microsoft,
- De tester avec des suites comme Xray ou Azure Test Plans.


Vidéo de présentation

Partager cette page: