Soy responsable de encontrar una buena manera de documentar el proyecto de software en el que estoy trabajando.¿Cuáles son las formas buenas y malas de documentar un proyecto de software?
¿Qué elementos son importantes para documentar? ¿La documentación del código y el diseño debe estar principalmente en el código en forma de comentarios? ¿Deberíamos poner archivos de texto o documentos de Word directamente en el control de origen junto con el código? ¿Deberíamos usar una wiki?
Los factores a considerar incluyen qué tan fácil es para el equipo actual crear la documentación, y qué tan fácil es para otros desarrolladores encontrar, corregir y extender la documentación más adelante. Mi experiencia en muchos proyectos es que los desarrolladores tienden a no escribir documentación porque el sistema para escribirlo es demasiado complejo o desagradable para el desarrollador, y que después de algunos años, los nuevos desarrolladores difícilmente pueden encontrar la poca documentación que se escribió.
Me interesan los enfoques que ha utilizado en proyectos similares. ¿Qué funcionó bien, qué no funcionó bien y por qué?
Algunos datos clave sobre el proyecto:
- La plataforma es C# y .NET.
- Usamos Visual Studio y Team Foundation Server para el control de código fuente y la gestión de elementos de trabajo (tareas).
- Utilizamos Scrum y el desarrollo basado en pruebas y estamos inspirados en el diseño impulsado por el dominio.
- El software consiste en una colección de servicios web y dos clientes GUI.
- Otros clientes se van a integrar con los servicios web en el futuro. La integración será realizada por otros desarrolladores en otros equipos (por lo que los servicios web forman un tipo de API).
- SharePoint es muy utilizado en todo el entorno de desarrollo. La mayoría de los proyectos tienen un sitio de SharePoint, incluido el nuestro.
- En el sitio de SharePoint de nuestro proyecto, actualmente tenemos muchos documentos de MS Office sobre requisitos, diseño, presentaciones para partes interesadas, etc. Mantener todo actualizado es difícil.
- También tenemos una wiki de SharePoint para el equipo de desarrollo solamente, donde documentamos las cosas de manera no estructurada a medida que avanzamos. Los ejemplos incluyen cómo se organizan nuestros scripts de construcción, nuestra política de prueba, pautas de codificación.
- El software es una aplicación interna en una institución financiera bastante grande.
- El software está desarrollado por un equipo de seis personas durante un período de ~ 1 año.
- Los desarrolladores son consultores contratados solo para este proyecto, y no estarán disponibles para ayudar en el futuro (a menos que el cliente decida pagar por ello).
- El cliente tiene pocas pautas sobre cómo este tipo de proyecto debe documentarse.
Examine estas preguntas: http://stackoverflow.com/questions/tagged/documentation. ¿Cuál de estos se aplica a su situación? ¿En qué se diferencia tu situación de estos? Duplicado de http://stackoverflow.com/questions/501074/recommendations-for-documentation-with-an-open-source-project –
Muchos de estos son relevantes, pero creo que es útil reiniciar la discusión de este tema una vez en un momento. Además, gran parte de la discusión gira en torno a qué herramientas usar para la generación de documentos, etc. Me interesan más los conceptos, por qué funcionan algunos enfoques y por qué otros fallan. – jonsb
@jonsb: no "reinicie el tema" haciendo la misma pregunta nuevamente. Por favor, actualice las preguntas existentes con nueva información. Por favor haz referencia a las preguntas existentes. Simplemente volver a hacer una pregunta existente es grosero. Ya lo hemos respondido. –