Tchau, tchau gerente, agora sou Scrum!

Já que Scrum define apenas três papéis: Scrum Master, Product Owner e Time, onde é que fica o papel do Gerente de Desenvolvimento? Será que é hora de dizer adeus?

Contextualizando

Há pouco tempo assumi uma posição na Locaweb como gerente da equipe de desenvolvimento responsável pelos sistemas centrais da empresa. É uma equipe relativamente grande, dividida em três times de multi-talentosos desenvolvedores, um para cada domínio de negócio que lidamos: Provisionamento, Cobrança e Atendimento; além de dois sysadmins que dão suporte a estes times em tempo integral.

Os times atualmente estão organizados como times de Scrum tipicos, com os tais multi-talentosos desenvolvedores, um Scrum Master e um Product Owner – que no nosso caso, é um gerente de produtos que trabalhar fortemente conosco, extremamente comprometido com os interesses de negócio da empresa.

Desde então, comecei a buscar me interar um pouco mais sobre assuntos de gerenciamento e liderança ao melhor espírito ágil, com a preocupação de não me tornar aquele tipo de gerente que simplesmente “delarga” e vive alienado; ou pior ainda, aquele que comanda e controla o tempo todo, e queno final das contas, mais caroça e atrapalha do que ajuda.

Novo release: Gerente 2.0

Bem, além de conversar com vários amigos – muito mais experiêntes do que eu nesse papel –, também naveguei bastante pela Web e acabei chegando num artigo muito interessante de Pete Deemer, da Scrum Training Institute, que tem me ajudado bastante. Se você também tem interesse no assunto, acho que vale a pena ler.

Pete sugere no artigo, de maneira bem coerente, 14 atividades de um gerente de desenvolvimento. Vamos dar uma olhada no resumão delas:

1- Ajuda a remover impedimentos que o time não tem condições de resolver por si só

Enquanto o Scrum Master remove impedimentos hora-a-hora, dia-a-dia, coisas referentes ao projeto, o gerente precisará focar seus esforços em resolver impedimentos mais sistemátivos, mais corporativo, digamos assim.

Estes impedimentos, frequentemente, são os mais desagradáveis; e que requerem alguma influência, alguma autoridade, para lidar com eles de maneira efetiva.

2- Dá ao time conselhos e sugestões sobre dificuldades técnicas que aparecem

Gerentes deveriam estar disponíveis para dar conselhos e assitência técnica ao time sempre que solicitado.

Nota minha: é que claro que, volta e meia, o gerente vai precisar ir a reuniões estratégicas, corporativas – ou seja lá como chamemos em nossa empresa –, e não poderá atender às solicitações do time de imediato. É preciso tratar isso de maneira bem madura com o time, colocando na mesa as limitações impostas por suas outras atividades e buscando uma maneira de mitigar isso, para que nem o time fique na mão quando precisar, nem o gerente seja crucificado quando não estiver à pronta disposição.

3- Regularmente conversa com os membros do time, um por um, para dar coaching e mentoring

Gerentes deveriam gastar tempo com os membros do time, individualmente, com certa frequência (que cada um deve achar a melhor para si), para dar coaching e mentoring. Veja: não é para pedir status report; é para ensinar, ajudar, guiar, etc, menos cobrar.

Alguns gerentes gostam de fazer isso pareando e escrevendo código junto.

4- Dá sugestões sobre como fazer features melhores

Estas sugestões são endereçadas diretamente ao Product Owner, geralmente, durante a Sprint Review.

Nota minha: o ideal é que isso aconteça sempre, mantendo o máximo de proximidade possível com o Product Owner. No meu caso, por exemplo, sento de frente para o gerente de produtos de sistemas centrais e bato-papo com ele o tempo todo. Ou seja, se tenho algo a sugerir, não preciso esperar a cerimonia de revisão.

5- Mantem-se pari passu do desenvolvimento de ferramentas, tecnologias e técnicas que o time está usando

Esta é uma atividade muito importante e frequentente negligenciada pelos gerentes. Gerentes não podem ficar congelados no tempo. Mesmo porque, a atividade 2 é sobre estar apto a dar conselhos técnicos ao time.

Nota minha: não tem coisa mais irritante do que um gerente que não entende nada do trabalho que você está fazendo, dando palpites furados, e ainda querendo que você explique para ele algo que ele não tem um mínimo de base técnica e conceitual para entender.

6- Planeja treinamento e outros skills de desenvolvimento para os membros do time

Gerentes deveriam pensar cuidadosamente sobre onde o time poderia usar seu skill; e também, cláro, que capacidades o time precisará ter quando for desenvolver determinados itens do Product Backlog.

7- Mantem-se atualizado sobre as novidades e evoluções da indústria

Novamente, uma atividade importante, mas frequentemente neglienciada. Sem ela, a atividade 2 fica fortemente comprometida.

8- Antecipa ferramentas, skills e futuras necessidades

Outra atividade importante, que tem tudo a ver com a atividade 6, e que é frequentemente negligenciada. Converse com seu time a respeito, peça sugestões.

9- Planeja e gerencia orçamento e caixa

Outra vez, algo muito importante, mas muito negligenciado por diversos gerentes.

Nota minha: qual foi a última vez que você colocou no seu orçamento um din-din para cursos, eventos, livros, e outras coisas que melhoram o skill do seu time? Ou você é do tipo que não se preocupa com isso e que, pior ainda, até acha ruim que seu time vá a eventos, faça cursos ou leia livros no horário de trabalho?

10- Dá sugestões de que features o time deveria construir

Vale o mesmo comentário do item 4, não vale? Acho que sim, tem tudo a ver.

11- Faz avalição de performance e dá feedback aos membros do time

Isso é algo necessário em muitas empresas, apesar de bastante subjetivo. Mas o ponto aqui é que gerentes deveriam basear suas avaliações em suas próprias observações, bem como no feedback de outros membros de time.

12- Faz planejamento e desenvolvimento de carreira com os membros do time

Oportunidade de carreira é uma das mais significantes formas de compensar pessoas por seu trabalho. Além de din-din, é lógico!

13- Recruta, entrevista e contrata novos membros para o time

Uma das melhores (mas às vezes, aterrorizantes!) ações de gerenciamento é tomar decisões de contratação. Isso porque boas contratações dão lucro desde o primeiro dia, enquanto que más contratações são uma “taxa” invisivel na habilidade do time entregar valor de negócio.

14- Remove membros que não são capazes de fazer um bom trabalho no time

Se mesmo depois de extenso coaching um membro do time não é capaz de contribuir, de trabalhar harmoniosamente com os outros membros do time, ou de fazer seu trabalho na qualidade esperada, ele precisa ser removido do time, ou mesmo da empresa, rapidamente. Tipicamente, gerentes precisam guiar esse processo de maneira coordenada com o RH da empresa.

Nota minha: não deixe a moral do seu time e o dinheiro da sua empresa ir para o ralo. Cuidado! Há uma linha muito tênue entre “vou dar mais uma chance” e a omissão. Não tenha medo de fazer uma demissão, mesmo que tenha sido você que fez a má contratação. Contratações são quase que como loterias! Na verdade, quem fez a má contratação é o que menos importa; o que realmente importa é a performance e moral do time, que no final das contas, se traduz em mais dinheiro para a empresa.

Conclusão

O papel do gerente de desenvolvimento 2.0, como diz esse artigo de Pete Deemer, traz um mix de habilidades de liderança técnica e de gerenciamento de pessoas – pelo amor de Deus, não chame as pessoas de recursos!

A mim faz todo sentido; e está bem alinhado com as atribuições que recebi, quando contratado pela Locaweb. Aliás, acho que vale citar que, uma das coisas que Pete diz no artigo é que esse “novo” papel do gerente de desenvolviemnto precisa ter uma bênção formal do diretor de direitor TI, ou alguém com poderes equivalentes.

Mas e você, o que acha? Deixe um comentário…

{ 25 comments to read ... please submit one more! }

  1. Fala Codezone… cara, como te falei pessoalmente o teu desafio na Locaweb é grande e fico contente que você esteja tirando isso de letra.

    Seu artigo falou muitas coisas que estão entaladas na minha gargante principalmente por conta de uma visão romantica e hermética que paira na nossa comunidade Scrum no BR.

    Da maneira que vendem Scrum aqui me parece que não há muita liberdade do ScrumMaster desempenhar uma liderança técnica efetiva. Coisas do tipo “o ScrumMaster não pode se envolver com o trabalho” e coisas assim.

    Infelizmente aqui no BR, pelas minhas andanças, são poucas as lideranças técnicas muito empolgantes. E espero que isso mude. A Aspercom está planejando fazer vários eventos neste ano sobre esse assunto, visando melhorar isso.

    Abraços e parabéns pelo blog.

  2. Ótimo post!!!

    Só tenho a concordar com essas afirmações. Realmente hj o skill gerente esta tendo um improvement a tal ponto de chama-lo de 2.0!

    Não basta somente adotar metodologias e frameworks, se não adotarmos postura para tais paradigmas relacionados a nosso trabalho em equipe.

    O crescimento que temos ao obtermos este tipo de skill é altamente recompensador!

    []´s

  3. Ótimo post Leandro! Concordo plenamente com sua visão sobre o papel de gerente dentro de um time ágil.

  4. Natelson Nascimento

    Excelente post!!!

  5. Este paradigma de gerenciamento faz toda a diferença dentro uma empresa de sucesso, e com certeza as habilidades de um gerente com este perfil necessitam de muita dedição, estudo e vocação. Analisando especificamente os itens que referem se ao trato com pessoas já é algo muito complexo. Recrutar, contratar e remover pessoas é fácil se comparado a capacidade de enxergar e pontecializar as qualidades de cada elemento dentro de um time para que realmente ele se torne ágil e produtivo.
    Parabéns pelo post e sucesso em sua carreira.

  6. Excelente!!!
    Concordo em tudo, posso dizer até que aqui, em Brasília, esse seria o Gerente dos sonhos de muitas equipes… hehe!!!
    Muita gente precisando reciclar as idéias, quebrar paradigmas, guardar o chicote e colocar as luvas para lutar junto com o time.

    Muito bom o post, parabéns pela atitude!

  7. Lendaro, muito legais os pontos levantados por você. Gostaria de acrescentar que muitas vezes o gerente é alguém com anos de experiência (tanto técnica quanto em questões humanas). A experiência faz com que o gerente tenha a intuição afiada. Isso significa que ele é mais capaz de tomar boas decisões, sem que essas decisões tenham necessariamente que passar por uma avaliação lógica e racional.

  8. Raïssa M M Lopes

    Amei!

    Pena que ainda não encontrei um gerente nem perto disso, um dia acho !

    Abraços,
    Raïssa

  9. A se os gerentes fossem assim….
    seria muito bom, principalmente em consultorias onde eles só pensam em dinheiro e não em qualidade de trabalho, de software e de vida!

  10. Fala manobrown!

    Interessante o post.. Estava esperando que você mandasse algo sobre esse tema relatando suas experiências ai na Locaweb.

    Fiquei em dúvida em alguns desses itens que vc enumerou. Fiquei pensando em até que ponto algumas dessas atividades não conflitam com as atividades do ScrumMaster pois pelo que eu entendi cada um dos 3 times tem o seu. Fiquei imaginando como seria isso na prática.. Porém como vc mesmo me disse que ai o apoio para iniciativas ágeis é total e acontece de cima para baixo não acredito que isso seja um problema.. É mais uma curiosidade minha mesmo em função de ter visto coisas bizarras que o ser humano é capaz de fazer quando pensa que seu trabalho está “concorrendo” com o trabalho de outra pessoa.

    Parabéns quanto a sua iniciativa de procurar o seu espaço dentro do cenário que está envolvido sem prejudicar o bom andamento das atividades. Se cada pessoa, no momento em que fosse promovida a qualquer espécie de líder, fizesse essa reflexão e procurasse evoluir de fato para desempenhar bem o seu novo papel não teríamos tantos departamentos de TI fracassados no mercado. Infelizmente a maioria é completamente alienada mesmo, como vc bem disse, e tem plena convicção que o “comandos-em-ação” é a única forma de gerenciamento realmente eficaz. Uma pena….

    Abraço!
    -LeoLuz-

  11. Muito obrigado a todos por também compartilharem suas opiniões aqui.

    :)

  12. @LeoLuz

    Faaala!!!

    Pois é, cara, sei bem do que você está falando. :)

    Mas então, vamu lá… hoje, cada time tem um Scrum Master, sim. É um cara do próprio time que desempenha esse papel part-time em seu time. Ainda não vimos necessidade de termos um Scrum Master full-time em cada time; assim já tem resolvido bem nossa necessidade. Até porque, se algum impedimento sugere consumir muito tempo do Scrum Master, ele escala pra mim e eu corro atrás pra resolver.

    No começo, eu fazia o papel do Scrum Master nos três times e ainda era gerente deles. Logo isso tornou-se num problema, porque virei o gargalo. Hora de revisar os resultados e mudar. Mudamos para o modelo atual que descrevi e os resultados foram perceptiveis rapidamente.

    É claro que pra fazer essa mudança teve que haver investimento — contratei, inclusive, uma consultora da Caelum especialista em agilidade, a Cecilia, pra nos dar um help nessa transição e outras coisas mais.

    Sobre isso conflitar com as atividades do Scrum Master, não, não conflita não. Na verdade, até ajuda no trabalho deles. (Agora mesmo enquanto eu escrevia esse comentário, veio um Scrum Master aqui me perguntar como resolvi um impedimento X; indiquei pra ele o que fazer e disse que qualquer problema, se não der certo, ele poderia me falar que eu correria atrás.)

    Abraço!

  13. @DanielCukier

    Fala Cuki!

    Cara, você tocou num ponto que concordo com você: a experência faz muita diferença.

    A única coisa que temos que tomar cuidado é com a qualidade dessa experiência. Por exemplo: muita experiência com tecnologia obsoleta, não ajuda muito; muita experiência como despota, pior ainda!

  14. @Yoshima

    Valeu mesmo, cara! :)

  15. @MauricioDeAmorim

    Verdade, cara, não é fácil mesmo.

    Sabe, não acredito em formulas mágicas, mas se tivesse que dar um conselho seria mais ou menos assim: aproxime-se do seu time, tente conhecê-lo e seja realmente parte dele.

  16. Lendro,

    interessante que a “somente” 5 anos, fui contratado por uma empresa, em que meu gerente esbravejava aos 4 cantos: “Um Gerente não precisa ter conhecimentos técnicos”.

    Isso o tornava alguem “tão indispensável” que tinhamos reuniões quase que diárias para discutir técnicas e tecnologias. Sensacional explicar como funcionava Reflection e vê-lo traduzir para: “Fazemos o código em Java e este será gerado para Cobol, C ou Corba”. Imagine o desespero da equipe ao ouvi-lo numa apresentação à diretoria!!!

    Hoje, percebo claramente como um Gerente pode passar de Necessário para Desnecessário num piscar de olhos. Basta ter uma idéia como “Gerentes não precisam de conhecimentos técnicos” na cabeça.

    Um outro ponto muito bacana, no teu post, é a linha tênue entre a omissão e “dar mais uma chance”. Imagine uma equipe de 12 pessoas se reunirem com o seu gerente, pedindo a cabeça de um colega, dizendo ser impossível trabalhar com o mesmo. Imagine o gerente ter 4 conversas (1 por mês) sobre o comportamento deste desenvolvedor, e o mesmo mudar por 5 dias e voltar a ser um estorvo para a equipe!!! Já vi isso acontecer, e o resultado foi, a equipe se desfazer. Os melhores membros saíram a procura de um ambiente mais agradável, deixando a empresa e o próprio gerente num insucesso anunciado.

    Gerentes 2.0 existem aos montes, o que não existem são Empresas 2.0 a procura deles.

  17. Por favor, corrija os crassos erros de português que tiram a credibilidade do seu texto.. “ser hápito”, “gerentes precisão”.. Difícil de aceitar vindos de um suposto “gerente”…

  18. @Jim

    Favor realizado. Corrigi tudo que você me pediu. :)

  19. Apesar de trabalharmos em empresas enormemente diferentes em tamanho, fazemos basicamente as mesmas coisas. Muito legal o post, vou acompanhar seu Blog. :)

    []‘s

{ 5 Pingbacks/Trackbacks }

  1. Podcast #5 – Planejamento ágil « Blog da Bluesoft
  1. Rápidos conselhos para gerentes humanos | CØdeZØne!
  1. Você ainda acha que programação em par é desperdício? | CØdeZØne!
  1. Minha palestra no OxenteRails 2010 | CØdeZØne!
  1. Podcast #5 – Planejamento ágil | Blog da Bluesoft

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>