Rafa Nascimento

Pulsos

Posted in scrum, time by Rafa Nascimento on 16/01/2011

Um dos desafios na utilização do Scrum é prever o quanto um time é capaz de entregar a cada sprint. Muitos tentam, em uma vaga tentativa de criar uma métrica, atribuir a 1 story point uma determinada quantidade de trabalho a ser entregue, ao invés de observar como um time desempenha seus papéis e realiza suas entregas. Por exemplo: 1 story point equivale a um cadastro com 8 campos que acessa 1 tabela na base de dados. Este tipo de abordagem não funciona, porque um time é constituído por pessoas, com diferentes experiências, percepções e problemas (pessoais ou profissionais). Individualmente e coletivamente, um time sempre apresenta características técnicas e emocionais distintas de outros times. Os membros do time A nunca levarão o mesmo tempo que os membros do time B levaram para adaptarem-se entre si. Times nunca apresentarão exatamente os mesmos conflitos ou a mesma produtividade. Enfim, em conjuntos recheados por seres humanos, pode até haver um padrão estatístico relativo à produtividade, mas nunca um padrão industrial, exato e previsível. Sempre haverá uma margem de erro. Daí, surge uma questão para reflexão: é melhor traçar um plano e subordinar sua equipe a este plano, a qualquer custo, em prol de um contrato ou meta corporativa? Ou melhor seria traçar uma meta e acompanhar o desempenho e crescimento do seu time, guiando-o rumo à missão, desfrutando de um ambiente harmonioso, feliz e de alta produtividade,  e realizar os ajustes necessários ao plano de projeto em prol da satisfação do seu cliente, oferecendo a ele um projeto transparente, sem surpresas?

Times Scrum são empíricos, assim como os bebês
Sendo o Scrum um processo empírico, seus times também terão o mesmo comportamento. Times Scrum experimentam e adaptam-se aos diferentes obstáculos encontrados durante um projeto de software. Eles não têm medo nem vergonha de errar, porque sabem que estes erros agregarão mais valor ao negócio do cliente. Em The Artful Making: What Managers Need To Know About How Artists Work, Robert Austin cita como exemplo de time empírico uma companhia de dança. Para atingir seu objetivo, o time de dançarinos testa o que foi ensaiado, grava-se, e observa o resultado por diferentes ângulos, até atingir o nível de excelência desejado. Da mesma forma funciona um time Scrum: inspecionando e adaptando. Observando todos os aspectos de suas ações e práticas e suas consequências. Não há um padrão ou boas práticas a seguir desde o início do projeto. Há um objetivo e um prazo, e o time se organiza sozinho, com a ajuda do ScrumMaster, para atingí-los. Práticas e padrões, comportamentais ou técnicos, emergem durante o desenvolvimento do software, e, é claro, funcionam muito bem – quase que exclusivamente – para aquele grupo de pessoas. Ou seja, assim como bebês aprendem errando – e erram o quanto for necessário até completar o aprendizado – um time Scrum aprende da mesma forma. Porém, com a vantagem de já possuir seu raciocínio lógico formado.

Apesar disso, é preciso, em algum momento do projeto (preferencialmente, o mais cedo possível) saber o potencial de entrega de um time por sprint, ou seja, sua velocidade. Para isso, é essencial, ao início de um projeto, focar na formação/coaching do time e na obtenção de sua velocidade média. Ao mesmo tempo em que o time já está desenvolvendo o software a partir dos requisitos do negócio, ele começa a se conhecer e se auto-organizar, ganhando um padrão de trabalho. Sem esta mentalidade, é impossível conhecer o ritmo de um time. A capacidade de entrega será sempre “o que o time conseguir entregar neste sprint”.

Um time não avança como um carro. Um time pulsa como um coração.
Uma das premissas de um time Scrum é que ele tenha um ritmo sustentável. Que ele trabalhe em um ritmo dentro do qual ele consiga manter a qualidade e completude de seu trabalho, sem prejudicar a sua saúde e bem-estar. Bem como nosso coração. Um time Scrum pulsa tal qual nosso coração pulsa. Para que estejamos saudáveis, nosso coração pulsa em um ritmo sustentável, diferente para cada ser humano, mas dentro de um padrão esperado. Dentro de uma faixa. Esta faixa deve ser percebida logo no início do projeto, quando o foco está em detectar a produtividade do time. No início de um projeto, um time deve ser “auscutado” pelo ScrumMaster, que vai ajudar o time a extrair e manter seu ritmo através da remoção de impedimentos em seu trabalho e de sua proteção contra influências externas. Um time sempre terá uma faixa de produção, seu máximo e seu mínimo de esforço ao longo da duração do projeto. Sua média será usada para manter seu ritmo sustentável. E qualquer mudança na composição do time afeta sua pulsação, seja no âmbito da produtividade, seja no âmbito psicológico. O fluxo de trabalho de um time Scrum pode ser tão previsível quanto o fluxo sanguíneo. Porém, seres humanos são compostos de emoções, que acarretam variações neste fluxo. Se um time é composto por diversos seres humanos, é fato que as emoções também afetarão seu fluxo de trabalho.

Ansiedade: o mal do século
Gerir um projeto de software é, basicamente, gerir aquisição de conhecimento. Conhecimento de negócio, sobre o objetivo a ser atingido, e conhecimento tecnológico, sobre como o objetivo será atingido. Durante todo o projeto, uma emoção está sempre presente: a ansiedade. Ficamos ansiosos pelas expectativas geradas por mudanças em requisitos, ficamos ansiosos pela proximidade do prazo, ficamos ansiosos pelo desempenho do time, ficamos ansiosos pela saída de um membro do time. Enfim, um projeto de software é estressante. Não há coração que agüente. E, se o coração de um projeto de software é o time de desenvolvimento, ele deve ser observado atentamente e cuidado. E isso só é possível conhecendo-se a pulsação por sprint do time. Sua capacidade média de entrega. Daí, deve-se estar atento ao que o time tem a dizer sobre seu trabalho diante das seguintes situações:

Pressão baixa: Se um time atinge uma pulsação abaixo do seu mínimo, fatalmente será acometido pela ansiedade dos gestores, patrocinadores ou usuários. Uma entrega era prevista e foi bem abaixo do esperado. O time tem algo a declarar. Times não deixam de performar simplesmente porque não querem performar. Algo os atrapalha, seja emocionalmente, seja profissionalmente. E, além da ansiedade externa, o time acumula sua própria ansiedade, porque sabem que estão abaixo do esperado, e porque estão sofrendo por algum fato.

Pressão alta: Se um time começa a se comprometer com sprints acima do seu histórico máximo, provavelmente está sofrendo pressão para tal. A ansiedade cresce porque o time sabe que está sob a expectativa de entregar acima do seu registro máximo, e provavelmente ele mesmo não sabe se conseguirá entregar o que se comprometeu a entregar. Seu esforço para realizar esta entrega será maior que o normal, invadindo o bem-estar do time. Provavelmente horas extras serão utilizadas para atingir o objetivo, e um novo registro máximo será instituído para o time caso ele consiga entregar em condições sub-humanas. O time conseguirá atingir tal feito por mais 2 ou 3 sprints, e daí o estresse causado pelo alto grau de ansiedade e cansaço começará a aparecer em falhas bobas e conflitos internos.

Em ambos os casos, a ansiedade por atingir ou superar expectativas leva ao estresse e até à frustração. Por isso é tão importante que o ScrumMaster esteja atento e auxilie o time na manutenção do seu ritmo sustentável. Este ritmo certamente é muito mais produtivo e criativo do que “o máximo que se pode aguentar”.

Horas extras: a descarga de adrenalina de um time
Assim como descargas de adrenalina, as horas extras devem ser usadas com cautela durante um projeto e de forma planejada. Se uma pessoa é submetida a descargas freqüentes de adrenalina, provavelmente seu coração ficará acelerado até parar. Ele cansa. Se um time for submetido a horas extras por um tempo exagerado, provavelmente ele ficará acelerado até parar. Ele cansa. Seus membros ficarão desmotivados, frustrados, produzirão menos do que o normal em determinado momento da jornada intensa e, fatalmente, deixarão o time em prol de sua saúde ou qualidade de vida. Horas extras devem ser usadas como descargas de adrenalina: com um objetivo definido e por um tempo determinado.

Sucesso? Mantenha um ritmo saudável
Sem dúvidas, o coração de um projeto está no time que o sustenta. Existirá a vontade de realizar um projeto, patrocínio para realizar um projeto, líderes para guiar sua execução. Mas tudo isso é inútil sem um time para transformar o ideal em realidade. E não basta apenas ter um time que torne os ideais realidade. Este grupo deve estar suficientemente motivado, unido e confortável para que o ideal seja atingido com qualidade. Desta forma, um time é capaz de manter um ritmo sustentável, saudável. Um ritmo que atinja a superação sem que os próprios membros do time a percebam.
Um dos maiores erros que alguns gestores cometem é assumir que o sustentável não é o suficiente. Ora, se o sustentável não é o suficiente, o insustentável é? Claro que não. O suficiente é manter um ritmo com o qual o time consiga realizar suas entregas consistentemente, corretamente, com qualidade, gerando a previsibilidade tão valorizada pelos gestores organizacionais e bem-estar para seus próprios membros. Tal qual um coração saudável.

Tagged with: , ,
%d blogueiros gostam disto: