Como alguém implementaria os conceitos de processo Agile como desenvolvedor solo? O Agile parece útil para desenvolver aplicativos em um ritmo mais rápido, mas também parece muito orientado para a equipe ...
Como alguém implementaria os conceitos de processo Agile como desenvolvedor solo? O Agile parece útil para desenvolver aplicativos em um ritmo mais rápido, mas também parece muito orientado para a equipe ...
Respostas:
Lembro-me de ler uma tese sobre o Cowboy Development, que é essencialmente ágil para desenvolvedores solo, mas não me lembro onde a encontrei.
Além da resposta de klez (todas as boas sugestões), sugiro o seguinte:
Provavelmente, essas coisas se aplicam a situações individuais e de equipe pequena (2 ou 3 desenvolvedores).
ADICIONADO: algum tempo depois de escrever esta resposta, encontrei esta palestra na conferência e fiquei muito impressionado: Kanban pessoal: otimizando o codificador individual
Por fim, defino o Agile realmente como "fazer o que faz sentido para sua equipe e cliente e não aderir às práticas antigas porque elas pareciam ter funcionado no passado".
O Agile funciona tão bem para os indivíduos quanto para as equipes. Trata-se de encontrar um processo que funcione para você e permitir que você se adapte às novas circunstâncias, uma vez que seu projeto já foi iniciado. Também se trata de agregar valor ao seu cliente regularmente, independentemente de o software estar ou não "finalizado".
Os processos ágeis são altamente iterativos. O trabalho é feito em curtos TimeBoxes / sprints / ciclos / iterações. Alguns trabalhos de design podem ser necessários antecipadamente, mas podem ser reformulados à medida que você aprende mais sobre o que é necessário que um sistema faça. O teste de unidade é a espinha dorsal de quase todos os métodos de desenvolvimento Agile, fornecendo uma indicação sobre se o seu software está funcionando e se as adições / alterações no software quebrarão a base de códigos existente.
Se você aderir ao BDD / TDD, permita que seus requisitos mudem com o vento e possa ajustar suas prioridades de recursos de acordo, se você construir todo o sistema e executar todos os testes com freqüência e se fornecer código de trabalho no final de cada sprint , você já é ágil.
Uau. Eu tentava manter um amigo no gancho que eu poderia ligar quando estivesse com problemas - e discutir o problema de codificação. Você sabe o que eu quero dizer ... apenas o ato de explicar um problema em voz alta traz uma solução para minha mente 90% do tempo.