8
Livre blanc destiné aux professionnels Sept meilleures pratiques pour élaborer des applications alignées sur les exigences métiers

Sept meilleures pratiques pour élaborer des applications alignées sur les exigences métiers

Embed Size (px)

Citation preview

Page 1: Sept meilleures pratiques pour élaborer des applications alignées sur les exigences métiers

Livre blanc destiné aux professionnels

Sept meilleures pratiques pour élaborer des applications alignées sur les exigences métiers

Page 2: Sept meilleures pratiques pour élaborer des applications alignées sur les exigences métiers

3 Synthèse 3 Introduction 3 Meilleures pratiques au niveau de l’entreprise 5 Meilleures pratiques au niveau du projet 7 De meilleurs logiciels 8 Conclusion

Table des matières

Page 3: Sept meilleures pratiques pour élaborer des applications alignées sur les exigences métiers

3

SynthèseUne des clés pour élaborer une application qui réponde aux exigences métiers est de définir précisément ces exigences en amont. Ces exigences doivent être claires et succinctes, mais elles doivent également incorporer l’avis de plusieurs parties prenantes. Dans la définition et la gestion des exigences, les meilleures pratiques sont présentées au niveau de l’entreprise et au niveau du projet afin d’atteindre les objectifs de mesures attendus. En éliminant les écarts entre les processus du travail effectué dans les silos informatiques, les équipes peuvent délivrer plus rapidement des applications en réponse à l’évolution des besoins métiers.

IntroductionLe principal obstacle à l’élaboration d’applications répondant aux besoins métiers réside dans la difficulté à collecter des exigences métiers qui soient bien définies. Lorsque les exigences sont définies par un individu ou un groupe de personnes pour satisfaire les besoins d’un autre groupe d’utilisateurs, certaines informations risquent de se perdre en chemin. Dans ce cas, des anomalies peuvent s’immiscer accidentellement dans l’application au début de son cycle de vie, et risquent de ne pas être détectés avant longtemps. A ce stade, leur correction s’avérera beaucoup plus onéreuse. En réalité, pour de nombreux projets, le travail de correction absorbe une grande partie du budget lorsque les exigences définies en amont changent en même temps que les besoins métiers changent. Comme les équipes sont de plus en plus éloignées géographiquement (du fait de la sous-traitance, des fusions et acquisitions, et d’autres facteurs), les communications deviennent de plus en plus difficiles et ce problème s’en trouve exacerbé.

De plus, les applications cloud, mobiles et hybrides ajoutent de la complexité au processus de définition des exigences et aux applications elles-mêmes. Du fait de l’évolution rapide des besoins métiers, de nombreuses organisations adoptent les techniques de développement Agile qui impliquent l’ajustement des exigences en fonction des commentaires des parties prenantes au fur et à mesure de l’avancée du projet. Ces changements doivent faire l’objet d’un suivi et être communiqués en temps réel à tous les membres de l’équipe et risquent d’avoir un impact sur une exigence précédemment approuvée.

Lorsqu’elles sont confrontées à ces difficultés, comment les directions informatiques peuvent-elles fournir des applications mieux adaptées à leurs besoins, à leurs budgets et à leur planning ? Ce document passe en revue les meilleures pratiques à appliquer, à la fois au niveau de l’entreprise et du projet, pour collecter et gérer les exigences parfaitement définies en amont de la conception d’une application. Ces pratiques aident les équipes qui utilisent des processus Agile ou itératifs, ainsi que celles utilisant les méthodes traditionnelles en cascade. L’amélioration de la définition des exigences et des processus de gestion permet d’accélérer la livraison des projets logiciels et d’augmenter leurs chances de succès.

Meilleures pratiques au niveau de l’entrepriseLes trois premières meilleures pratiques sont implémentées au niveau de l’entreprise. Via la standardisation, un langage commun et la traçabilité à l’échelle de l’entreprise, et la création d’exigences parfaitement définies, vous obtenez une cohérence à travers tout le cycle de vie de l’application qui devient partie intégrante de la culture d’entreprise.

•Standardisation à l’échelle de l’entreprise : Standardisez la gestion des exigences au niveau de l’entreprise afin de promouvoir la collaboration et d’éliminer les silos entre les analystes métier, les développeurs et les personnes en charge de la qualité (QA). Le fait d’utiliser un même système pour la gestion complète des exigences permet d’obtenir une version définitive très proche de la réalité -afin que les équipes en charge du projet puissent localiser les informations les plus récentes. Ceci s’avère particulièrement important au fur et à mesure de l’évolution des exigences dans le temps, soit parce que les conditions métiers ont changé, soit du fait de la conception à l’aide d’un processus de développement itératif tel qu’Agile. Un seul système pour la gestion complète des exigences permet également d’obtenir une meilleure surveillance, donnant ainsi aux responsables des applications et aux autres décideurs une bonne visibilité sur la satisfaction des exigences.

•Langage commun : Fournit des directives cohérentes concernant le langage utilisé afin de faciliter l’écriture et le suivi des exigences. Ceci permet d’éviter à la fois le surmenage induit par l’ajout de plus de détails que nécessaire et le temps perdu à revenir en arrière pour collecter davantage d’informations lorsque les descriptions sont trop vagues. Pour ces directives, nous recommandons :

− L’utilisation de phrases simples et allant à l’essentiel (ex. : inclure uniquement les vols du départ à l’arrivée dans la liste des avions en partance) − L’utilisation du présent de l’indicatif. Envisagez l’usage de la troisième personne du singulier pour les sujets des phrases. (Ex. : « Le système exige l’authentification unique ».) − Evitez les point-virgules et les conjonctions (et, ou). Contentez-vous de décrire une seule exigence par phrase, car cela simplifiera la vérification et la délégation des tâches de développement et de test. − Evitez les point-virgules et les conjonctions (et, ou). Contentez-vous de décrire une seule exigence par phrase, car cela simplifiera la vérification et la délégation des tâches de développement et de test.

Page 4: Sept meilleures pratiques pour élaborer des applications alignées sur les exigences métiers

4

Le respect de ces directives rend non seulement les exigences plus fiables et plus faciles à surveiller, mais améliore également les mesures de leur qualité. Les mesures de la qualité comprennent :•Lignes de texte : nombre de lignes de texte dans le document

décrivant les exigences. Lorsque les exigences sont décrites de manière uniforme, cette mesure permet à l’utilisateur d’estimer les fonctionnalités et le niveau de test requis pour le logiciel.

•Verbes exigeant une action : nombre de verbes à caractère impératif, tels que « doit », « devra ». Ce nombre fournit une estimation grossière du volume de conception nécessaire pour obtenir les fonctionnalités requises du logiciel. Il donne également une estimation du niveau de test requis pour satisfaire ces impératifs.

•Expressions approximatives : nombre d’expressions approximatives telles que « grand », « rapide », « suffisant », etc. Ces expressions donnent des conceptions trop vagues pour être testées et mesurées.

•Exhaustivité : pourcentage d’exigences ne contenant aucune expression de type « à déterminer », « à spécifier », etc. Les exigences contenant ce genre d’expressions sont considérées incomplètes.

•Phrases à option : nombre d’expressions telles que « pourrait », « peut », « je pense que », etc. Ces exigences risquent d’être difficiles à satisfaire pour les développeurs.

Une autre meilleure pratique consiste à fournir un modèle ou un ensemble de modèles pour la définition des exigences afin d’encourager l’usage d’un langage commun.

− Traçabilité : Activez la traçabilité tout au long du cycle de vie de l’application afin de déterminer si le projet actuel satisfait les exigences. La possibilité d’un suivi bidirectionnel des liens entre les exigences et les tests, ainsi que entre les exigences et le code, permet aux analystes métiers et aux autres parties prenantes de s’assurer que l’IT produit bien ce qu’attendent les métiers. Cela permet de baser les tests applicatifs sur les exigences. L’équipe chargée de l’assurance qualité peut alors procéder aux tests par rapport aux critères définis par les métiers. Pour les développeurs, la traçabilité entre le code et les exigences offre des opportunités de réutilisation si des fonctionnalités similaires sont nécessaires dans différentes applications. Pour l’équipe chargée de l’assurance qualité, la traçabilité assure l’enregistrement de tous les cas de test associés aux exigences, ce qui est essentiel pour détecter et signaler les anomalies. Pour les responsables des applications et les autres décideurs, la traçabilité leur permet de consulter l’avancée des sujets les plus importants et à quel point l’application répond aux besoins métiers. Les mesures de la traçabilité comprennent : − Exigences tracées : nombre d’exigences faisant l’objet d’un suivi bidirectionnel pour chaque caractéristique − Exigences non tracées : nombre d’exigences ne faisant pas l’objet d’un suivi − Exigences tracées par intermittence : nombre d’exigences faisant l’objet d’un suivi intermittent − Relations : nombre de relations ascendantes et descendantes pour chaque exigence. Ce chiffre aide à identifier le niveau de réutilisation et l’impact des changements sur l’application dans son ensemble. − Couverture : pourcentage d’exigences dont les tests ont réussi, échoué ou n’ont pas été exécutés

Page 5: Sept meilleures pratiques pour élaborer des applications alignées sur les exigences métiers

5

Meilleures pratiques au niveau du projetLes quatre dernières meilleures pratiques sont implémentées au niveau du projet. L’adoption de ces pratiques apporte de la clarté au processus de définition des exigences et aide à éliminer les tâches de correction dans les activités de développement et de test des applications. De plus, ces étapes permettent d’éviter les surcharges de travail et de ne pas perdre de temps à corriger le processus de définition des exigences lui-même.

•Soyez succinct : Ne créez pas des exigences si elles n’apportent aucune aide à l’équipe en charge de l’application. Les exigences les plus précieuses sont celles qui peuvent être réutilisées. L’approche succincte comprend l’automatisation des processus et l’élimination du gaspillage. En classant systématiquement les exigences, il devient plus facile de repérer celles qui sont nécessaires et celles qui peuvent être abandonnées. La standardisation du contenu des exigences, à l’aide de modèles et d’un langage commun, facilite leur compréhension et permet d’éviter les tâches de correction.

•Procédez par itérations : Créez des exigences de manière itérative afin d’obtenir des commentaires, de promouvoir la collaboration et de permettre aux équipes de repérer les anomalies précocement dans le cycle de vie du développement logiciel. Une meilleure pratique consiste à démarrer le processus avec un haut niveau d’exigence en décrivant qui a besoin de ces fonctionnalités et dans quel but. Ensuite, plutôt que de travailler tout seul dans son coin, l’analyste métier rédigeant les exigences doit consulter les principales parties prenantes pour obtenir leur avis et déterminer si ces exigences sont en adéquation avec les besoins métiers. Les développeurs doivent également donner leur avis et dire s’ils disposent de suffisamment d’informations pour commencer à écrire le code de l’application. Si ce n’est pas le cas, l’analyste doit retravailler et ajouter plus de détails. Cependant, si les informations sont suffisantes, les développeurs peuvent commencer à coder l’application.

Selon les exigences, des niveaux de détails différents seront nécessaires. Gagnez du temps et réduisez la complexité en fournissant la quantité adéquate d’informations. Il est inutile d’être trop -prolixe pour les exigences qui sont faciles à comprendre.

Figure 1 : HP ALM Coverage Analysis fournit en temps réel la traçabilité de la totalité du cycle de vie des actifs, y compris les tâches, les tests et les anomalies.

Page 6: Sept meilleures pratiques pour élaborer des applications alignées sur les exigences métiers

6

Au fur et à mesure que le projet passe par plusieurs itérations pour la définition des exigences, il est important de surveiller et mesurer à quel endroit et comment les exigences évoluent dans le temps. Les mesures des changements comprennent :

•Volatilité : nombre d’exigences ajoutées, supprimées et modifiées, classées par motif de changement

•Exigences de départ : nombre d’exigences techniques et non techniques fournies au départ par le client. Cette mesure, ainsi que les exigences finales et les changements par exigence, décrivent la quantité de changements apportées aux exigences.

•Exigences finales : nombre d’exigences techniques et non techniques utilisées pour le produit logiciel final

•Changements par exigence : nombre de changements apportées à chaque exigence

•Changements dans le temps : nombre de changements par semaine, par exemple. Cette mesure décrit le degré de volatilité des exigences. Ce chiffre doit baisser au fur et à mesure que l’on s’approche de la fin du cycle de vie du logiciel, pour indiquer la convergence des exigences.

•Motif de changement : le classement des causes des changements permet d’identifier les motivations les plus courantes et peut servir à améliorer le processus de développement.

•Source des changements : l’identification de l’auteur d’un changement (qui l’a demandé) permet d’anticiper les futures sources de changement.

•Visualisez : Parfois, une image est beaucoup plus efficace qu’un long discours. N’hésitez pas à présenter les exigences sous forme visuelle pour améliorer leur compréhension, ainsi que celle de leurs interdépendances. La visualisation simplifie l’identification des problèmes potentiels, tels que des cas d’utilisation manquants. De plus, les images sont plus faciles à lire et à explorer que de longues phrases descriptives. Pour les équipes qui ne souhaitent pas respecter les pratiques Agile, qui exigent que l’écriture du code ait lieu au début du processus, la visualisation et les simulations peuvent servir à obtenir des retours d’informations précoces afin d’atteindre les mêmes objectifs.

•Collaborez : Pour obtenir les exigences qui conviennent à la fin du processus, collaborez et éliminez les silos qui existent entre les groupes dès le début du processus. Par exemple, alors qu’un analyste métier peut comprendre le point de vue de l’utilisateur final sur ce que devrait être une exigence, la collaboration entre l’équipe de développement permettra de mettre en perspective la faisabilité de cette exigence.

Figure 2 :Les actifs d’exigence qui peuvent être réutilisés, tels que les modèles BPM servant à générer les exigences, présentent le plus d’intérêt.

Page 7: Sept meilleures pratiques pour élaborer des applications alignées sur les exigences métiers

7

De meilleurs logicielsHP Application Lifecycle Management (ALM) est une plate-forme unifiée et évolutive qui permet à l’IT de gérer le cycle de vie des applications et de relier la mise à disposition des applications de la proposition du projet jusqu’à son exploitation. Cette plate-forme réunit toutes les fonctionnalités nécessaires à la gestion des exigences dans un seul système afin de coordonner le travail des équipes de chaque projet. La plate-forme HP ALM permet à vos équipes d’effectuer les opérations suivantes :

•Exploiter des modèles d’exigences et importer les matériaux d’origine dans des formats familiers aux analystes métiers, y compris des documents Microsoft® Word et Microsoft Excel. HP ALM fournit un éditeur équipé de toutes -les fonctionnalités d’un traitement de texte (similaire à Microsoft Word) pour la modification des cas d’usage et des exigences structurées.

•Effectuer le suivi des exigences dans les plans de projet et élaborer des indicateurs KPI pour le processus de définition des exigences. L’analyse de la couverture fournit en temps réel la traçabilité de la totalité du cycle de vie des actifs, y compris les tâches, les tests et les anomalies.

•Générer automatiquement une structure de plans de test à partir des exigences avec une traçabilité complète pour permettre à l’équipe en charge de l’assurance qualité de tester les sujets les plus importants pour l’entreprise. HP ALM génère automatiquement la documentation des exigences de l’entreprise dans des formats personnalisés. Cette documentation peut être distribuée aux responsables et aux autres membres concernés dans l’entreprise.

•Réutiliser des actifs d’exigences via l’intégration de la plate-forme HP ALM à d’autres outils tiers. Les analystes métiers peuvent importer la mise en page et les maquettes de l’interface utilisateur (UI), ainsi que tous les modèles BPM. La plate-forme HP ALM permet de définir les chemins à tester dans le modèle BPM, et génère automatiquement une exigence pour chaque chemin et chaque étape du modèle. Ceci évite de créer les exigences de façon manuelle.

•Gérer les données des exigences en joignant des tableaux de données issus de Microsoft Excel. La plate-forme HP ALM permet d’organiser clairement les exigences avec possibilité de les classer dans des listes énumérant les exigences fonctionnelles et non fonctionnelles et leurs données.

•Adopter une approche itérative pour la définition des exigences grâce à la gestion des différentes versions au niveau des exigences et dans la totalité du processus. Créez des lignes de base et comparez-les afin d’identifier les modifications intervenues entre les versions, les cycles et les activités de développement. La plate-forme HP ALM permet de hiérarchiser les exigences à partir des concepts de départ jusqu’aux exigences finales, avec validation appropriée.

•Utiliser plusieurs formes de visualisation des exigences, notamment des modèles BPM, des maquettes d’écran, des diagrammes de flux des données et des cartes de fonctionnalités.

− Collaborer avec les autres équipes via un seul système pour une gestion exhaustive des exigences grâce à un accès Web mondial. La plate-forme HP ALM fournit la gestion des différentes versions de tous les artefacts des exigences dans un référentiel redondant pour un accès conjoint et la collaboration entre les équipes.

Figure 3 :Les images et les maquettes de l’interface sont plus faciles à lire et à comprendre que des descriptions textuelles.

Page 8: Sept meilleures pratiques pour élaborer des applications alignées sur les exigences métiers

Ce document a été imprimé sur presse numérique HP Indigo.

Partager avec des collèguesGet connectedhp.com/go/getconnected

Get the insider view on tech trends, alerts, and HP solutions for better business outcomes

HP Requirements Management est intégré à HP ALM pour fournir une seule plate-forme, accessible via un navigateur pour les analystes métiers, les chefs de projet, les concepteurs, les développeurs, les testeurs et le responsable des applications. Les exigences gérées dans HP ALM peuvent être consultées par toutes les parties prenantes tout au long du cycle de vie de l’application et sont à la disposition des développeurs dans les environnements IDE les plus populaires, tels que Microsoft Visual Studio et Eclipse. Des tableaux de bord sont à la disposition de toutes les parties prenantes pour représenter les relations entre les exigences (par exemple pour savoir quel développeur code tel module ou quel cas de test répond à une exigence spécifique). Ceci fournit le contexte de l’entreprise à tous les secteurs de distribution de l’application. Les modifications apportées à une exigence pouvant avoir un impact important sur les autres exigences et par conséquent sur le code et les tests, ces changements peuvent être gérés en temps réel dans HP ALM. Toutes ces modifications peuvent être annulées car la totalité du système contrôle les différentes versions présentes dans l’environnement, ce qui est indispensable pour une collaboration au niveau mondial.

ConclusionLorsque ces meilleures pratiques sont respectées, les projets sont plus susceptibles d’atteindre les objectifs reposant sur des métriques, notamment les budgets, les plannings et la satisfaction des clients. En éliminant les écarts entre les processus du travail effectué dans les silos informatiques, HP ALM aide les équipes à délivrer rapidement des applications en réponse à l’évolution des besoins métiers.

Une entreprise mondiale spécialisée dans les soins de santé a récemment amélioré sa gestion des exigences dans son environnement ERP. Grâce à HP Requirements Management, ils ont réussi à :

•Spécifier et relier leurs exigences, simplifiant ainsi l’identification des relations qui existent entre elles

•Relier étroitement les exigences avec les cas de test et le code, en établissant un lien de traçabilité avec la définition correspondante des exigences

•Relier les anomalies aux exécutions des tests, afin de savoir quelles exigences sont impactées en remontant jusqu’à l’exécution du test, le cas de test et l’exigence correspondante

•Fournir un rapport visuel détaillant le statut de tous les tests afin d’identifier les niveaux de qualité et les risques encourus

•Transiter vers un environnement de documentation des exigences sur support numérique (sans papier)

Tout cela a permis à l’équipe des applications de fournir une traçabilité plus exhaustive, facilitant ainsi le développement par rapport aux exigences et la réussite des tests.

La puissance des outils de communication et de collaboration proposée aux équipes d’analystes métiers, de développeurs, aux responsables de l’assurance qualité et aux chefs de projet, leur apporte une meilleure compréhension du travail à accomplir. Il en résulte des logiciels qui s’alignent avec succès sur les attentes des utilisateurs et des métiers.

L’échec des projets dû à une médiocre définition des exigences peut porter atteinte à votre business. Surveillez la qualité, évitez tout travail de correction et produisez ce que les métiers attendent. Visitez le site : hp.com/go/rm

© Copyright 2011 Hewlett-Packard Development Company, L.P. Les informations contenues dans ce document sont sujettes à modification sans notification préalable. Les seules garanties relatives aux produits et services HP sont stipulées dans les déclarations de garantie expresses accompagnant ces produits et services. Aucune déclaration contenue dans ce document ne peut être interprétée comme constituant une garantie supplémentaire. HP n’est en aucun cas responsable des erreurs ou des omissions de nature technique ou rédactionnelle du présent document.

Microsoft est une marque déposée de Microsoft Corporation aux Etats-Unis.

4AA3-6360FRE, créé en septembre 2011