En una de las compañías en las que trabajé, teníamos todo este enfoque orientado al proceso con muchos documentos (la mayoría de los cuales fueron solicitados por el Gerente de Proyecto). Sin embargo, a pesar de la extensión y las explicaciones, me di cuenta de que apenas servía para ayudar a las personas, los desarrolladores reales.
Así que decidí ponerme en práctica con el objetivo específico de "ayudar a los desarrolladores". Lo más importante que comencé es recopilar las preguntas más básicas: las preguntas frecuentes reales .
Lo que aprendí es que seguir a la mayoría de las personas es importante cuando desean adoptar cierto proceso, y muchas cosas que pueden no tener una idea previa, pero que agradecerían de inmediato si comprenden la lógica.
Estos son los temas clave que tal documentación debería ayudar:
El proceso de desarrollo a implementación: ¿cómo se debe organizar, compilar y publicar el código (en forma de archivos DLL, bibliotecas, ejecutables, instaladores, páginas web y cómo se implementarán y probarán)?
¿Cómo debemos hacer el control de versiones? (y por qué si hay novatos). Comprenda cómo la estructura del repositorio, el código de conducta: cuándo un check-in aceptable y cuándo no, cuando se anuncia una versión / etiqueta, cómo se aplicará el parche, las fusiones y cuáles son las expectativas de limpieza cuando un parche o la liberación se declara hecha
Ejecución de la metodología: ¿somos ágiles, hacemos un diseño inicial y qué metodología utilizamos? Ahora dado esto, podría ser un arreglo para una empresa determinada. Ahora, para la mayoría de las personas, quieren saber cómo lo implementaremos para el proyecto en cuestión. Esto es muy específico sobre el proyecto que permitirá a las personas visualizar diferentes hitos y lo que es potencialmente importante. En un proyecto orientado a la investigación, nos gustaría indicar "validar siempre los algoritmos críticos antes de construir sobre él" en una envoltura retráctil. Me centraría en la corrección e importancia de las características.
Responsabilidades de comunicación: definir cómo se hace la comunicación formal; esto no se hace si las personas específicas pueden hablar entre sí, sino que las personas deben tener una idea de lo que es lo suficientemente importante (problemas, decisiones de diseño, congelación de características) para anunciar o incluso debatido antes de proceder con la implementación.
Finalmente, todos debemos tener una comprensión común de la calidad del código, el estándar de codificación y, en general, lo que creemos que está bien o por debajo del nivel de higiene.
Desearía comenzar cada proyecto con dichos documentos; sin embargo, no es del todo fácil. Pero lo importante es abordar todos los problemas relacionados con el comportamiento diario y las elecciones de los desarrolladores. Esto es muy útil cuando es necesario entregar múltiples lanzamientos al mercado.
Finalmente, también sugeriría que trate de ser lo más informal posible. Por lo general, a los chicos orientados al proceso no les gustan los documentos informales que potencialmente pueden malinterpretarse fuera del contexto. Sin embargo, debe hacerse de tal manera que conecte a los desarrolladores.