Estoy en I + D trabajando en un nuevo producto de software.
Comprensiblemente, la administración se enfoca en las características principales que obviamente le dan una ventaja al cliente. Pero hay muchos requisitos que también pueden considerarse importantes (por ejemplo , rendimiento, extensibilidad futura, trazabilidad de datos, seguridad, interfaz de usuario fluida ). Estos requisitos implícitos son probablemente los más grandes en número de cualquier producto, y si no se cumplen pueden dar lugar a un cliente insatisfecho.
Me temo que de alguna manera se espera que durante el desarrollo estas cosas se implementen automáticamente. Sin embargo, para mí, todo es un aspecto atómico que requiere atención y esfuerzo de desarrollo.
Tengo la sensación de que la gerencia puede estar demasiado ocupada para prestar demasiada atención a tales aspectos. Por mi propio orgullo de desarrollador, control de calidad y poder dar cuenta del esfuerzo que gasto, ¿ cuándo y cómo debo documentar y comunicar los requisitos implícitos?
(es decir, características que existen en un producto, pero que no se han mencionado explícitamente ni con el cliente ni con la administración)
Aclaración
Gracias por el interés en la pregunta, la esencia de las respuestas hasta ahora parece ser:
"Debe hacer explícitos los requisitos implícitos".
Ratas ... eso no se me ocurrió.
Los requisitos que quiero decir pueden ser de los siguientes tipos:
- El cliente no puede escuchar sobre estos requisitos, porque presentaré una larga lista de formas en que el producto puede fallar, en lugar de hablar sobre cómo los hará felices.
- La gerencia ocupada siente que estoy perdiendo su tiempo, cuando hablo de características "obvias".
- Solo podré describir algunos de estos requisitos durante la implementación. Durante la planificación, puedo tener la sensación de que un problema en particular puede requerir un esfuerzo centrado durante el desarrollo.
- No estoy a la altura necesaria en el tótem de la compañía para dictar mis condiciones de trabajo.
Estoy pidiendo pautas sobre cómo semi-formalizar los requisitos [implícitos], mientras hago menos esfuerzo que los requisitos completos, pero me mantengo preparado para el día del juicio, para que no me atrapen con las manos vacías.
fuente
Respuestas:
Hacer explícitos los requisitos implícitos es la respuesta correcta.
Sobre sus restricciones de seguimiento:
Imagina que eres arquitecto, diseñas edificios para grandes empresas.
Big Co. Inc. le pide que construya un rascacielos para ellos en la orilla. Tiene que tener una piscina en el techo y otra piscina en el décimo piso. Tiene que tener un jardín de pared que cubra la pared exterior desde el piso 15 hasta el 17.
Estos son los requisitos del cliente. ¿Dudaría en agregar a la lista de requisitos los requisitos para que el edificio soporte su propio peso más dos piscinas llenas de agua y un jardín de pared hughe?
¿Dudaría en agregar que debe tener plomería, cableado eléctrico y un sistema para llenar la piscina con agua y mantenerla limpia?
Usted es el arquitecto, sabe lo que es necesario para un edificio, eso es lo que le están pagando.
Sabes que un edificio con más de tres pisos necesitará un ascensor, no necesitas que nadie te lo diga.
Entonces el ascensor es obvio. Tan obvio como es, todavía tiene un impacto en el costo general, la fuerza laboral general requerida, la ETA para el proyecto y probablemente otros aspectos.
Aquí es donde se rompe la analogía del arquitecto, principalmente debido a la naturaleza fluida de TI. Mi único consejo aquí es que puede beneficiarse de un proceso iterativo que le permite planificar lo no planificado. Ágil parece bastante popular.
Su empresa debe tener a alguien responsable de asegurarse de que la lista de requisitos esté completa.
fuente
Define todo. El único potencial negativo para hacerlo es que puede recuperar algo quejándose de que sienten que estás diciendo lo obvio.
Indique lo obvio entonces.
Esta es la clave: cualquier cosa que no defina puede volver a su cara con "nunca nos dijo ..."
Cualquier cosa que no esté definida puede explotar en tu cara. "Más vale prevenir que curar" son excelentes palabras para vivir.
fuente
El término de la industria para los requisitos que usted describe se llama:
Requerimientos no funcionales
En todos los aspectos, deben identificarse mediante recursos técnicos y agregarse al plan del proyecto como unidades atómicas de trabajo. Si está haciendo un proyecto ágil, se escribirán en forma de historia de usuario y se agregarán a la cartera de pedidos a tratar. Como recurso técnico, debe abogar por el tiempo necesario para trabajar en ellos y asegurarse de que tengan la prioridad adecuada durante su sesión de planificación de sprint o de proyecto con la empresa. Además, el control de calidad también debe diseñar un plan de prueba apropiado para estas unidades de trabajo.
fuente
Como sucede, tuvimos algunos de esos requisitos implícitos que nos mordieron porque no estaban definidos y, por lo tanto, el control de calidad no los probó y los errores se pusieron en producción y no se encontraron durante algún tiempo, lo que causó no solo la molestia de explicar a los clientes el problema y por qué no se encontró antes, sino un problema legal real para nuestra empresa. (Era un informe que trataba sobre información que tenía que ser reportada al gobierno).
Si es lo suficientemente importante como para hacerlo, debe ser probado y, por lo tanto, debe ser parte de los requisitos.
fuente
Los requisitos pueden provenir de cualquier fuente, siempre que se puedan rastrear hasta su origen y no entren en conflicto entre sí. Los clientes pueden proporcionar sus requisitos, pero los requisitos también provienen de leyes y reglamentos, estándares de la industria, necesidades comerciales e incluso experiencias previas aprendidas al entregar productos similares a otros clientes.
Cada uno de estos requisitos debe capturarse en cualquier método que utilice para capturar los requisitos para que no se olvide. Hacer esto también les permitirá compararlos para garantizar que un requisito adicional no esté realmente en conflicto con un requisito del cliente o un requisito del cliente no esté en conflicto con las regulaciones, por ejemplo.
Debería capturar estos requisitos y administrarlos desde el inicio del proyecto y transmitirlos al personal que está diseñando, implementando y probando el software. Hacer esto asegurará que todos entiendan completamente lo que se supone que es el software entregado.
Sin embargo, cuando agrega uno de estos requisitos, debe verificarlo con las partes interesadas apropiadas. No puede simplemente agregar requisitos sin asegurarse de que aún puede entregar el software dentro del cronograma y presupuesto previstos.
fuente
Esto es cuando entra en juego un equipo diverso que tiene personas que se especializan en diferentes áreas. También requiere más sr. personas en el equipo para liderar el resto.
Por ejemplo, el rendimiento, la extensibilidad futura y la trazabilidad de los datos deberían ser cosas que se piensan desde el principio. No son una casilla de verificación que puede volver atrás y agregar más tarde, deben estar en la base de su diseño.
En cuanto a la seguridad, esto es cuando tener a alguien que esté familiarizado con esta área esté en su equipo desde el principio para ayudarlo con el proceso de diseño.
El diseño de la interfaz de usuario tiene la tendencia a morder un producto si no se hace correctamente. Tener una persona UX en el equipo haciendo maquetas y flujos de pantalla para el equipo es donde entra en juego. Pero, de nuevo, esto es algo que debe hacerse por adelantado.
Sus requisitos pueden ser un sitio web que permita a los usuarios consultar el inventario actual de una tienda local. La forma en que diseñas ese sistema es donde esos requisitos implícitos entran en juego.
Desde el punto de vista de la gestión de proyectos, esto significa que debe haber un tiempo de diseño en el presupuesto, así como un tiempo de prueba adecuado. También debe haber registros con el cliente para mostrarle lo que se ha hecho para asegurarse de que está en el camino correcto.
fuente
Cualquier requisito implícito que termine causando trabajo para el equipo debe hacerse explícito.
Si no, terminarán tampoco
Entonces, al hacer explícitos los requisitos implícitos, te ahorras muchos dolores de cabeza.
fuente