Un meilleur mot pour les exigences facultatives? [fermé]

12

Quel meilleur mot pour une exigence facultative en génie logiciel? La phrase est contradictoire. J'ai utilisé des «exigences non essentielles» dans des projets précédents.

Aram Kocharyan
la source
9
Je suppose qu'il veut dire que quelque chose ne peut pas être à la fois requis (comme dans «exigence») et facultatif (comme dans «non requis»)
scrwtp
2
Cela appartient vraiment à l'anglais. Et je les appellerais simplement «options».
Blrfl
13
@Blrfl Il n'appartient pas à l'anglais. Dans la langue anglaise, l'expression "exigences facultatives" est contradictoire. Cependant, il a une signification largement acceptée dans le développement de logiciels, et il existe d'autres façons de formuler ce concept dans le contexte d'un projet logiciel. Cela n'a aucun sens de l'avoir ailleurs qu'ici.
Thomas Owens
3
@ThomasOwens: Je ne suis pas d'accord. N'importe quel champ où les travaux ont des exigences pourrait rencontrer ce problème, ce qui en ferait une question de gestion de projet. C'est aussi un oxymore, ce qui en fait un bon fourrage pour l'anglais, et le premier sujet de la première FAQ dit que le choix des mots est sur le sujet. Mais convenez-vous.
Blrfl
5
«Des choses qui ne seront pas construites» est ce que cela signifie sur de nombreux projets.

Réponses:

13

Le terme "exigence hors champ" peut éventuellement être utilisé. Cela signifie que l'exigence a été capturée dans votre processus et est traçable, mais il a été déterminé que l'exigence est quelque chose qui dépasse la portée actuelle du système, pour un certain nombre de raisons, telles que le budget, le calendrier, le temps, ou faisabilité.

Cependant, l'expression "exigence facultative" est couramment utilisée pour désigner quelque chose qui est dans la portée, mais pas nécessairement requis par le système. Il s'agit d'une mesure de la priorité de l'exigence. D'après mon expérience, les exigences sont souvent classées par ordre de priorité comme obligatoires, souhaitables ou facultatives (bien qu'il existe également d'autres régimes). Pour qu'un projet soit considéré comme complet et pleinement fonctionnel, toutes les exigences obligatoires doivent être satisfaites. Si les ressources sont suffisantes, les exigences souhaitables seront ensuite mises en œuvre. Enfin, tout ce qui serait considéré comme facultatif serait inclus.

Je crois que la confusion vient du terme "exigence". Dans la langue anglaise, une exigence est "une chose qui est nécessaire" ou "une condition obligatoire, obligatoire ou nécessaire". Cependant, en génie logiciel, le terme exigence est simplement une caractéristique documentée d'un système logiciel. Le concept de facultatif et obligatoire décrit la priorité de la caractéristique documentée du système logiciel.

Thomas Owens
la source
1
Un terme connexe est «changement de cas», qui est une exigence qui est attendue à un moment donné dans le futur, mais qui n'est pas dans le champ d'application pour le moment. En capturant les cas de changement, vous pouvez essayer d'éviter de faire quelque chose dans la conception actuelle qui rend les cas de changement difficiles. En faisant cela, vous devez garder un œil sur YAGNI.
Kris C
À mon humble avis, «exigence facultative» implique facultatif au présent et exigence au futur qui pourrait également lire l'exigence potentielle facultative. Quoi qu'il en soit, je suis d'accord pour dire que le hors-champ est plus approprié dans une analyse de rentabilisation où les attentes des clients doivent être gérées.
Evan Plaice
25

Nous les appelons des fonctionnalités «agréables à avoir» par opposition aux exigences.

Crétins
la source
2
Du point de vue de l'ingénierie des exigences, les fonctionnalités «agréables à avoir» doivent toujours être capturées en tant qu'exigence (dans une spécification, en tant que user story, en tant que tests d'acceptation - mais votre processus dicte que les exigences sont capturées) et suivies tout au long de la vie de le projet.
Thomas Owens
11

Pour la documentation des exigences logicielles, le libellé des exigences facultatives est parfaitement correct, tant que vous utilisez ce terme conformément aux mots clés RFC 2119 pour indiquer les niveaux d'exigence - c'est-à-dire pour indiquer les éléments qui sont vraiment facultatifs.

Lorsque votre texte de spécification implique un verbe au lieu d'un adjectif, utilisez "MAI" au lieu de "FACULTATIF".

Puisqu'il est petit et facile à lire, le texte RFC est entièrement cité ci-dessous:

    Groupe de travail réseau S. Bradner
    Demande de commentaires: 2119 Harvard University
    BCP: 14 mars 1997
    Catégorie: Meilleures pratiques actuelles


            Mots clés à utiliser dans les RFC pour indiquer les niveaux d'exigence

    Statut de ce mémo

       Ce document spécifie les meilleures pratiques Internet actuelles pour
       Internet Community, et demande des discussions et des suggestions pour
       améliorations. La distribution de ce mémo est illimitée.

    Abstrait

       Dans de nombreux documents de suivi des normes, plusieurs mots sont utilisés pour signifier
       les exigences de la spécification. Ces mots sont souvent
       capitalisé. Ce document définit ces mots tels qu'ils devraient être
       interprété dans les documents de l'IETF. Auteurs qui suivent ces directives
       devraient incorporer cette phrase vers le début de leur document:

          Les mots clés "DOIT", "NE DOIT PAS", "OBLIGATOIRE", "DOIT", "DOIT
          PAS "," DEVRAIT "," NE DEVRAIT PAS "," RECOMMANDÉ "," MAI ", et
          "FACULTATIF" dans ce document doit être interprété comme décrit dans
          RFC 2119.

       Notez que la force de ces mots est modifiée par l'exigence
       niveau du document dans lequel ils sont utilisés.

    1. DOIT Ce mot, ou les termes "OBLIGATOIRE" ou "DOIT", signifie que le
       la définition est une exigence absolue de la spécification.

    2. NE DOIT PAS Cette phrase, ou la phrase "NE DOIT PAS", signifie que le
       la définition est une interdiction absolue de la spécification.

    3. DEVRAIT que ce mot, ou l'adjectif "RECOMMANDÉ", signifie qu'il
       peut exister des raisons valables dans des circonstances particulières d'ignorer
       particulier, mais toutes les implications doivent être comprises et
       soigneusement pesé avant de choisir un cours différent.

    4. NE DEVRAIT PAS que cette phrase ou la phrase "NON RECOMMANDÉ" signifie que
       il peut exister des raisons valables dans des circonstances particulières lorsque
       un comportement particulier est acceptable, voire utile, mais le
       les implications doivent être comprises et le cas soigneusement pesé
       avant d'implémenter tout comportement décrit avec cette étiquette.

    5. MAI Ce mot, ou l'adjectif "FACULTATIF", signifie qu'un élément est
       vraiment facultatif. Un fournisseur peut choisir d'inclure l'article car un
       marché particulier l'exige ou parce que le vendeur estime que
       il améliore le produit tandis qu'un autre fournisseur peut omettre le même article.
       Une implémentation qui n'inclut pas d'option particulière DOIT être
       prêt à interagir avec une autre mise en œuvre qui ne
       inclure l'option, mais peut-être avec des fonctionnalités réduites. dans le
       même veine une mise en œuvre qui comprend une option particulière
       DOIT être prêt à interagir avec une autre mise en œuvre qui
       n'inclut pas l'option (sauf, bien sûr, pour la fonction
       offre.)

    6. Orientation dans l'utilisation de ces impératifs

       Les impératifs du type défini dans cette note doivent être utilisés avec précaution
       et avec parcimonie. En particulier, ils NE DOIVENT être utilisés que
       effectivement nécessaire pour l'interopérabilité ou pour limiter le comportement qui a
       potentiel de causer des dommages (par exemple, limiter les retransmissions)
       par exemple, ils ne doivent pas être utilisés pour essayer d'imposer une méthode particulière
       sur les implémenteurs où la méthode n'est pas requise pour l'interopérabilité.

    7. Considérations de sécurité

       Ces termes sont fréquemment utilisés pour spécifier un comportement avec sécurité
       implications. Les effets sur la sécurité de la non-mise en œuvre d'un MUST ou
       DEVRAIT, ou faire quelque chose que la spécification dit NE DOIT PAS ou DEVRAIT
       NE PAS faire peut être très subtil. Les auteurs de documents doivent prendre le temps
       d'élaborer les implications de sécurité de ne pas suivre
       recommandations ou exigences car la plupart des exécutants n'auront pas
       ont profité de l’expérience et de la discussion qui ont produit le
       spécification.

    8. Remerciements

       Les définitions de ces termes sont un amalgame de définitions prises
       à partir d'un certain nombre de RFC. En outre, des suggestions ont été
       constituée d'un certain nombre de personnes, dont Robert Ullmann, Thomas
       Narten, Neal McBurnett et Robert Elz.

Cela ne ferait pas de mal si votre documentation se réfère à RFC comme source de définitions:

Ce document utilise des définitions basées sur celles spécifiées dans la RFC 2119 .

moucheron
la source
Je ne savais même pas que c'était un RFC. Je ne suis pas surpris que quelque chose comme cela existe, cependant, en tant que norme IEEE, norme ISO, RFC ou tout autre document publié similaire.
Thomas Owens
Ce document semble un peu trop spécifique pour être largement appliqué comme guide pour les exigences logicielles. Ce n'est pas intitulé «Mots clés pour les exigences», il est intitulé «Mots clés pour les exigences dans les RFC», et dans la Directive 6, il limite intentionnellement sa propre portée.
Robert Harvey
1
@RobertHarvey bien mon point était de répondre à l'idée de la question qu'il faut chercher un meilleur mot pour remplacer le terme professionnel établi par une sémantique bien définie et documentée uniquement parce qu'ils croient que ce n'est pas un anglais parfait. Quant à être trop précis ou non, ce serait une question très différente, vous ne pensez pas? Pour ma part, je peux imaginer de nombreux cas où je préférerais catégoriser le style MoSCoW .
moucher
@gnat, il n'a pas besoin d'un verbe. Ce message n'a pas répondu Quel est le meilleur mot pour "exigences facultatives"?
Pacerier
7

J'apprécie que ce n'est pas une réponse à votre question, mais dans mon monde, c'est toujours une exigence, même si pour une raison quelconque vous n'allez pas y répondre.

J'aime l' approche MoSCoW (doit avoir, devrait avoir, pourrait avoir, n'aura pas cette fois) pour catégoriser les exigences avec les utilisateurs, ainsi que d'autres facteurs (dans mon monde réglementé, les exigences peuvent être critiques ou non critiques, et bien d'autres argument éclate sur des exigences facultatives mais critiques.)

PaulHurleyuk
la source
4

Un meilleur mot pour une exigence facultative est « Recommandation »

Michael Durrant
la source
2

Que diriez-vous de l'identifier comme une fonctionnalité facultative ou des tâches facultatives. Cela ne sera fait que si, à un certain moment du projet, il a été déterminé qu'il y a du temps et de l'argent disponibles pour compléter ces fonctionnalités.

Ils peuvent également être déclenchés si un événement externe se produit. Si les clients passent à Windows 8, les tâches suivantes devront être effectuées ...

La description de la fonctionnalité doit inclure une date limite pour déterminer si elles seront effectuées.

mhoran_psprep
la source
1

Les exigences sont classées en 4 domaines en génie logiciel:

  1. Exigences opérationnelles : se concentre sur les buts et objectifs commerciaux globaux du système
  2. Exigences de l'utilisateur : se concentre sur les objectifs de l'utilisateur et sur ce que les utilisateurs doivent faire pour utiliser le système afin d'atteindre les objectifs de l'entreprise
  3. Exigences fonctionnelles : quelles fonctionnalités et tâches le système doit effectuer pour atteindre les objectifs commerciaux
  4. Exigences non fonctionnelles : quelles sont les exigences autres que fonctionnelles. Cela inclut l'environnement, les contraintes, l'interface, les problèmes de maintenance, etc.

Maintenant, les exigences peuvent être facultatives ou obligatoires , selon les 4 catégories ci-dessus, que j'ai décrites ci-dessus. Les exigences facultatives peuvent également entrer dans le champ d'application du système considéré ou en sortir. Les exigences facultatives sont un bon moyen d'éviter Scope Creep et de définir votre étendue en termes précis.

Les exigences facultatives feront toujours partie de l'ingénierie logicielle car elles nous aident à identifier la portée et sont un bon moyen d'éviter Scope Creep. Vous ne pouvez jamais dire qu'ils contredisent les pratiques d'ingénierie de SDLC. Cependant, les exigences doivent être hiérarchisées et bien définies.

Maxood
la source
1
La question demande un terme différent pour "exigences facultatives" et non pour une catégorisation des exigences.
yannis
1
S'il avait connu la catégorisation, il n'aurait jamais dit que les exigences facultatives sont contradictoires en génie logiciel. :)
Maxood
1
de bonnes descriptions, mais je suis encore un peu irrité par la phrase - soit quelque chose est requis, soit ce n'est pas le cas. Je pense que nous avons fait de «l'exigence» une entité distincte signifiant «le besoin formel du client» ...
Aram Kocharyan
@Maxood Hmmm? Le terme est contradictoire, pas le concept, la question discute du terme. Avez-vous une référence indiquant que le terme fait partie d'un modèle d'exigences formel (ou largement accepté)? Je sais que c'est courant, mais lancer des trucs comme "Les exigences facultatives feront toujours partie du génie logiciel" sans une seule référence n'est pas vraiment ma tasse de thé.
yannis
@ Yannis Rizos Quand j'ai dit "Les exigences optionnelles feront toujours partie de l'ingénierie logicielle", je voulais dire cela dans un contexte conceptuel. L'ingénierie consiste à trouver une solution efficace dans les limites du budget tout en équilibrant les exigences contradictoires. De plus, le demandeur ne mentionne jamais l'exigence facultative comme terme ici dans la question et moi non plus.
Maxood
1

Dans le modèle Volere, le terme "salle d'attente" est utilisé.

... Ce modèle est destiné à être utilisé comme base pour vos spécifications d'exigences. Le modèle fournit pour chacun des types d'exigences appropriés pour les systèmes commerciaux, scientifiques et logiciels d'aujourd'hui. Il fournit une liste de contrôle, une structure et une traçabilité pour vos besoins ... Le modèle est indépendant de l'outil et a été utilisé avec succès avec Yonix, Requisite, DOORS, Calibre RM, IRqA et d'autres outils populaires ...

Les techniques Volere sont décrites dans le livre Mastering the Requirements Process de Suzanne Robertson et James Robertson ...

Danny Varod
la source
0

Dans mon entreprise (vaisseau spatial), ils sont appelés «objectifs», ce qui indique qu'ils sont documentés et que des efforts seront déployés pour les atteindre, mais le système sera toujours considéré comme réussi s'il n'est pas atteint; «désirs» (pas un vrai mot, mais vous y êtes), indiquant que quelqu'un les veut et qu'ils essaient d'atteindre le statut d'objectifs mais ne sont pas encore acceptés ou documentés; ou "exigences rampantes", qui est une version plus désobligeante des exigences indiquant des choses qui essaient de consommer des ressources mais qui n'en valent pas la peine dans un projet essayant de réaliser "assez bien" où elles compromettront ou menaceront d'atteindre les exigences réelles.

Mark Adler
la source
0

Si vos besoins sont prioritaires , vous pouvez les considérer comme des besoins de faible priorité .

calum_b
la source
Je pense que "priorité zéro" pourrait être plus proche de "facultatif".
Pacerier
0

Je suis assez surpris que personne n'ait mentionné que ces objectifs sont appelés "objectifs". Chaque entreprise pour laquelle j'ai travaillé les a appelés ainsi. Ils sont dénotés par l'utilisation des mots "sera" ou "devrait" au lieu de "doit". Parfois, ils sont inclus dans les accolades lorsque l'on parle de chiffres. Par exemple, le système doit fonctionner en continu sans nécessiter l'attention de l'opérateur pendant 100 {250} heures. Cela signifie que l'exigence qui doit être satisfaite est de 100 heures, mais l'objectif est de 250 heures.

En passant, il est très rare que quiconque conçoive réellement pour répondre à l'exigence objective, à moins qu'il n'y ait une sorte d'incitation.

Tremper
la source
0

Le terme «désir» est parfois utilisé pour des exigences facultatives. Cependant, il peut ne pas être approprié pour un document officiel.

Craig Schwarze
la source
0

Je suis surpris que toutes les réponses concernent le suivi des exigences dans le développement de projet. Bien que développeur, je ne me suis jamais trop inquiété de cette terminologie dans ce contexte. Lorsque j'ai lu la question pour la première fois, j'ai supposé qu'elle concernait les spécifications des produits des utilisateurs et non le développement des produits. Par exemple, une encyclopédie peut répertorier une imprimante couleur comme exigence facultative. Son requis si vous voulez profiter pleinement de l'application, mais facultatif si vous voulez afficher l'écran. Et si vous aviez par exemple une imprimante monochrome? Comment savoir si votre application fonctionne avec la restriction évidente que certaines photos peuvent ne pas sembler si bonnes? Ou ne pas imprimer du tout? Comme un autre exemple, comment dois-je vérifier un examen de l'imprimante pour vérifier si l'encre est une exigence ou une exigence facultative dans une imprimante multifonction? En d'autres termes, puis-je toujours numériser? Quelques conseils sur la terminologie et les éléments à rechercher seraient les bienvenus en tant que développeur / vendeur de produits et en tant que consommateur.

g1cmz
la source
Uhm, alors Quel est le meilleur mot pour "exigences facultatives"?
Pacerier
0

Je les appellerais des "fonctionnalités optionnelles", pas des exigences optionnelles. Les exigences sonnent comme quelque chose que vous devez avoir , tandis que les fonctionnalités sonnent comme un complément au produit d'origine.

Billjk
la source