Nenhuma ferramenta é completa e perfeita
Alguns podem discordar, mas métodos ágeis são ferramentas de processo que nos ajudam, dentro das suas limitações, a trabalhar de maneira mais eficiente, nos dizendo o que fazer. Go também é uma ferramenta e fornece uma maneira mais simples de programar. O fio dental também é uma ferramenta e nos ajuda a alcançar locais nos dentes para que possamos melhorar a limpeza diária da boca. Isso porquê o termo “ferramenta” geralmente traz à mente um dispositivo físico ou um software!
Ferramentas são importantes, o ser humano inventa e utiliza-se delas a milhares de anos! E métodos ágeis também são ferramentas que evoluíram de experiências de trabalho com outras ferramentas desenvolvidas anteriormente. São importantes pois nos ajudam a resolver problemas e para cada dificuldade podemos utilizar um ou mais ferramentas!
Nesse contexto, para um Agile Coach (ou outra denominação) é realmente importante contar com um kit completo delas (um agile toolbox), entender as qualidades e limitações de cada uma e como usá-las. Além disso, deve-se (com o tempo) aprender como e quando melhorar as ferramentas que estiver usando e saber como podem ser usadas separadamente e combinadas para melhorar o processo de desenvolvimento de uma organização. Inicialmente para resolver um problema o Agile Coach pode até aplicar apenas uma ferramenta, mas a tendência é ampliar práticas.
Com o uso constante do seu toolbox de forma combinada, o Agile Coach aperfeiçoa a utilização e com isso automaticamente amplia o seu kit de ferramentas, no decorrer do tempo. O meu toolbox, por exemplo, está agrupando as ferramentas pelo seu propósito (peguei ideias do Alistair Cockburn), alguns exemplos resumidamente:
- Contratar: Ao contratar/selecionar as pessoas apropriadas para o time, é importante primeiro identificar os papéis necessários e quais pessoas se encaixam nesses papéis. Ferramentas de processo e sociais ficam organizadas aqui, por exemplo, papéis de Coach (do XP) e Scrum Master (do Scrum), foram estabelecidos para mudar o relacionamento de poder e a dinâmica de interação (do tradicional gerente de projetos), e workshops e atividades em grupos.
- Comunicar: a comunicação é um traço dominante dos métodos ágeis, seja a equipe local ou distribuída. Pode ser um quadro branco, pessoas sentadas lado a lado olhando para a mesma tela, usando a tecnologia de compartilhamento de espaços, mensagens instantâneas ou até gráficos em papel. O status do projeto mantido em uma página da Web ou em um monitor.
- Colaborar: proximidade física, os quadros brancos, os index cards, as notas adesivas, workshops, ferramentas de colaboração on-line são as ferramentas usadas na colaboração.
- Gerenciar: Jogo de planejamento do XP, planejamento de blitz da Crystal Clear, planejamento de sprint do Scrum e práticas de gestão 3.0. Mas não esquecendo que em algumas situações, consultar padrões mais clássicos não é pecado!
- Desenvolver: entra aqui práticas de engenharia de software (gerenciamento de configuração e testes, por exemplo), do XP e de DevOps.
Com o tempo e prática, o Agile Coach vai notar que não existe uma única ”melhor forma” de resolver as coisas; É necessário refletir e imaginar – baseado nas situações – os próximos passos para alcançar a melhor maneira de desenvolver software.
Software Developer Analyst Sr.
6 aParabéns pelo artigo Cristiano, é muito importante ter o conjunto certo de ferramentas para auxiliar no andamento dos projetos, lembrando sempre que se deve utilizar aquilo que realmente traga beneficio para o projeto, mesmo que se tenha um grande conjunto de ferramentas disponíveis não se é obrigado utilizar todas, o uso errado ou o desconhecimento de como utilizar essas ferramentas pode ser mais prejudicial do que benéfico. Como você disse é trabalho do Agile Coach saber como e quando usar as ferramentas dos métodos ágeis.