domingo, 19 de janeiro de 2014

O que é um 'Agile Coach' e como ele pode ajudar sua empresa?

Para a maior parte dos participantes da Agile2013, a conferência resumiu seu título. Programadores, gerentes, DevOps e testadores descreveram-se lá como "agilistas", para compartilhar experiências. No entanto, houve um grupo que ficou de fora dessa turma. Um grupo que não existia há 10 anos atrás: o dos 'Agile Coach'.

O papel é novo, e difícil de definir. Um participante descreve a si mesmo como alguém que "costumava ser um programador", mas agora é um treinador, alguém que assessora o cliente, levando-o a refletir, chegar a conclusões, definir ações e, principalmente, agir em direção a seus objetivos e metas.
"Mas o que você faz exatamente?" Procuro saber.
"O que for preciso", ele responde. "Até a programação, se precisar."
A primeira menção do papel de "coach" em desenvolvimento ágil de software foi feita por Kent Beck, criador do Extreme Programming e do Test Driven Development, no livro "Extreme Programming Explained: Embrace Change". Para Beck, o coach é, igualmente, um gerente tradicional e um 'tracker'.
Beck posiciona o treinador como alguém que poderia ser um programador ou arquiteto de sistema. Embora esses termos "evoquem visões de gênios isolados tomando as decisões mais importantes sobre o projeto", continua ele, "o coach é exatamente o oposto. Sua medida é exatamente o máximo de decisões técnicas que toma por si só, que deve ser bem pequeno. Seu trabalho é levar os clientes a tomarem boas decisões. "
A responsabilidade que Beck dá ao coach é bem próxima da descrita pelo participante com o qual falei - em parceria com os desenvolvedores (especialmente júniores), descobrir as tarefas de desenvolvimento e ajudá-los a desenvolver habilidades técnicas, tais como teste de unidade e refactoring, tudo ao mesmo tempo, servindo como um tradutor para explicar o processo de gestão.
Nos últimos anos, o movimento ágil mudou seu foco para as equipes de trabalho auto-dirigidas, bem como o papel do coach mudou um pouco para corresponder a essa mudança de foco. Na conferência, quando perguntava sobre as atribuições de um Agile Coach, a maioria das respostas seguia a definição do International Coach Federation (ICF): "O pressuposto é que indivíduos ou equipes sejam capazes de gerar as suas próprias soluções, com o fornecimento de apoio técnico, e a descoberta de abordagens e das estruturas de base."
Mesmo o livro sobre Extreme Programming se apoia nessa ideia. "Se você tivesse uma equipe tecnicamente auto-suficiente, mas precisasse de ajuda com o seu processo, você poderia ter um coach", escreve Beck. "Você ainda teria que convencer a equipe a ouvir esse coach. Mas uma vez que as habilidades estivessem lá, o trabalho  do coach seria principalmente lembrar ao time de como eles disseram que queriam agir em diversas situações."
Isto define pelo menos dois papéis diferentes para o Agile Coach: orientar técnico e agente de mudança.
Coaching funciona melhor com early adopters da Agile
Gastei tempo suficiente na Agile2013 procurando responder à pergunta: "O que é um Agile Coach, afinal?"

Uma noite, quando entrei em uma sala vazia para fazer um telefonema, achei este pedaço de papel que dizia: "Quadro de Competências de Agile Coaching". Os autores do quadro são Lyssa Adkins e Michael Spayd. Ambos são do Coaching Agile Institute. Adkins é também o autor do livro Treinamento de Equipes Ágeis.
agile4
O ICF chama de treinamento profissional a possibilidade de fazer uma parceria com alguém para inspirar o seu potencial, independentemente do domínio ou da indústria. Um professor ou mentor pode insistir em uma abordagem particular, já um treinador profissional, não. "Em vez de ser um especialista em conteúdo, você caminha com a aquipe através de um processo para ver o que não está funcionando e o que deve ser mudado."
Os treinadores podem se concentrar em diferentes aspectos do quadro de coaching ágil. Alguns treinadores se concentram inteiramente no domínio técnico. Outros não podem escrever código, mas são igualmente necessários. Adkins e Spayd concordam que ser um "praticante ágil" é fundamental para o conjunto de habilidades do coach, mas eles também reconhecem que o desenvolvimento ágil está se movendo rapidamente para fora da tecnologia, para o mundo dos negócios, com o "ágil colocando o cliente na direção". Então, uma das habilidades fundamentais pode ser a condução de mudanças organizacionais.
Adkins aponta para o terço inferior do quadro - Marster técnico, comercial e de transformação - e diz que "é muito difícil ser extremamente bom em dois elementos" e "impossível" ser um especialista em todos os três. "Dizemos às pessoas para escolher um", diz ela.
Isso permite que duas coisas aconteçam: em primeiro lugar, em vez de procurar um "coach" em geral, uma organização pode descobrir que tipo de treinamento é necessário - ensino, orientação, resolução de conflitos e assim por diante - e apenas encontrar um treinador que possa auto-avaliar um conjunto de habilidades que atenda suas necessidades.
E como nem todos terão todas as habilidades, o que incentiva a adoção de pares de treinadores complementares - um  mais técnico e o outro mais focado na mudança organizacional.
De acordo com Meike Mertsch, saber o que precisa ser feito, independentemente do pedido oficial, faz parte da essência do coaching ágil.
Meike Mertsch é consultor e coach na Alemanha. Quando pedi a ela que me desse um exemplo de coaching, ela falou sobre uma equipe que lhe pediu para estimar quanto tempo o treinamento levaria. Em um post no seu blog sobre o assunto, Mertsch lembra que antes é preciso que a própria equipe deveria ter discutido o que esperava do coach e do projeto. Descobrir o que deveria construir.
Como não é possível ser um especialista em todas as áreas, ela também precisa de bastante auto-conhecimento para saber quando e como ajudar.

(COMPUTERWORLD)