Em uma das empresas em que trabalhei, tínhamos toda essa abordagem orientada ao processo com muitos documentos (a maioria deles foi solicitada pelo gerente de projeto). No entanto, apesar do comprimento e das explicações, percebi que isso dificilmente ajudava as pessoas - os verdadeiros desenvolvedores.
Então eu decidi me recompor com um objetivo específico de "ajudar os desenvolvedores". A coisa mais importante que comecei é coletar as perguntas mais básicas - as verdadeiras perguntas frequentes.
O que eu aprendi é que seguir é importante para a maioria das pessoas quando elas querem adotar certo processo, e muitas coisas que elas talvez não tenham idéia prévia, mas que apreciariam imediatamente se entenderem a lógica.
Aqui estão os principais tópicos que essa documentação deve ajudar:
O processo de desenvolvimento para implantação - Como o código deve ser organizado, compilado e publicado (na forma de DLLs, bibliotecas, executáveis, instaladores, páginas da Web e como eles serão implantados e testados)?
Como devemos fazer o controle de versão? (e por que se houver novatos). Entenda como a estrutura do repositório, o código de conduta - quando um check-in é aceitável e quando não, quando uma versão / tag é anunciada, como o patch, as mesclagens serão aplicadas e quais são as expectativas de limpeza quando um patch ou liberação é declarada concluída
Executando a metodologia - somos ágeis, desenvolvemos projetos iniciais, qual metodologia usamos? Agora, considerando isso, pode ser um conserto para uma determinada empresa. Agora, para a maioria das pessoas, elas querem saber como vamos implementá-lo para o projeto em questão. Isso é muito específico sobre o projeto que permitirá que as pessoas visualizem marcos diferentes e o que é potencialmente importante. Em um projeto orientado para a pesquisa - gostaríamos de indicar "sempre valide algoritmos críticos antes de construir sobre ele" em um resumo, enfocarei a correção e a importância dos recursos.
Responsabilidades de comunicação - Definir como você faz a comunicação formal - isso não é feito com relação ao fato de pessoas específicas poderem conversar entre si - mas as pessoas devem ter uma noção do que é importante o suficiente (problemas, decisões de design, congelamento de recursos) para anunciar ou até debatido antes de prosseguir com a implementação.
Finalmente, todos nós devemos ter um entendimento comum da qualidade do código, do padrão de codificação e, em geral, do que achamos que está ok ou abaixo do nível de higiene.
Eu gostaria de começar todos os projetos com esses documentos - no entanto, não é tão fácil. Mas o importante é resolver todos os problemas relacionados ao comportamento diário e às escolhas dos desenvolvedores. Isso ajuda bastante quando várias liberações no mercado precisam ser entregues.
Finalmente, eu também sugeriria que tentasse ser o mais informal possível. Geralmente, o pessoal orientado ao processo não gosta muito de documentos informais que podem ser mal interpretados fora do contexto. No entanto, isso deve ser feito de maneira a conectar os desenvolvedores.