Eu trabalho para uma pequena empresa. O braço de desenvolvimento de software da empresa antes de eu ser contratado consistia em um sujeito sobrecarregado e autodidata. Agora que estou escrevendo software para a empresa há alguns anos, fui incumbido de estabelecer práticas formais de desenvolvimento de software em toda a empresa. Atualmente, não temos diretrizes além de
Escreva o código, teste-o, coloque-o em um arquivo .zip e envie-o ao cliente. Pontos de bônus para TDD e controle de versão.
Meu chefe quer que eu escreva um manual do desenvolvedor de software que defina os processos, protocolos, ferramentas e diretrizes gerais que usamos para fazer as coisas. Em outras palavras, ele quer um livro "Isto é o que fazemos aqui" para facilitar a familiarização de um novo funcionário com a maneira como fazemos as coisas, além de ajudar meu chefe a entender o que seus subordinados estão fazendo e como eles fazem. isto.
Na minha opinião, estou estabelecendo uma base e ela precisa ser feita corretamente. Como você escolheria tópicos para esse manual? Você pode fornecer alguns tópicos de exemplo?
Nota: Se isso for importante, somos principalmente uma loja Microsoft .NET. E estamos analisando práticas ágeis como XP e Scrum, mas podemos ter que modificá-las bastante para fazê-las funcionar em nossa empresa.
Respostas:
Eu dividiria em seções como
A modularidade também permitirá que você ou outras pessoas atualizem as peças separadamente, por exemplo, os nomes e as posições dos funcionários mudam com frequência à medida que as pessoas vão e vêm.
Para cada seção, eu tentaria escrevê-lo do ponto de vista de 'novato'. O mais importante será garantir que realmente faça sentido para um novato. Seu chefe obviamente não é a pessoa certa para revisar isso, pois ele não é o público-alvo. Ele está certo em querer, apenas verifique se o conteúdo não acaba sendo testado por ele. Além disso, um 'novato' tem apenas 1 semana como sendo um novato ... e apenas um ponto de vista. Portanto, é provável (e recomendado) que o documento seja refinado a cada novo funcionário. Na verdade, é uma tarefa muito boa atribuí-los também para a primeira semana, ou seja, "Atualizar o manual para iniciantes".
Para Agile / SCRUM:
A parte mais difícil de fazer Agile e SCRUM é 'realmente' fazê-lo.
Para ler, começaria em http://agilemanifesto.org/ e partir daí.
Eu também leria o conhecido http://www.halfarsedagilemanifesto.org/, que acrescenta peso ao fato de que você realmente precisa adotar todos os aspectos para que ele funcione. Se você precisar modificar fortemente o Agile para suas organizações, é provável que as pessoas desejem os benefícios - sem usar os processos corretos. Esse fato em si deve ser apresentado para afastar qualquer meia-afirmação.
fonte
Parece que você precisará introduzir algumas práticas antes de documentá-las!
a) Controle de origem - como você armazena suas fontes e faz o controle de revisão
b) Gerenciamento e rastreamento de release - como você faz uma construção, numera um release, compara um candidato a release atual a um release anterior
c) Gerenciamento de problemas - como você rastreia bugs em seus releases.
Essas são coisas bastante básicas, mas podem levar muito tempo (e possivelmente custam dinheiro) para serem implementadas.
fonte
Tópicos que eu incluiria no manual do desenvolvedor:
Lembre-se de que este manual deve conter apenas itens específicos ao desenvolvimento, e não informações de toda a empresa (que devem constar no manual do funcionário).
fonte
Uso do controle de origem
fonte