A Importância do Aceite

404150851_cd5bcb1ac2

Ao final de cada ciclo de trabalho (no scrum chamado de sprint), é indicado que o time realize uma demonstração das novas funcionalidades desenvolvidas. Esta demonstração é realizada pelo time para o próprio time. Importante lembrar que o cliente pode fazer parte do time (cliente presente).

Para uso efetivo do tempo do time, é aconselhável que o solicitante de uma funcionalidade, seja cliente interno ou externo, já tenha tido a oportunidade de validar a funcionalidade antes da revisão da sprint. Ou seja, sempre que o time entender que terminou uma funcionalidade o cliente é chamado para aceitar a mesma.

Geralmente neste processo o cliente vai passar alguns feedbacks, sejam eles positivos ou negativos, ou até mesmo indicar que a funcionalidade ficou completamente fora do que ele esperava.

No caso do feedback ser positivo, nós teremos segurança que vamos entregar software funcionando de verdade. Comemore!

No caso do feedback ser “tá quase lá”, você terá oportunidade de ajustar e evoluir a funcionalidade antes de colocá-la em produção.

E no caso do feedback ser negativo, do tipo “não é nada disto, vocês não entenderam o que eu pedi”, comemore também, pois como o Daniel Wildt sempre fala: 

A única certeza que temos é que vamos falhar, então precisamos falhar rápido.

Imagine se você só descobrisse que construiu uma funcionalidade totalmente diferente do que o cliente esperava no dia em que o software entrou em produção, ou em um treinamento com toda equipe do seu cliente. Seria terrível!

Por isto, criar a cultura de Aceite dentro de seu time pode ser uma prática muito saudável, e sem contraindicações, pois todo mundo ganha, a empresa, o time e o cliente.

 

Importante: Pedir para o cliente validar uma tarefa não substitui de forma alguma o processo de testes. A ideia aqui não é propor que o cliente faça testes buscando quebrar a funcionalidade, afinal de contas nosso time deve ser composto por desenvolvedores profissionais, que sabem testar software. O objetivo de buscar o aceite do cliente é verificar se ficou tudo de acordo com o esperado. Normalmente este processo não leva mais do que alguns minutos.

 

Uma alternativa interessante para criar a cultura do aceite no time pode ser criar no kanban uma fila chamada “Aguardando Aceite”, onde os cartões prontos na visão do time serão posicionados, e somente após aceite do cliente estes serão movidos para a fila “Pronto”.

Um fator importante para este processo funcionar é o cliente ou solicitante das demandas estar disponível para realizar aceites das tarefas prontas periodicamente, caso contrário estaremos apenas criando um gargalo.

Este processo trará uma maior segurança ao time, uma vez que os cartões considerados prontos pelo time realmente estarão prontos de verdade já que o cliente os aceitou durante a sprint.

Se no seu cenário for impossível aproximar o cliente, mesmo que por skype, considere então buscar o aceite pelo menos da pessoa que realizou a análise da funcionalidade. Isto já vai trazer um ganho significativo de qualidade, o que vai elevar a moral e a coragem do time.

Anúncios

Definition of Ready

4837626192_d4f1c83ff6

Quando um desenvolvedor vai iniciar o trabalho em uma funcionalidade, ele precisa ter informações mínimas para que este trabalho seja bem sucedido. Entender o que o cliente deseja alcançar na funcionalidade, conhecer o contexto de negócio envolvido, entre outras.

Estas informações são chamadas de “definition of ready” ou “definição de pronto para trabalhar”.

Considere que você tem uma demanda do cliente. Qual a quantidade mínima de informação necessária para dizer que ela pode ser colocada no seu “a fazer”, sendo priorizada?

Veja exemplos de perguntas que devem ser respondidas:

Quem? É importante que esteja identificado a persona que vai utilizar o recurso que está sendo desenvolvido;

O quê? Uma breve descrição do que deve ser desenvolvido;

Por quê? Se o desenvolvedor entender porque determinado recurso foi solicitado a sua chance de desenvolver software aderente as necessidades do cliente serão bem maiores;

Como? Talvez esta seja uma das informações mais importantes. O desenvolvedor precisa saber como será utilizada funcionalidade que está sendo desenvolvida. Ele precisa saber quais são os critérios de aceitação. Este link pode ajudar.

Estimativa: É interessante que só sejam iniciadas tarefas que já foram estimadas pelo time, isto para evitar que os desenvolvedores trabalhem em épicos.

Estas informações se relacionam a capacidade do time de entender o que o cliente busca, melhorando a escrita das demandas, seja com as perguntas “Quem, O que, Por quê, Como”, seja com protótipos de papel e outras técnicas que ajudem os 3Cs (um Cartão que gera Conversas que vão gerar Confirmações).

Existem outras dicas para se seguir, como o modelo INVEST, mas isto é assunto para outro post.