Pregunta

Necesito algunos consejos sobre cómo resolver ambigüedades dentro de las especificaciones de la aplicación. Como un simple ejemplo,

  

Cuando un usuario no puede autenticarse después de varias veces, envíe una notificación a TI.

En el ejemplo anterior, no está claro cuántas veces " varias veces " es. No está claro y no puedo simplemente establecer un límite aleatorio como 1000 veces.

¿Cómo resolvería porciones poco claras en alguna especificación? (no solo el que mencioné)

Y también, ¿qué tipo de temas debo buscar en Google o en libros para este tipo de situaciones? ¿Ingeniería de software? ¿Desarrollo ágil? No estoy seguro de por dónde empezar.

Cualquier conocimiento y consejos útiles serán muy apreciados.

¿Fue útil?

Solución

Si realiza un seguimiento de sus requisitos de manera formal, puede hacer sus suposiciones y documentarlas como requisitos derivados:

Ejemplo:

Requisito del usuario:

Requisito 1: cuando un usuario no puede autenticarse después de varias veces, envíe una notificación a TI.

Requisitos derivados:

Req 1.1 Cuando un usuario no puede autenticarse después de tres (3) intentos, el sistema suspenderá la cuenta y enviará un correo electrónico al servicio de soporte de TI.

Req 1.1.1 El correo electrónico de suspensión de cuenta especificará lo siguiente:

  • El nombre de la cuenta del usuario.
  • La dirección IP de la computadora desde la cual se realizaron los intentos de autenticación.

Haga que el cliente o la parte interesada si el cliente no está disponible, revise y apruebe los requisitos derivados.

Para más información, Google " gestión de requisitos " o "ingeniería de requisitos". El sector de la industria de defensa está cargado con ejemplos y plantillas, quizás demasiados;)

Algunos que he marcado como favorito:

Otros consejos

Responda al cliente con preguntas exactas que pueda tener. Esa es la mejor opción, si está disponible. Si no es así, hágalo configurable por el usuario final (cliente).

Comuníquese con (preferiblemente en ese orden):

  • Analistas de negocios
  • Cliente (persona (s) que paga por el producto final)
  • Usuarios finales

Construye o crea un prototipo, luego muéstralo a las personas que escribieron la especificación.

las ambigüedades son mucho más fáciles de aclarar al hablar sobre lo real, en lugar de un trozo de papel que dice cómo funcionará la cosa.

Estás pensando demasiado en esto.

  1. El valor 'número de veces' se puede poner fácilmente en web.config
  2. Ajústelo a su valor apropiado asumido. (no te preocupes por estar equivocado)
  3. Envíe un correo electrónico a su gerente con su suposición, y cómo pueden cambiarla si su suposición es incorrecta.

La parte de notificación de la especificación se puede suponer si cualquier otra notificación de aplicación es un correo electrónico (que no es poco realista). De lo contrario, pregunte antes de hacer nada.

No estoy en contra de pedir una aclaración, por supuesto. Pero, he descubierto que si se puede hacer una suposición con poco o ningún inconveniente , es mejor hacerlo. Después de todo, te contrataron para resolver problemas y no traerlos más. ;-)

Y curiosamente; Probablemente encontrará que la mayoría de sus suposiciones serán correctas de todos modos.

A partir de ese ejemplo, volvería al cliente y les preguntaría si quieren el " número de veces " ser configurable También puede conducir a preguntas como:

1) Quién mantendrá el número de veces configurado. 2) ¿Necesitarán una interfaz de usuario para ver estas configuraciones y cambiarlas?

Adoptar un proceso de desarrollo más ágil también ayudará. Por ejemplo, mostrarles un ejemplo que permita tres oportunidades para iniciar sesión demostrará la funcionalidad y tal vez les pida que le digan el número.

La importancia de aclarar los requisitos cambia cuando la respuesta a la pregunta afectará el tiempo, la complejidad y el costo del proyecto.

Hay algunas rutas diferentes que tomaría en las ambigüedades dependiendo de quién esté disponible:

1) Gerente de Proyecto / Analista de Negocios - > Es probable que estos sean los más cercanos al proyecto que puedan ayudar a resolver problemas con las especificaciones rápidamente. Esto puede implicar preguntarle a otros y responderle más tarde, pero eso debería ser aceptable.

2) Analista / Oficial Especialista - > Por ejemplo, en el caso de que mencione dónde hay implicaciones de seguridad, si hay un oficial de seguridad que puede tener una política que cumplir y debe estar en discusión. Otro ejemplo podría ser tener un analista de red para mirar la arquitectura desde una perspectiva de hardware que puede ser útil en algunos casos.

3) Propietario del producto - > Quién es responsable de definir la aplicación. Tenga en cuenta que esta no es una persona técnica, por lo que ser específico y tener recomendaciones puede ser útil si golpea un "Sabes, no pensé en eso ..." respuesta.

4) Gerente de grupo / Líder de equipo - > Si todo lo demás falla, vaya al jefe y solicite una aclaración.

" Recopilación de requisitos " o "Análisis de requisitos" son términos comunes para esta parte del " Ciclo de vida del desarrollo de software " o "Ciclo de vida de desarrollo de sistemas" para arrojar algunos términos más que podría buscar y encontrar muchos artículos.

La mejor manera es redactar breves Historias alternativas de usuarios (casos de uso) que describan cómo las diferentes opciones afectarían al usuario y pedirle al cliente que elija cuál (es) necesita (n) ser compatible (s).

A menudo, una ambigüedad en la especificación refleja la ambigüedad en la mente del cliente: simplemente no se han dado cuenta todavía, por lo que este enfoque les ayuda a los dos. (Use notas escritas, nada técnico, para describir las cosas en sus términos).

Si la especificación no es exacta, ¿tal vez simplemente no importa? ¿No es crucial para que algo más funcione? Haga una llamada, deje que sea sea 1000. Asegúrese de que no esté codificada. Una buena idea es ponerlo en algún archivo de configuración (pero no exponerlo a la interfaz de usuario final, porque el usuario generalmente tiene incluso menos idea que usted).

Si es una cuestión de interoperabilidad, ¿qué hacen los demás? ¿Es it 200 en Windows? Que sea 200. Ahora coincide con Windows y especificaciones & nbsp; & # 8212; & nbsp; no está mal :-)

En caso de que descubra que su llamada fue incorrecta y es debería haber sido 1500, al menos puede decirles a sus usuarios cómo solucionarla sin reinstalar su software.

Bueno, en Enterprise Enterprise esto significa que sigue las Políticas Corporativas Generales.

De hecho, cuando escribo especificaciones yo mismo, no me molesto con estas especificaciones generales, solo digo que consulte las políticas y vaya directamente al núcleo de los Requisitos comerciales específicos.

Para eso puede hacer un grupo focal, o puede comunicarse con el cliente / parte interesada adecuada.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top