Portanto, o projeto em que estou trabalhando agora será congelado indefinidamente. É possível que, se e quando o projeto descongelar novamente, ele não seja atribuído a mim ou a ninguém da equipe atual. Na verdade, herdamos o projeto depois que ele havia sido congelado antes, mas não havia nada deixado pela equipe anterior para nos ajudar a entender até as necessidades básicas do projeto; portanto, perdemos muito tempo conhecendo bem o projeto. Minha pergunta é o que você acha que devemos fazer para ajudar as pessoas depois de nós a entender melhor as necessidades do projeto, o que fizemos, por que o fizemos, etc. Estou aberto a outras idéias de por que devemos sair algumas faixas para as outras que também trabalharão neste projeto.
Alguns passos que já tomamos:
- documentação técnica (não cheia, mas pelo menos há alguma);
- histórico do sistema de controle de origem;
- estimativas sobre quais partes do projeto precisam ser aprimoradas e por que pensamos assim;
- monte de testes de unidade.
- emitir rastreador com todos os tickets que fizemos ( EDIT )
O que você acha do que já preparamos e o que mais podemos fazer?
Respostas:
Mais algumas coisas a considerar
Apenas pensei em algumas das coisas que gostaria de ver em um projeto que herdei recentemente. O que você já forneceu é muito mais do que eu recebi. Você receberá pontos importantes de karma por ajudar a próxima equipe :)
fonte
As coisas que eu gostaria de ter ao escolher um projeto que outra pessoa colocou são:
Crie instruções, incluindo as últimas versões de trabalho conhecidas de todas as ferramentas na cadeia de ferramentas. Compiladores, IDEs, etc. mudam ao longo do tempo, e é muito mais fácil trabalhar com os desenvolvedores anteriores me deixarem instruções sobre como começar a funcionar.
Execute instruções do ambiente - o que precisa estar em vigor para executar essa coisa? Uma menção de quais versões é novamente útil. Recentemente, peguei algo que exigia que um determinado conjunto de arquivos estivesse em um determinado lugar e tive que interrogar os outros desenvolvedores para descobrir isso. Não é grande coisa, já que o outro desenvolvedor estava disponível, mas se ele não estivesse, seria problemático.
Alguma garantia de que o código comprometido com o repositório realmente efetue o checkout e a compilação. Certa vez, peguei um projeto em que os desenvolvedores anteriores (felizmente ainda estão por aí) haviam feito coisas realmente estranhas com os Makefiles, de modo que não era possível criar o projeto a partir de um checkout limpo. Escusado será dizer que primeiro tive que corrigir isso antes que eu pudesse realmente fazer qualquer trabalho. Se os desenvolvedores anteriores não estivessem disponíveis, poderia levar muito mais tempo para superar esse obstáculo.
Uma declaração geral da intenção do projeto. Para que serve este software? Tão curto quanto razoável, mas algum tipo de visão geral pode ser realmente útil.
fonte
Um ScreenCast
Quando saí do meu último emprego, fiz screencasts inéditos que, pelo que ouvi, foram muito úteis para integrar novas pessoas. Levei minha equipe para uma sala, montei um microfone condensador e expliquei a eles tudo o que sabia sobre o projeto enquanto gravava o áudio e a tela. Então, deixo que me façam perguntas sobre isso. Conseguimos gravar muito mais informações do que conseguiríamos se eu me sentasse e tentasse digitar o mais rápido possível durante todo o dia.
fonte
Se você tiver conhecimento das informações, adicione Requisitos comerciais.
fonte
Uma imagem de máquina virtual (ou seja, vm-ware) de um sistema de desenvolvimento independente pode ser bastante valiosa.
No ano passado, fui solicitado a corrigir algum código vb3. Foi bastante difícil recriar um sistema em execução com vb3, windows95 e muitos controladores ole instalados. Depois de uma semana eu desisti :-(
[Atualização]
Alguém já experimentou converter imagens antigas de máquinas virtuais para que elas possam ser reproduzidas em um player de máquina virtual mais recente?Você também deve considerar que talvez não seja mais possível executar uma imagem muito antiga em um sistema operacional moderno de hardware / convidado.
fonte