it-swarm-es.com

¿Cuánto tiempo dedica a los documentos de diseño de su software?

Obviamente, el tamaño del proyecto en el que está trabajando será un factor enorme en el tiempo que dedique a escribir el documento/especificación de diseño. Pero, ¿lo revisa todo, seleccionando cada pequeño detalle? ¿O adopta un enfoque más ágil y comienza a escribir el software desde el principio y resuelve los problemas a medida que se le presentan?

Siempre he descubierto que solo se puede llegar hasta cierto punto con el diseño. Inevitablemente, habrá algunas cosas que se pasarán por alto y, en ese momento, lo bien que pueda adaptarse a la situación significa más que la especificación en sí.

¿Estoy adoptando el punto de vista correcto sobre esto? ¿Es realmente una opinión o una especificación de diseño perfecta es siempre la mejor ruta a seguir?

6
Harry

Depende un poco de su público objetivo, pero mi experiencia (más en el desarrollo de pequeña/mediana escala que en el trabajo a gran escala) es que los documentos de diseño detallados son arduos y aburridos de escribir, rara vez leen y tienden a terminar desactualizados momento en que se entrega un proyecto.

Esto no significa que no valgan nada: si está entregando algo para alguien, debe haber una declaración autorizada y acordada de lo que se entregará lo suficientemente detallada para que todos puedan señalarla en caso de que alguien no esté satisfecho con el trato y diga " esto es lo que prometimos "y evaluarlo contra lo que se entregó.

Sin embargo, si estuviera creando una empresa para construir un producto, no me preocuparía tanto por una especificación detallada. Me gustaría documentar qué íbamos a hacer, pero no quisiera profundizar demasiado en cómo - esa es la parte que es más probable que cambiar y dejar los documentos desactualizados e inútiles o incluso lo suficientemente inexactos como para ser realmente obstructivos. Preferiría documentar el "cómo" en código usando cualquier formato de documentación, el idioma o IDE admite mejor, de modo que a medida que el código cambia, es más fácil actualizar la documentación al mismo tiempo. No evitará que se desactualice, pero lo reducirá un poco.

Idealmente, querría un documento de diseño que pudiera funcionar como su manual cuando su código esté completo, pero no conozco a nadie que lo haya logrado con éxito.

3
glenatron

Definitivamente depende del tamaño y la estructura del proyecto.

Para proyectos de clientes, las especificaciones detalladas son imprescindibles. Me gusta involucrar mucho al cliente durante la especificación del diseño. Esto ayuda a eliminar consideraciones adicionales y le da al cliente una mejor comprensión de lo que puede esperar. Por lo general, hay un cambio de actitud positivo (hacia el tiempo y los precios) después de que se completan el descubrimiento y las especificaciones. Esto también nos permite establecer hitos y alcanzarlos, lo que es favorable para el cliente y nuestro equipo de desarrollo.

Para proyectos internos y proyectos secundarios divertidos, generalmente creo un diagrama de flujo y una lista de funciones, luego comienzo a piratearlos juntos. En estos casos, lo que encuentro más importante que una hoja de especificaciones de funciones es la interfaz de usuario real. Dibujaré el sitio en papel y crearé una interfaz de usuario simple (html/css). Esto me ayuda a pensar en la experiencia del usuario, que valoro más que las características específicas de mis propios proyectos. Siempre puedo volver atrás y reconstruir las características más tarde.

1
Maxmzd

Depende de lo que quiera decir con documentos de diseño.

Paso entre 1/3 y 1/2 de mi tiempo escribiendo diseños para el software que escribo, en un cuaderno, dibujando cosas, descubriendo algoritmos, relaciones, historias, etc.

No hago todo esto por adelantado.

No tengo un documento principal firmado y sellado con el que estoy trabajando. Lo hice en el pasado, y nunca hice ningún trabajo, porque siempre estaba esperando que alguien firmara algo. Eso fue más un problema con la burocracia de la empresa con la que estaba que con el concepto de diseñar todo desde el principio, pero sigo prefiriendo el enfoque más fluido/ágil que tengo ahora.

1
Matt Ellen