Steve Jobs creía que los clientes no pueden describir exactamente cómo quieren que sean los productos futuros, por lo que es su trabajo entregarlos. Entonces, a menos que entregue software personalizado todo el tiempo, olvide las especificaciones formales y comience por crear prototipos y dejar que los clientes jueguen con ellos y le digan lo que piensan. Tienes que poner a la persona adecuada haciendo los prototipos, y ellos necesitan ayuda. Digo esto por experiencia: soy el mono de los prototipos que ama crear interfaces intuitivas y me asocié con alguien en el producto que entiende lo que los clientes quieren y puede explicar las cosas en papel o utilizando Excel.
Ninguno de los dos somos genios, pero pensamos igual: casi se puede decir que tenemos química y hemos tenido un gran impacto en qué cosas se están construyendo y cómo. Ahora, solo un equipo mediano a grande puede permitirse tener un prototipista y un no programador que desarrolle el producto exclusivamente, pero vale la pena. La creación de prototipos es la etapa más barata en el desarrollo de software, por lo que solo tiene sentido obtener la interfaz de usuario y el comportamiento aparente. No he leído el Código completo, pero creo que hay algo así escrito en ese libro.
Es bueno tener especificaciones, pero nunca son perfectas. Existe un teorema sobre eso. No puede probar que la especificación está completa y no puede probar que la herramienta no tiene errores o que se detendrá :)
Sin embargo, las compañías de software envían software todo el tiempo a pesar de estas imperfecciones en el proceso. La especificación nunca será perfecta. La especificación también es DESNATURAL y desactualizada. Una especificación para un prototipo es como la tabla de logaritmos para un solo gráfico: una especificación es esencialmente un folleto aburrido destinado a ser impreso, mientras que en su lugar podría interactuar con una herramienta / gráfico. Echa un vistazo a enlace para inspirarte.
Ahora, la especificación es buena si debes tener un contrato para cubrir tu trasero. Pero una especificación todavía debe venir después de un prototipo, no antes. Es tu trabajo descubrir cómo hacer que los prototipos sean baratos.