Quién (cliente o proveedor) debe escribir el documento de especificaciones

7

Tengo la oportunidad de trabajar en un proyecto para crear una aplicación para teléfono. Me han entregado un documento que tiene aproximadamente 60 palabras en total. También hay un par de llamadas telefónicas y mensajes SMS, pero para mí está claro que tendré que trabajar duro, solo para descubrir qué tan difícil voy a tener que trabajar.

En la industria del software, ¿se espera que el cliente proporcione especificaciones claras, o es tarea del desarrollador destilar todos los bits de llamadas telefónicas, correos electrónicos, mensajes SMS y otras cosas en un Documento de Especificaciones que será aprobado por el cliente? ?

Entiendo que debe haber cierta flexibilidad, pero ¿cuál es la expectativa que debo tener para la documentación al inicio del proyecto?

    
pregunta TecBrat 31.10.2016 - 19:00

5 respuestas

5

Es su responsabilidad recopilar suficiente información para que sea razonablemente posible escribir una aplicación que satisfaga sustancialmente las expectativas del cliente. Por lo general, eso significa volver al cliente, hacer las preguntas correctas y obtener respuestas claras.

Hay muchos recursos que le enseñarán cómo reunir especificaciones de requisitos útiles. La regla más pertinente es esta: "Cada requisito debe ir acompañado de una prueba de aceptación que, cuando se ejecuta, indica de forma clara e inequívoca si el requisito se ha cumplido". Si la prueba de aceptación no existe, no es un requisito: es una "característica" o "deseo".

El desarrollo de software tiene una larga historia de expectativas no cumplidas. Antes de comprometerse con un documento de diseño aprobado y escribir una pieza de software que el cliente dice que no es lo que pidió (esto sucede todo el tiempo), considere adoptar un enfoque iterativo. strong> Usted y su cliente se comprometen a desarrollar rápidamente una serie de prototipos; con la finalización de cada prototipo, el cliente puede proporcionar comentarios sobre las características que le gustan y las que no le gustan, lo que le permite a usted y al cliente dirigir el desarrollo hacia un resultado exitoso.

    
respondido por el Robert Harvey 31.10.2016 - 19:08
1

El proceso típico es que la compañía de desarrollo de software trabaje con el cliente para definir las especificaciones del software.

En qué medida se involucra esto, depende del modelo comercial ...

¿Está el cliente pagando un precio fijo, por una especificación fija, en cuyo caso necesita comprender y documentar completamente la especificación, y hacer que el cliente firme que esto es lo que se entregará por su dinero?

Si el cliente está pagando tiempo y materiales. Luego, trabajando de forma iterativa, la entrega de funciones incrementales con revisiones periódicas con el cliente puede funcionar bien, pero el cliente deberá participar más en la planificación semanal y ayudar a resolver los vacíos de especificaciones cuando surjan.

En mi experiencia, encontrar clientes que estén dispuestos a comisionar software sin una definición fija del producto final, y sin una idea del precio no es realista, por lo que termina dando al cliente una estimación general. Entonces recomendaría encarecidamente incluir en esta estimación una contingencia del 30-50%, de modo que el cliente tenga un presupuesto establecido para las actualizaciones de las especificaciones, los requisitos no documentados y las ejecuciones en ejecución.

Si la estimación está significativamente descartada, (toma más del doble de tiempo) es probable que el resultado final sea un ex cliente muy molesto.

¡Buena suerte!

    
respondido por el Michael Shaw 31.10.2016 - 21:55
1

Depende completamente de lo que el cliente está buscando y lo que se vendió al cliente.

En un mundo ideal, el cliente ahora exactamente y por adelantado lo que necesita. Él le proporcionaría una especificación perfecta con todos los detalles y sin ninguna ambigüedad. Pero, ¿cómo se redactarán tales especificaciones precisas?

  • ¿Tiene el cliente las habilidades analíticas para brindarle un análisis profundo y avanzado (por ejemplo, con los medios de una gran corporación)?
  • ¿Podría subcontratar el análisis a consultores independientes (por ejemplo, a veces esto sucede en la contratación pública)? ¡Luego te proporcionará esta salida (esperando que sea comprensible y no se haya olvidado nada)!
  • ¿O debería subcontratar este análisis junto con el trabajo de implementación?

Para mí, las dos primeras alternativas suenan como un modelo de cascada. Ciertamente es una opción posible. Pero si fuera el mejor enfoque, el Grupo Standish nunca habría publicado su informe de caos del proyecto . ¡Y nadie habría inventado métodos iterativos y ágiles!

El hecho de que el cliente le dé un documento relativamente corto con sus objetivos y una descripción de alto nivel tiene la siguiente ventaja:

  • Usted también tiene la libertad. Elija el mejor enfoque para refinar los requisitos (ya sea en cascada o ágil)
  • puede proponer soluciones más innovadoras de las que el cliente puede pensar (Ford solía decir: "Si hubiera escuchado a mi cliente, habría buscado caballos más rápidos" )
  • el cliente evita el riesgo de juego de ping-pong entre su analista y su implementador en caso de problemas de calidad,

Sin embargo, hay una condición para que esto funcione: el cliente debe estar listo para contribuir activamente al proyecto, ya sea para la recopilación de requisitos o para una sesión interactiva para validar los resultados iterativos del producto y confirmar las orientaciones.

    
respondido por el Christophe 31.10.2016 - 22:15
0

Las responsabilidades de las entregas se mencionan normalmente en las Declaraciones de Trabajo (SOW).

Si esto se ha dejado sin definir, recomiendo asegurarse de que se reúna un documento de requisitos que pueda utilizarse comunicación y colaboración. Además, tenga cuidado de asumir que todos los participantes del proyecto entienden o incluso han leído el documento.

    
respondido por el Jim Rush 31.10.2016 - 19:06
-1

Debe ser un proceso iterativo. Quien paga la factura recibe la última palabra, pero a menudo no saben qué preguntar. Crea un borrador y toca la base semanalmente con el progreso.

Ver desarrollo ágil

    
respondido por el dandax 01.11.2016 - 15:58

Lea otras preguntas en las etiquetas