A perspetiva de um programador e ex-oficial da Marinha sobre gestão de equipas e o modelo de entrega Agile. Esta história é a segunda parte de duas.
Prioridades Partilhadas e Trabalho de Equipa (Parte II)
Garantir que toda a equipa conhece e compreende a missão e as prioridades é um factor importante para o sucesso. Contudo, não é suficiente.
Numa embarcação, quando definimos postos de combate, temos múltiplas equipas a trabalhar em simultâneo no mesmo espaço de 114 metros. Temos o Comando Operacional e a Ponte a fazer a gestão da Batalha Externa; as secções de Máquinas, Limitação de Avarias, Armamento e Electrónica envolvidas na Batalha Interna, as equipas de Limitação de Avarias de avante e de ré com brigadas de combate a incêndios e equipas técnicas, a unidade de Logística responsável pela disponibilidade de material para os equipamentos ou da gestão de refeições para a guarnição. Existem ainda as Unidades Médicas que fazem a gestão dos feridos e as Operações de Voo que dão apoio às missões de helicóptero.
Durante este período, cerca de 200 militares trabalham em conjunto em equipas que operam no mesmo navio, com o mesmo propósito de cumprir a missão que lhes foi atribuída. Estas equipas multidisciplinares apenas conseguem funcionar com eficiência se cada uma trabalhar as suas prioridades, sem interferir com as outras. Para que isto aconteça, é preciso saber quais são as prioridades e pontos de pressão com os quais as outras equipas do navio têm que lidar.
Cada equipa tem as suas prioridades específicas – para a Limitação de Avarias, seria extinguir um incêndio, para a Reparação de Armamento seria recuperar a funcionalidade de uma plataforma anti-aérea, por exemplo. Apesar de serem duas prioridades completamente diferentes, cada uma delas contribui para a missão comum de ganhar a batalha. Assim, se as equipas olharem apenas para as suas prioridades e objectivos específicos, sem considerar o contexto geral, existe uma grande probabilidade de acabarem por se “bloquear” mutuamente. Por outro lado, se cada equipa compreender os objectivos e dificuldades com que as outras têm que lidar, todos irão trabalhar para o objectivo comum sem criar impacto negativo entre si.
Umas das razões porque perdemos a nossa batalha na 2ª semana foi precisamente pela falta de coordenação entre as equipas. No cenário que estava a ser simulado houve um incêndio no hangar, que estava a bloquear o caminho da equipa que precisava de reparar uma plataforma anti-aérea. Este sistema era crítico para a primeira prioridade do Comando: “Combate Anti-Aéreo”. Por essa razão foi enviada uma brigada de combate a incêndios para lidar com esta situação. No caminho para o hangar, num corredor adjacente, uma outra equipa estava a bloquear o caminho porque precisava de reparar os tubos de lançamento de torpedos.
Quando a brigada de combate a incêndios chegou ao local, esta equipa decidiu não os deixar passar, porque a prioridade deles era a reparação dos tubos. Como a brigada não conseguiu passar, o fogo no hangar não foi extinguido, a plataforma anti-aérea não foi reparada e fomos atingidos por uma série de ataques que culminaram na nossa derrota.
Se as duas equipas, no momento em que as suas actividades se sobrepuseram e geraram interferência, tivessem partilhado as suas prioridades e dificuldades à luz dos objectivos definidos estrategicamente pelo Comando – teriam percebido que permitir a passagem da brigada de combate a incêndios seria o caminho mais alinhado com o objectivo da missão.
Como isto não aconteceu, foi necessário que a brigada de incêndios regressasse à base, comunicasse com o Central de Limitação de Avarias, que teve que se alinhar com o Central de Armas e Electrónica, para que então comunicassem à equipa de manutenção que estava a reparar os tubos de torpedos, que deveria ceder passagem à brigada de incêndios.
Esta ineficácia de comunicação atrasou todo o processo e fez com que o objectivo não fosse atingido. Todo este tempo perdido poderia ter sido evitado se ambas as equipas tivessem trabalhado e decidido em conjunto.
A Entrega de Projetos em TI
Atualmente é muito comum fazer a entrega de produtos que comunicam com sistemas externos. Mesmo que isto não aconteça, podemos ter equipas diferentes a trabalhar em conjunto no mesmo projecto. Podemos ter equipas de diferentes fornecedores, uma responsável pelo deployment ou API’s, outra encarregue de construir uma arquitectura IoT, por exemplo. Temos também equipas do lado do cliente – gestores de projeto, product owners, utilizadores-chave. O que é que todas estas equipas têm em comum? Todas estão a trabalhar para o mesmo objectivo final: uma entrega de produto com qualidade.
De acordo com esta lógica, cada equipa tem seguramente diferentes prioridades. Uma poderá ter que fazer a entrega do método de autenticação das API’s, outra poderá ter que instalar engenhos IoT em máquinas para recolher métricas, outra ainda poderá ter que finalizar a consola principal da aplicação.
Todas estas prioridades são completamente não relacionadas – pelo menos até haver uma dependência, sobreposição ou interferência entre elas e começarem a aparecer bloqueios. A equipa de entrega da consola pode estar dependente da autenticação API estar terminada. A equipa que constrói a API pode estar dependente da equipa que obtém os dados recolhidos via IoT e os carrega em base de dados.
É comum que isto aconteça em cenários onde temos múltiplas equipas a trabalhar no mesmo projecto. E quando acontece, é importante relembrar o objectivo principal e focar a atenção nesse ponto. O nosso trabalho não é necessariamente o mais importante, nem as prioridades da nossa equipa as mais relevantes para o projecto como um todo. Quanto mais cientes estivermos dos pontos de pressão, tarefas e prioridades das outras equipas – mais eficientemente conseguiremos remover obstáculos que se coloquem entre nós e o objectivo final.
Empatia é a palavra-chave aqui – é o factor de diferenciação que permite criar um ambiente de trabalho eficiente e colaborativo entre diversas equipas. Apenas com o entendimento claro das prioridades e desafios das outras equipas e da correcção da comunicação ineficiente é possível ter uma liderança descentralizada, onde cada elemento pode contribuir para uma entrega mais rápida e ajudar a remover obstáculos às prioridades definidas.
Treinar com o Objectivo: Excelência
Temos um ditado na Marinha Portuguesa – “Treino duro, combate fácil.”
No primeiro exercício de combate que realizámos, perdemos por uma margem muito estreita. Quando o exercício terminou fizemos uma análise retrospectiva para perceber o que tinha falhado. Conseguimos determinar as causas e reunimo-nos com as equipas para trabalhar os pontos que precisavam de ser aperfeiçoados. Estávamos muito motivados com este processo e com uma mentalidade muito positiva – “OK! Na próxima semana vamos ganhar a batalha!”
A segunda semana chegou e perdemos novamente. O nosso desempenho tinha de facto melhorado muito em relação à semana anterior, mas o cenário apresentado também foi muito mais complexo desta vez. Por este motivo, as nossas melhorias não foram suficientes para atingir o nível necessário. Repetimos o processo de análise retrospectiva e compilámos uma lista de melhorias para trabalhar até ao exercício da semana seguinte. Estávamos novamente muito confiantes e empenhados em ganhar a próxima batalha. “De certeza que na próxima semana ganhamos isto! Temos isto na mão!”
Não tínhamos. Na batalha seguinte, perdemos novamente. Tal como na semana anterior, melhorámos o nosso desempenho – mas não foi suficiente. A equipa de avaliação que organiza os exercícios sabia perfeitamente como gerir o equilíbrio entre aumentar a dificuldade e complexidade dos exercícios para que não conseguíssemos ganhar, e garantir que os obstáculos não fossem intransponíveis de tal forma que a guarnição ficasse desmotivada e perdesse o interesse. Este foi um factor crucial para acelerar a nossa progressão pela curva de aprendizagem e maximizar os benefícios retirados dos exercícios.
Finalmente, no último cenário, conseguimos alcançar os objetivos necessários e vencer a batalha. Isto apenas foi possível devido a uma progressão metódica ao longo da curva de aprendizagem, com o trabalho e exercícios realizados nas semanas anteriores.
A Entrega de Projetos em TI
O nosso mapa de conhecimento e curva de aprendizagem estão presentes em todos os momentos, independentemente da profissão que exercemos, onde vivemos ou da nossa personalidade. O mundo está em constante evolução e esse impulso deve impelir-nos a um processo de aprendizagem constante. A única forma que temos de melhorar é aproveitar esse impulso nas nossas tarefas diárias.
Como em qualquer jogo, é normal começar num nível mais fácil e progredir para desafios mais difíceis. Eu pessoalmente não conheço nenhum jogo que comece a um nível altamente complexo, que depois progrida para níveis mais fáceis. Contudo, níveis mais complexos não significa necessariamente tarefas mais difíceis. O primeiro nível de um jogo, para uma pessoa, pode ser tão difícil como um patamar intermédio para outra. Da mesma maneira que, quando tivemos a nossa primeira aula de condução, as tarefas eram simples: aprender a acelerar, travar e manobrar o carro – mas para a grande maioria de nós não foram tarefas nada fáceis.
A alavanca que nos move em direção ao aperfeiçoamento reside precisamente na diferença entre a complexidade da tarefa e a preparação que temos para a realizar. Se o resultado for positivo (tarefa mais complexa que a preparação) e aceitarmos o desafio, iremos aprender com o processo. Se for negativo (tarefa menos complexa que a preparação) não iremos “desaprender” – mas sim aperfeiçoar o processo.
Podemos alavancar a nossa curva de aprendizagem durante as nossas atividades diárias para maximizar esse impulso. Se encararmos os projectos que entregamos como um jogo, vamos reconhecer padrões semelhantes em ambas as situações. É normal começarmos o nosso percurso profissional de forma ajustada com o nível de competências que temos. No início podemos participar na criação de um sistema de gestão de tickets, como programador júnior, por exemplo – situação onde nos devemos concentrar em aprender as melhores práticas de desenvolvimento e testes de qualidade. E como estamos a realizar a maior parte das tarefas pela primeira vez, a margem e velocidade de progressão são muito grandes e podemos assistir a grandes melhorias quase diariamente.
No final deste projecto, não serás a mesma pessoa, com o mesmo conjunto de competências que tinhas antes. Contudo, isto não significa que se deva travar o impulso de aprendizagem só porque houve algum crescimento. Tal como nos cenários de combate que visitámos, se olharmos para o próximo projecto para além da zona de conforto das tarefas já conhecidas, existe a possibilidade de melhoria contínua. Talvez o próximo projeto inclua uma aplicação móvel com padrões de sincronização offline, que adiciona uma camada de complexidade ao nível do projeto anterior. Neste caso, podes olhar para as tarefas que já conheces e dominas, numa lógica de treino e aperfeiçoamento, e para as novas tarefas mais desafiantes como uma oportunidade de aprendizagem e crescimento.
Ao olhar para cada projeto através desta lente de possibilidade de treino e aprendizagem, abrimos as portas a um processo de aprendizagem contínua que nos pode transformar em profissionais mais eficientes. Se cada membro da equipa trabalhar com o mesmo mindset, a equipa vai aproximar-se de um modelo de liderança descentralizada. Com isso, todos estarão focados em aperfeiçoamento contínuo, crítico para concretizar as prioridades da equipa, para dar suporte e ajudar outras equipas nas suas prioridades, e crítico para o objectivo de missão geral de entregar a melhor solução possível ao cliente.
O Triângulo de Aprendizagem
No final das 3 semanas de exercícios de batalha, apercebi-me que estes 3 mindsets foram os factores chave de sucesso para melhorarmos o nosso desempenho enquanto guarnição de um navio de combate. Evidentemente que existiram outras variáveis na equação – como experiência prévia, passagem de conhecimento de guarnições de outros navios, organização dos nossos postos de combate, entre outros. Quanto mais fontes de aprendizagem tivermos, melhor.
Foi este o triângulo de aprendizagem que retirei dos exercícios de combate que realizámos e que considero ser altamente transferível para o universo das tecnologias de informação: a “Missão e Prioridades” onde definimos o nosso propósito e o que pretendemos alcançar; as “Prioridades Partilhadas e Trabalho de Equipa”, o contexto em que tomamos contacto com os desafios e objectivos de outras equipas, onde os procuramos compreender, integrar e unificar, e o “Treinar com o Objectivo: Excelência”, uma mentalidade de busca pró-activa de conhecimento e de aperfeiçoamento contínuo.
Para este triângulo ser eficaz é preciso que cada um aprenda a trabalhar com a sua equipa, a trabalhar com as outras equipas e stakeholders e a trabalhar consigo próprio.