É possível aplicar métodos ágeis trabalhando sozinho? Essa foi dúvida de um aluno do meu curso sobre métodos ágeis no Alura que faz alguns trabalhos como free-lancer. Responderei através desse post.

Embora os métodos ágeis tenham sido pensados para times, e as práticas também terem emergido de times de desenvolvimento, sem dúvidas, você pode usar uma série de práticas e princípios mesmo desenvolvendo sozinho.

Você não vai conseguir trabalhar com programação em par, por exemplo. Ou fazer um reunião diária consigo mesmo, porém, você pode planejar o seu trabalho de forma a agregar valor de forma frequente para seus clientes, em vez de fazer apenas uma grande entrega depois de meses.

Você pode aceitar e mudança e se adaptar a ela, refletir de tempos em tempos sobre o seu trabalho, e pensar o que pode ser melhorado. Pedir feedback constante para seus clientes.

Utilizar TDD para escrever um código mais seguro, com design evolutivo e bem testado. Incentivar seu cliente a mantar um backlog priorizado do projeto. Pode limitar a quantidade de trabalhar que você começa, e focar em terminar o que já começou (com limites WIP). E essa lista poderia continuar crescendo…

Há um tempo atrás compilei uma lista com todas as práticas ágeis que pude encontrar, e se você observar com cuidado os itens dessa lista, perceberá que muitos deles podem sim ser aplicados mesmo se você estiver desenvolvendo sozinho.

Para finalizar, observe que os 12 princípios do manifesto ágil em sua maioria podem também vivenciados no seu dia-a-dia de free-lancer:

 

Princípios por trás do Manifesto

Nós seguimos estes princípios:
Nossa maior prioridade é satisfazer o cliente
através da entrega contínua e adiantada
de software com valor agregado.

Mudanças nos requisitos são bem-vindas,
mesmo tardiamente no desenvolvimento.
Processos ágeis tiram vantagem das
mudanças visando vantagem competitiva para o cliente.

Entregar frequentemente software funcionando,
de poucas semanas a poucos meses,
com preferência à menor escala de tempo.

Pessoas de negócio e desenvolvedores devem trabalhar
diariamente em conjunto por todo o projeto.

Construa projetos em torno de indivíduos motivados.
Dê a eles o ambiente e o suporte necessário
e confie neles para fazer o trabalho.

O método mais eficiente e eficaz de transmitir
informações para e entre uma equipe de desenvolvimento
é através de conversa face a face.

Software funcionando é a medida primária de progresso.

Os processos ágeis promovem desenvolvimento
sustentável. Os patrocinadores, desenvolvedores e
usuários devem ser capazes de manter um ritmo
constante indefinidamente.

Contínua atenção à excelência técnica e bom design
aumenta a agilidade.

Simplicidade–a arte de maximizar a quantidade de
trabalho não realizado–é essencial.

As melhores arquiteturas, requisitos e designs
emergem de equipes auto-organizáveis.

Em intervalos regulares, a equipe reflete sobre como
se tornar mais eficaz e então refina e ajusta seu
comportamento de acordo.
Agradeço ao leitor André Caetano, por ter enviado sua dúvida.

 

Convido você que ainda não leu meu livro a ler também.