linkedin

Si vous deviez décrire l’une des applications ou l’un des logiciels que vous utilisez tous les jours, vous décririez probablement ce que nous appelons les “exigences fonctionnelles” Il s’agit de ce qu’un produit doit faire. Nous associons l’utilisation des choses à leur utilité et à leur capacité à faire des choses. Cependant, il existe une myriade d’autres aspects des produits sur lesquels nous comptons et qui ne sont pas spécifiquement liés à la fonctionnalité. Il s’agit des exigences non fonctionnelles.

Les exigences fonctionnelles définissent ce qu’un produit doit faire et quelles sont ses caractéristiques et ses fonctions. Les exigences non fonctionnelles (NFR) décrivent les propriétés générales d’un système qui contraignent et façonnent sa structure. Dans cet article, nous examinerons de plus près les exigences non fonctionnelles, leur rôle et leur importance, et nous vous fournirons une liste de contrôle des exigences non fonctionnelles.

Qu’est-ce que les exigences non fonctionnelles (NFR) ?

Les exigences non fonctionnelles comprennent toutes les propriétés normalisées et fondamentales d’un système. Elles concernent la disponibilité, la facilité d’utilisation, les performances, la sécurité, l’évolutivité, la portabilité et l’accessibilité. Même si vous n’avez peut-être pas pensé à ces aspects lorsque vous utilisez un produit, les gens ont des préférences et des besoins innés en ce qui concerne leur expérience d’utilisateur. Les NFR garantissent que ces besoins sont satisfaits au bon moment et au bon endroit.

En d’autres termes, alors que les exigences fonctionnelles représentent les capacités du système à offrir des solutions utiles aux utilisateurs, les NFR sont les opérations critiques qui les soutiennent.

non-functional-requirements

Pourquoi les NFRS sont-elles importantes ?

Les NFRS sont tout aussi importantes que les exigences fonctionnelles, mais de manière à donner une forme au système plutôt qu’une substance.

Par exemple, un site web peut avoir une apparence et une convivialité extraordinaires, mais s’il est disponible par intermittence, il ne peut servir à personne. De même, tout peut sembler excellent et fonctionner de manière transparente, mais si le système n’est pas sécurisé, les utilisateurs risquent constamment d’être exposés, ce qui est désastreux pour toute entreprise qui tente d’établir la fidélité à sa marque et de se forger une réputation positive.

Une autre raison pour laquelle les NFR sont importantes est que, souvent, elles ne sont pas considérées comme telles. Elles sont constamment négligées, sous-déclarées et sous-estimées, au détriment du projet dans son ensemble. S’ils sont négligés, le projet risque d’échouer ou de faire l’objet d’un remaniement coûteux lorsqu’ils se heurtent à un certain nombre de limitations qui ne sont pas définies dans le système.

S’ils sont sous-déclarés, ils sont souvent mis en œuvre de manière incorrecte, ce qui entraîne une série d’autres problèmes immédiats et ultérieurs. S’ils sont sous-estimés, le projet court le risque de dépasser le budget, ce qui affecte négativement les marges bénéficiaires du produit

Parce qu’elles sont essentielles à la réussite d’un projet, les développeurs et les concepteurs auront tout intérêt à consulter notre liste de contrôle des exigences non fonctionnelles.

Liste de contrôle des exigences non fonctionnelles

Cette liste de contrôle des exigences non fonctionnelles guide l’utilisateur à travers toutes les typologies à prendre en compte lors de l’élaboration de ses exigences non fonctionnelles. Gardez à l’esprit qu’il ne s’agit en aucun cas d’une liste exhaustive, mais plutôt d’un guide pour ceux qui commencent à explorer les NFR.

non-functional-requirements-checklist

Typologies de base à prendre en considération

1. Performance (efficacité)

La vitesse à laquelle un système exécute certaines tâches est essentielle pour que l’expérience de l’utilisateur soit enrichissante. Si les utilisateurs doivent attendre que les pages se chargent ou que les données soient mises à jour, leur flux de travail peut s’en trouver perturbé. Bien que cela relève principalement de la responsabilité de l’architecte de solutions du projet, certaines parties d’un système auront des attentes en matière de performances qui devront être satisfaites en fonction des besoins du client.

2. Sécurité

L’une des principales préoccupations de tout système est de savoir s’il est capable de bloquer les accès non autorisés ou les modifications de comportement tout en conservant sa facilité d’utilisation. Tout, des délais de session aux contraintes de mot de passe, doit être pris en compte pour tous les rôles et toutes les autorisations. Encore une fois, cette question relève principalement de la compétence des architectes du projet, mais les analystes commerciaux doivent assurer la coordination entre l’équipe de développement et le propriétaire du produit afin que tout le monde soit sur la même longueur d’onde.

3. Évolutivité/maintenabilité

L’évolutivité ne concerne pas seulement la taille d’un système, mais aussi sa capacité à s’adapter à la croissance et au changement à l’avenir, souvent dans des circonstances différentes. Ces considérations doivent être prises en compte dans l’architecture et la conception dès le début. Les échelles peuvent également se référer à l’augmentation de l’audience ou de la charge de traitement.

4. L’accessibilité

La technologie nous relie, et certaines personnes ont des capacités différentes qui affectent leurs pratiques d’utilisation. C’est pourquoi les NFR visant à faciliter l’accès à un éventail de personnes aussi large que possible sont extrêmement importantes. Les normes d’accessibilité de la loi américaine sur les personnes handicapées (Americans with Disabilities Act Standards for Accessible Design) définissent des lignes directrices spécifiques pour parvenir à l’accessibilité.

Là encore, ces exigences doivent être prises en compte dès le début des projets afin d’éviter d’avoir à refaire le travail en cours de route. Il s’agit d’un domaine privilégié pour l’automatisation, car les normes sont publiées de manière cyclique et largement diffusées.

5. Localisation/mondialisation

La localisation est une autre NFR qu’il est essentiel de définir dès le départ, surtout si votre produit est destiné à être utilisé à l’échelle internationale. Essentiellement, ces exigences visent à faciliter l’utilisation dans différents contextes culturels, linguistiques et géographiques. Il s’agit notamment de langues et de dialectes, de sensibilités culturelles ou de formats de date et d’heure.

Même un élément aussi spécifique que les fuseaux horaires peut s’avérer désastreux s’il n’est pas formaté correctement. En outre, les transactions financières étant de plus en plus numérisées, les exigences en matière de devises et de change sont devenues essentielles pour une utilisation réussie des produits dans n’importe quel endroit.

6. Portabilité (compatibilité)

Notre monde est rempli d’appareils et il est essentiel que vous déterminiez quels appareils vos utilisateurs finaux peuvent utiliser pour accéder à vos produits et services. Quel type de matériel ? Les appareils mobiles seront-ils inclus ? Combien de résolutions prendrez-vous en charge ? Combien de navigateurs ? Toutes ces questions devront être posées et trouver une réponse avant le début du développement.

7. Facilité d’utilisation

La majorité des logiciels utilisés aujourd’hui le sont par des personnes qui ne les ont pas conçus. Un back-end bien codé ne vaut que ce que valent la conception du front-end et l’expérience de l’utilisateur. Le concept de convivialité comprend l’intégration de considérations relatives aux personas d’utilisateurs et au(x) public(s) cible(s) général(aux) dans la conception et les comportements du système.

8. Conformité

Plus nos vies se déroulent en ligne ou sont liées à la technologie, plus les lois et les règlements influent sur la manière dont notre technologie est produite et doit se comporter. Il y a bien sûr plusieurs niveaux, du local à l’étatique, en passant par le national et l’international. Votre engagement dépend, pour l’essentiel, de votre public cible. Toutefois, certaines choses, comme la conformité à la loi HIPAA, sont requises pour certains marchés.

La raison pour laquelle la conformité doit être envisagée dès le début est qu’elle s’accompagne souvent d’exigences en matière de données et de rapports qui doivent être intégrées dès le départ.

9. Disponibilité / Fiabilité

Plus important encore pour les produits basés sur le web, la disponibilité fait référence au temps pendant lequel le système est actif entre les travaux de maintenance ou les pannes. Pour quantifier cette caractéristique, les analystes utilisent des points de données tels que la moyenne du temps écoulé entre les défaillances du système. Cela nous donne une idée des performances du système, que nous pouvons utiliser pour établir des critères de référence.

Documenter les NFR

Comprendre les types et les identités des NFR est une compétence essentielle car les clients ne comprennent ou n’apprécient souvent pas leur complexité et leur importance. En outre, comme il s’agit de qualités et de contraintes persistantes qui structurent un système, leurs effets doivent être organisés de manière à permettre l’intégrité référentielle tout au long de la durée de vie du projet. Nous vous recommandons de conserver cette liste de contrôle des exigences non fonctionnelles à portée de main, afin de pouvoir vous y référer à l’avenir.

Une bonne façon d’envisager les exigences non fonctionnelles et leur documentation consiste à s’assurer que chacune d’entre elles présente les qualités suivantes. Elles doivent être délimitées, c’est-à-dire contraintes par une limite quantifiée. Comment l’exigence est-elle mesurée et quel est l’objectif ou le plafond ?

Elles doivent être indépendantes, c’est-à-dire qu’elles doivent avoir leur propre ensemble de critères d’évaluation. Parce qu’elles sont des caractéristiques intrinsèques du système et qu’elles affecteront la totalité ou la majeure partie du travail qui sera effectué, elles doivent être négociables. Enfin, elles doivent pouvoir être testées et, à terme, toutes les NFR feront l’objet de scripts de test détaillés.

nfr-qualities

Mise en œuvre des NFR

L’un des principaux défis des NFR est que, contrairement aux exigences fonctionnelles, elles affectent le travail tout au long du calendrier du projet et parfois tout au long de son cycle de vie. La mise en œuvre de la NFR doit être envisagée selon deux voies distinctes.

Si la NFR exige une mise en œuvre accessoire, telle que des changements de conformité, votre équipe doit organiser le travail pour la date limite. D’autres exigences nécessitent des changements au fil du temps et des améliorations peuvent être apportées en cours de route. Dans tous les cas, la considération la plus importante est la manière dont les exigences interagissent avec les différentes parties du système, affectent son comportement et influent sur son développement et sa maintenance au fil du temps.

Vous avez des questions sur les exigences non fonctionnelles ou sur notre liste de contrôle des exigences non fonctionnelles ? Contactez-nous ici.

Besoin d'aide ?

Vous pensez qu'il est peut-être temps d'apporter une aide supplémentaire ?

Door3.com