¿Mejor palabra para requisitos opcionales? [cerrado]

12

¿Cuál es una mejor palabra para un requisito opcional en ingeniería de software? La frase es contradictoria. He usado "Requisitos no básicos" en proyectos anteriores.

Aram Kocharyan
fuente
99
Supongo que quiere decir que algo no puede ser requerido (como en 'requisito') y opcional (como en 'no requerido')
scrwtp
2
Esto realmente pertenece al inglés. Y simplemente los llamaría "opciones".
Blrfl
13
@Blrfl No pertenece al inglés. En el idioma inglés, la frase "requisitos opcionales" es contradictoria. Sin embargo, tiene un significado ampliamente aceptado en el desarrollo de software, y hay formas alternativas de redactar este concepto dentro del contexto de un proyecto de software. No tiene sentido tenerlo en otro lugar que no sea aquí.
Thomas Owens
3
@ThomasOwens: No estoy de acuerdo. Cualquier campo en el que los trabajos tengan requisitos podría encontrarse con este problema, lo que lo convertiría en una cuestión de gestión de proyectos. También es un oxímoron, lo que lo convierte en un buen forraje para el inglés, y el primer tema en las primeras preguntas frecuentes dice que la elección de palabras es sobre el tema. Pero siéntase bien.
Blrfl
55
"Cosas que no se construirán" es lo que significa en muchos proyectos.

Respuestas:

13

El término "requisito fuera de alcance" posiblemente se puede utilizar. Esto significa que el requisito se ha capturado dentro de su proceso y se puede rastrear, pero se ha determinado que el requisito está más allá del alcance actual del sistema, debido a una serie de razones, como el presupuesto, el horario, el tiempo o viabilidad.

Sin embargo, la frase "requisito opcional" se usa comúnmente para denotar algo que está dentro del alcance, pero no necesariamente requerido por el sistema. Es una medida de la prioridad del requisito. En mi experiencia, los requisitos a menudo se priorizan como obligatorios, deseables u opcionales (aunque también hay otros esquemas). Para que un proyecto se considere completo y completamente funcional, se deben cumplir todos los requisitos obligatorios. Dados los recursos suficientes, los requisitos deseables serían implementados a continuación. Finalmente, se incluiría todo lo que se considere opcional.

Creo que la confusión proviene del término "requisito". En el idioma inglés, un requisito es "una cosa que se necesita" o "una condición obligatoria, obligatoria o necesaria". Sin embargo, en ingeniería de software, el término requisito es simplemente una característica documentada de un sistema de software. El concepto de opcional y obligatorio describe la prioridad de la característica documentada del sistema de software.

Thomas Owens
fuente
1
Un término relacionado es 'caso de cambio', que es un requisito que se espera en algún momento en el futuro, pero que no está dentro del alcance en este momento. Al capturar casos de cambio, puede intentar evitar hacer algo en el diseño actual que dificulte los casos de cambio. Sin embargo, al hacer esto, debes estar atento a YAGNI.
Kris C
En mi humilde opinión, 'requisito opcional' implica opcional en tiempo presente y requisito en tiempo futuro que también podría leer requisito potencial opcional. De cualquier manera, estoy de acuerdo en que fuera del alcance es más apropiado en un caso de negocios donde las expectativas del cliente deben ser gestionadas.
Evan Plaice
25

Nos referimos a ellos como características "agradables de tener" en lugar de requisitos.

Imbéciles
fuente
2
Desde una perspectiva de ingeniería de requisitos, las "características agradables de tener" aún deben ser capturadas como un requisito (en una especificación, como una historia de usuario, como pruebas de aceptación, sin embargo, su proceso dicta que los requisitos se capturen) y se rastreen a lo largo de la vida de el proyecto.
Thomas Owens
11

Para la documentación de requisitos de software, la redacción de Requisitos opcionales está perfectamente bien, siempre que utilice este término de conformidad con las palabras clave RFC 2119 para indicar los niveles de requisitos , es decir, para indicar elementos que son realmente opcionales.

Cuando el texto de su especificación implique verbo en lugar de adjetivo, use "MAYO" en lugar de "OPCIONAL".

Como es pequeño y fácil de leer, el texto RFC se cita a continuación:

    Grupo de trabajo de red S. Bradner
    Solicitud de comentarios: 2119 Harvard University
    BCP: 14 de marzo de 1997
    Categoría: Mejor práctica actual


            Palabras clave para usar en RFC para indicar niveles de requisitos

    Estado de esta nota

       Este documento especifica las mejores prácticas actuales de Internet para
       Comunidad de Internet, y solicita discusión y sugerencias para
       mejoras La distribución de este memo es ilimitada.

    Resumen

       En muchos documentos de seguimiento de estándares se usan varias palabras para significar
       Los requisitos en la especificación. Estas palabras son a menudo
       capitalizado Este documento define estas palabras como deberían ser
       interpretado en documentos IETF. Autores que siguen estas pautas
       deberían incorporar esta frase cerca del comienzo de su documento:

          Las palabras clave "DEBE", "NO DEBE", "REQUERIDO", "DEBERÁ", "DEBERÁ
          NO "," DEBE "," NO DEBE "," RECOMENDADO "," PUEDE ", y
          "OPCIONAL" en este documento debe interpretarse como se describe en
          RFC 2119.

       Tenga en cuenta que la fuerza de estas palabras se modifica por el requisito
       nivel del documento en el que se utilizan.

    1. DEBE Esta palabra, o los términos "REQUERIDO" o "DEBERÁ", significa que el
       La definición es un requisito absoluto de la especificación.

    2. NO DEBE Esta frase, o la frase "NO DEBE", significa que el
       La definición es una prohibición absoluta de la especificación.

    3. DEBE esta palabra, o el adjetivo "RECOMENDADO", significa que hay
       pueden existir razones válidas en circunstancias particulares para ignorar un
       ítem particular, pero las implicaciones completas deben ser entendidas y
       pesado cuidadosamente antes de elegir un curso diferente.

    4. NO DEBE Esta frase, o la frase "NO RECOMENDADO" significa que
       Pueden existir razones válidas en circunstancias particulares cuando el
       El comportamiento particular es aceptable o incluso útil, pero
       implicaciones deben entenderse y sopesar el caso cuidadosamente
       antes de implementar cualquier comportamiento descrito con esta etiqueta.

    5. MAYO Esta palabra, o el adjetivo "OPCIONAL", significa que un elemento es
       Realmente opcional. Un proveedor puede optar por incluir el artículo porque un
       el mercado particular lo requiere o porque el vendedor siente que
       mejora el producto mientras que otro proveedor puede omitir el mismo artículo.
       Una implementación que no incluye una opción particular DEBE ser
       preparado para interoperar con otra implementación que hace
       incluir la opción, aunque quizás con funcionalidad reducida. En el
       misma veta una implementación que incluye una opción particular
       DEBE estar preparado para interactuar con otra implementación que
       no incluye la opción (excepto, por supuesto, para la función
       la opción proporciona)

    6. Orientación en el uso de estos imperativos.

       Los imperativos del tipo definido en este memo deben usarse con cuidado
       y con moderación En particular, solo DEBEN usarse donde está
       realmente requerido para la interoperación o para limitar el comportamiento que tiene
       potencial para causar daño (por ejemplo, limitar las retransmisiones)
       ejemplo, no deben usarse para tratar de imponer un método particular
       en implementadores donde el método no es necesario para la interoperabilidad.

    7. Consideraciones de seguridad

       Estos términos se usan con frecuencia para especificar el comportamiento con seguridad
       trascendencia. Los efectos sobre la seguridad de no implementar un DEBE o
       DEBE, o hacer algo que la especificación dice NO DEBE o DEBE
       NO se puede hacer puede ser muy sutil. Los autores de documentos deben tomarse el tiempo
       para elaborar las implicaciones de seguridad de no seguir
       recomendaciones o requisitos ya que la mayoría de los implementadores no tendrán
       tuvo el beneficio de la experiencia y discusión que produjo el
       especificación.

    8. Agradecimientos

       Las definiciones de estos términos son una amalgama de definiciones tomadas
       de una serie de RFC. Además, las sugerencias han sido
       incorporado de varias personas, entre ellas Robert Ullmann, Thomas
       Narten, Neal McBurnett y Robert Elz.

No estaría de más si su documentación se refiere a RFC como fuente de definiciones:

Este documento utiliza definiciones basadas en las especificadas en RFC 2119 .

mosquito
fuente
Ni siquiera sabía que esto era un RFC. Sin embargo, no me sorprende que exista algo como esto, como un estándar IEEE, estándar ISO, RFC u otro documento similar publicado.
Thomas Owens
Este documento parece demasiado específico para ser aplicado ampliamente como pautas para los requisitos de software. No se titula "Palabras clave para requisitos", se titula "Palabras clave para requisitos en RFC", y en la Directiva 6 limita intencionalmente su propio alcance.
Robert Harvey
1
@RobertHarvey bueno, mi punto era abordar la idea de la pregunta de que uno debería buscar una mejor palabra para reemplazar el término profesional establecido con una semántica bien definida y documentada solo porque creen que no es un inglés perfecto. En cuanto a que sea demasiado específico o no, esa sería una pregunta muy diferente, ¿no crees? Por mi parte, puedo imaginar muchos casos en los que preferiría la categorización de estilo MoSCoW .
mosquito
@gnat, no necesita un verbo. Esta publicación no ha respondido ¿Cuál es una mejor palabra para "requisitos opcionales"?
Pacerier
7

Aprecio que no sea una respuesta a tu pregunta, pero en mi mundo, sigue siendo un requisito, incluso si por alguna razón no lo vas a cumplir.

Me gusta el enfoque MoSCoW (debe tener, debería tener, podría tener, no tendrá esta vez) para clasificar los requisitos con los usuarios, junto con otros factores (en mi mundo regulado, los requisitos pueden ser críticos o no críticos, y muchos se desata un argumento sobre requisitos opcionales pero críticos).

PaulHurleyuk
fuente
4

Una mejor palabra para un requisito opcional es " Recomendación "

Michael Durrant
fuente
2

¿Qué hay de identificarlo como una característica opcional o tareas opcionales? Esto solo se hará si en un momento determinado del proyecto se ha determinado que hay tiempo y dinero disponibles para completar estas funciones.

También podrían activarse si se produce un evento externo. Si los clientes cambian a Windows 8, las siguientes tareas deberán realizarse ...

La descripción de la función debe incluir una fecha límite para determinar si se realizará.

mhoran_psprep
fuente
1

Los requisitos se clasifican en 4 áreas en Ingeniería de software:

  1. Requisitos comerciales : se centra en las metas comerciales generales y los objetivos del sistema
  2. Requisitos del usuario : se enfoca en los objetivos del usuario y en lo que los usuarios deben hacer para usar el sistema para lograr los objetivos comerciales
  3. Requisitos funcionales : qué funcionalidad y tareas debe realizar el sistema para alcanzar los objetivos comerciales
  4. Requisitos no funcionales : ¿Qué requisitos existen además de los funcionales? Esto incluye entorno, restricciones, interfaz, problemas de mantenimiento, etc.

Ahora los requisitos pueden ser opcionales u obligatorios , dependiendo de las 4 categorías anteriores, que he descrito anteriormente. Los requisitos opcionales también pueden caer dentro del alcance del sistema en consideración o también fuera de su alcance. Los requisitos opcionales son buenos medios para evitar Scope Creep y definir su alcance en términos precisos.

Los requisitos opcionales siempre serán parte de la ingeniería de software, ya que nos ayudan a identificar el alcance y son un buen medio para evitar el alcance del alcance. Nunca se puede decir que contradicen las prácticas de ingeniería de SDLC. Sin embargo, los requisitos tienen prioridad y están bien definidos.

Maxood
fuente
1
La pregunta pide un término diferente para "requisitos opcionales", no para una categorización de requisitos.
Yannis
1
Si supiera la categorización, nunca habría dicho que los Requisitos opcionales son contradictorios en Ingeniería de software. :)
Maxood
1
buenas descripciones, pero todavía estoy un poco molesto por la frase, o se requiere algo o no. Creo que hemos hecho "requisito" en una entidad separada que significa "necesidad formal del cliente" ...
Aram Kocharyan
@Maxood Hmmm? El término es contradictorio, no el concepto, la pregunta discute el término. ¿Tiene alguna referencia de que el término es parte de algún modelo de requisitos formales (o ampliamente aceptados)? Sé que es común, pero lanzar cosas como "Requisitos opcionales siempre serán parte de la Ingeniería de software" sin una sola referencia no es realmente mi taza de té.
Yannis
@ Yannis Rizos Cuando dije "Los requisitos opcionales siempre serán parte de la ingeniería de software", lo dije en un contexto conceptual. Como la ingeniería se trata de encontrar una solución efectiva dentro del presupuesto mientras se equilibran los requisitos en conflicto. Además, el autor de la pregunta nunca menciona el Requisito Opcional como un término aquí en la pregunta y yo tampoco.
Maxood
1

En la plantilla Volere se usa el término "sala de espera".

... Esta plantilla está diseñada para usarse como base para sus especificaciones de requisitos. La plantilla proporciona cada uno de los tipos de requisitos apropiados para los sistemas comerciales, científicos y de software actuales. Proporciona una lista de verificación, estructura y trazabilidad para sus requisitos ... La plantilla es independiente de la herramienta y se ha utilizado con éxito con Yonix, Requisite, DOORS, Calibre RM, IRqA y otras herramientas populares ...

Las técnicas Volere se describen en el libro Dominando el proceso de requisitos de Suzanne Robertson y James Robertson ...

Danny Varod
fuente
0

En mi negocio (nave espacial), se denominan "objetivos", lo que indica que están documentados y se hará un esfuerzo para cumplirlos, pero el sistema aún se considerará exitoso si no se cumplen; "deseos" (no es una palabra real, pero ahí está), lo que indica que alguien los quiere y están tratando de alcanzar el estado de objetivos pero aún no son aceptados o documentados; o "requisitos progresivos", que es una versión más despectiva de los deseos que indican cosas que están tratando de tomar recursos pero que no valen la pena en un proyecto que trata de lograr "lo suficientemente bueno" donde comprometerán o amenazarán con alcanzar los requisitos reales.

Mark Adler
fuente
0

Si sus requisitos tienen prioridad , puede considerarlos requisitos de baja prioridad .

calum_b
fuente
Creo que "prioridad cero" podría estar más cerca de "opcional".
Pacerier
0

Estoy bastante sorprendido de que nadie haya mencionado que esos se llaman "objetivos". Todas las empresas para las que he trabajado los han llamado así. Se denotan mediante el uso de las palabras "will" o "should" en lugar de "should". A veces se incluyen en llaves cuando se habla de números. por ejemplo, el sistema funcionará continuamente sin necesidad de atención del operador durante 100 {250} horas. Lo que significa que el requisito que debe cumplirse es de 100 horas, pero el objetivo es de 250 horas.

Como nota al margen, rara vez alguien realmente diseña para cumplir con el requisito objetivo, a menos que haya algún tipo de incentivo involucrado.

Remojar
fuente
0

El término "Deseo" a veces se usa para requisitos opcionales. Sin embargo, puede no ser apropiado para un documento formal.

Craig Schwarze
fuente
0

Me sorprende que todas las respuestas estén relacionadas con los requisitos de seguimiento en el desarrollo de proyectos. A pesar de ser un desarrollador, nunca me he preocupado demasiado por esta terminología en ese contexto. Cuando leí la pregunta por primera vez, supuse que estaba relacionada con la especificación del producto del usuario, no con el desarrollo del producto. Por ejemplo, una enciclopedia puede enumerar una impresora a color como un requisito opcional. Es obligatorio si desea aprovechar al máximo la aplicación, pero opcional si desea ver la pantalla. Pero, ¿y si tuviera, por ejemplo, una impresora monocroma? ¿Cómo aclarar si su aplicación funciona con la restricción obvia de que algunas fotos podrían no verse tan bien? ¿O no imprimiré nada? Como otro ejemplo, ¿Cómo debo verificar la revisión de una impresora para verificar si la tinta es un requisito o un requisito opcional en una impresora multifunción? En otras palabras, ¿puedo seguir escaneando? Algunos consejos sobre terminología y qué buscar serían bienvenidos tanto como desarrollador / vendedor de productos como como consumidor.

g1cmz
fuente
Uhm, entonces ¿Cuál es una mejor palabra para "requisitos opcionales"?
Pacerier
0

Los llamaría "características opcionales", no requisitos opcionales. Los requisitos suenan como algo que debe tener , mientras que las características suenan como un complemento del producto original.

Billjk
fuente