sábado, 15 de outubro de 2011

Hopeful Delivery

Com as técnicas de continuous delivery em constante debate na comunidade de desenvolvimento, uma prática já bastante consagrada vem se tornando cada vez mais comum. Isso ocorre por que esta prática acaba sendo confundida com continuous delivery na medida em que as entregas ocorrem com mais frequência. A esta prática eu dou o nome de Hopeful Delivery.

O hopeful delivery implica em gerar uma versão de seu produto para colocar em produção que a equipe (e os demais envolvidos) tenham esperança de que funcione. Em alguns casos algumas pessoas chegam a confiar na entrega, mas esta segurança não é compartilhada por todos os membros da equipe ou pelos demais envolvidos, ficando somente na esperança.

Vale ressaltar que, se a confiança não é compartilhada por todos os membros da equipe, pelo cliente, pelos usuários e todos os demais envolvidos, então a entrega não é confiável. Entregar continuamente desta forma pode ser chamado de Continuous Hopeful Delivery.

Como fugir do Hopeful Delivery?

O primeiro e mais trivial sintoma do hopeful delivery é quando nenhum membro da equipe, ou quase nenhum, confia nas entregas que estão sendo realizadas. Neste caso, existe a possibilidade de a equipe estar desacreditada de seu próprio potencial ou de conhecer suas atuais limitações. Busque deixar transparentes as limitações da equipe (técnicas, recursos, comportamentos, etc), criando um ambiente onde a equipe se sinta confortável para aprimorar suas habilidades de forma a alcançar um nível de maturidade e qualidade em que a confiança comece a se tornar presente.

Um segundo e importante sintoma é a desconfiança ou insegurança de algum membro da equipe nos mecanismos (tecnológicos e comportamentais) criados pela equipe para garantir a segurança da entrega. Em geral, quando existe esta desconfiança é por que a capacidade técnica dentro da equipe não está nivelada ou existem conflitos entre seus membros. Em ambos os casos, problemas podem estar sendo mascarados e não existe transparência no funcionamento da equipe. Neste caso, será preciso resolver os conflitos na equipe e buscar disseminar o conhecimento necessário para que a equipe tenha um conhecimento avançado das técnicas e ferramentas necessárias para garantir a qualidade da entrega.

O terceiro e mais óbvio sintoma são os erros em produção. Erros em produção sempre acontecem, mesmo em entregas verdadeiramente confiáveis. O grande problema de entregas baseadas na esperança é o descontrole da equipe com relação aos erros que ocorrem em produção. Neste caso, é importante disponibilizar alguma forma de a equipe tomar conhecimento de forma direta sobre os erros que ocorrem em produção. Medir (em tempo real) os erros é importante e dar o feedback diário à equipe com relação aos erros pode ser a chave para trazer o comprometimento necessário na solução dos defeitos. Com a métrica em mãos, também pode-se definir metas e limites, onde o regime de trabalho (stop the line!) pode ser definido de acordo com estas métricas.

Finalmente, se o cenário do seu projeto implica:
  1. Falta de confiança na equipe
  2. Equipe trabalhando de forma pouco transparente, conflitos e desnivelamento de conhecimento muito acentuado
  3. Quantidade de defeitos em produção desconhecida ou não está sob o controle da equipe
você não está fazendo continuous delivery, mas hopeful delivery. Busque o continuous delivery de forma consistente, focando em confiança e comprometimento da equipe, pois esta busca pode ser a melhor forma de alcançar a solução para estes problemas.

Nenhum comentário:

Postar um comentário