Estou em um novo emprego em que o projeto precisa atender a rígidos padrões de qualidade, ser fortemente documentado, gerenciado com grande detalhe, diagramas UML e todas as coisas que são opostas à "codificação de cowboy", onde a maior parte da minha experiência profissional anterior foi . Pense na maneira como o software aeroespacial ou de dispositivos médicos em larga escala é desenvolvido.
Fico feliz em deixar o caos da codificação de cowboys e estou curioso para ver como os métodos de engenharia dos pesos pesados vão. Mas como se pode ganhar rapidamente experiência com os métodos pesados?
Além de simplesmente estar no emprego por alguns meses / anos, isso é.
Com uma mera linguagem, ou uma nova API, é possível hackear um programa de teste de brinquedos, ler, deliberadamente cometer erros para ver o que acontece etc. Como se tornar bom em andar de bicicleta ou tocar um instrumento musical, a prática é essencial. É fácil pegar uma flauta e passar meia hora todos os dias; não há necessidade de ingressar em uma orquestra ou ser um consultor de flauta em tempo integral. Mas como praticar atividades de engenharia de software que são grandes e complexas, envolvem equipes, e grande parte delas é sobre comunicação e planejamento, além de evitar falhas de comunicação e exceder os limites de cronograma e orçamento?
Isso não parece possível fazer solo. Existe uma maneira de um pequeno número de pessoas simular a engenharia de um grande projeto inteiro em pequena escala em um curto período de tempo (um dia)?
A experiência com práticas "pesadas" vem apenas de fazer a coisa real. Não há como praticá-lo isoladamente. Você pode, no entanto, estudá-lo. Existem muitos estudos de caso e fontes que você pode estudar e ponderar.
Porém, nem todas as práticas que você vê ou estuda são necessariamente positivas. O desenvolvimento de software é uma coisa fluida, e o que parece hardcore e estrito hoje pode parecer tolo e redundante amanhã. Isso acontece tanto por meio de novas ferramentas quanto pela experiência experimental que vai das startups às organizações mais conservadoras.
Basicamente, o gerenciamento de mudanças e riscos parece ter uma forma única para cada organização. Sua melhor aposta é manter a mente aberta, mas não carregue muitas suposições de equipe para equipe.
fonte