Entregue novas funcionalidades com segurança

Wilson Júnior
2 min readNov 28, 2016

--

No mundo tecnológico, pensamos muito em melhores algoritmos, linguagens, como escrever um código fácil de manter, como automatizar o deploy, etc. Mas existe um fator crucial para o sucesso de um software bem projetado: a satisfação dos usuários, se ela não é cumprida todo esforço para ter um software bem projetado pode ir água abaixo. Então demonstrarei alguns pontos para entrega de novas funcionalidades em um sistema que preze muito pela satisfação dos usuários.

Métricas

Possuímos emoções que nos ajudam a ter criatividade sobre novos modelos de uso, porém, só podemos comparar o resultado se medirmos bem o antes e depois da mudança: ex depois que adicionamos um step a mais no formulário a desistência do preenchimento aumentou em x%, este novo tamanho de foto fez com que aumentamos o tempo de permanência na página, etc. Como sempre digo: não despreze as emoções nem os números, ambos devem trabalhar juntos.

Aprenda com um grupo menor de usuários

Você não precisa colocar em risco todo seu set de usuários aplicando uma mudança brusca de uma vez, escolha um grupo menor de usuários que estejam dispostos a experimentar as mudanças, aprenda com o feedback e métricas deste grupo e enfim aplique esta mudança para todos os usuários.

Plano de rollback e features flag

Um plano de rollback é importante para caso alguma funcionalidade não se comportar bem podermos voltar ao estado anterior com segurança sem prejudicar os usuários, uma técnica bem usada para permitir o rollback e rollout de uma feature é o uso de featureflags, elas permitem habilitar o novo uso e retroceder utilizando interfaces admistrativas ou variáveis de ambiente.

Mudanças big bang? Não!, mudanças graduais são uma boa ideia

Mudanças menores são mais controláveis, podemos analisar o impacto de cada uma delas e também garantir uma segurança maior, o risco de ter deixado alguma coisa para trás neste cenário abaixa muito. Então prefira várias mudanças menores com risco menores do que mudanças maiores com risco maiores.

--

--