A liberação de um produto é a parte mais importante do trabalho de qualquer empresa de software. Mas se você tem medo de fazer um lançamento, talvez esteja fazendo algo errado. Vou lhe contar como costumo organizar o lançamento. Este artigo não pretende ser um guia completo, pois tudo é individual no setor de desenvolvimento de software.
Como se preparar para o lançamento?
Escolha uma pessoa responsável
Você pode se revezar no plantão, jogar dados ou puxar fósforos - de qualquer maneira é bom. Importante é a rotação de pessoas e o treinamento daqueles que não sabem como fazer uma liberação. Por exemplo, ao jogar dados, você pode inserir as regras que aquele que estava de plantão na última vez tem o direito de transferir e, se ele estava de plantão duas vezes seguidas, automaticamente você não está de plantão. O dever não deve ser encarado como punição ou conscrição, e deve haver pessoas que possam segurar.
Personalizar calendário
Defina uma data no calendário corporativo e verifique se todas as partes interessadas estão informadas.
Criar tabela no wiki
Indique a versão da tabela, a data e a pessoa responsável pela liberação. Isso é mais necessário para atualizar dados históricos. Você pode e deve observar imediatamente se o lançamento foi bem-sucedido e o que exatamente foi incluído no lançamento.
Notas de versão
Este é o mesmo "o que exatamente foi incluído no lançamento". Antes de tudo, esses dados precisam ser compartilhados com os analistas: eles podem comparar qualquer alteração no KPI com o que está incluído no release. Com base nesses dados, eles podem tirar conclusões sobre quais funcionalidades os usuários precisam, quais idéias são boas e quais não são e o que será inserido na próxima iteração.
Anúncio interno
É importante que outros departamentos saibam quando o lançamento ocorreu, por exemplo, para fazer postagens em serviços sociais. redes sobre uma nova versão de um produto (crie um guia de informações), monitore KPI (as métricas podem aumentar ou diminuir) etc.
Durante o lançamento
Criar brunch de lançamento
O código a ser liberado não deve ser alterado, exceto para corrigir bugs críticos. E, no caso ideal, qualquer correção deve passar por uma solicitação de pool. Além disso, todos os testes devem ser verdes.
Enviar notificação
Você precisa notificar a todos por correio ou no messenger que um brunch de lançamento foi criado e os preparativos estão em andamento para o lançamento.
Marca de criação
Certifique-se de criar uma tag quando a liberação for finalizada e aperte as correções no ramo de desenvolvimento.
Faça o lançamento em si
Idealmente, você deve ter mecanismos que controlam a liberação: por exemplo, libere apenas 10% dos usuários ou apenas não pagadores. Isso é necessário para isso. para reduzir os danos causados por erros que ocorreram durante o processo de desenvolvimento e não foram encontrados durante o teste.
Liberação com um botão
Mítico. Obviamente, quanto menos fator humano envolvido no lançamento, melhor. Mas isso é normal, se nem tudo pode ser automatizado.
Se tudo desse errado como planejado
Obviamente, em caso de erro, você não pode se culpar, mas precisa resolver o problema juntos e elaborar um plano para evitar esses incidentes no futuro.
Após o lançamento
Para monitorar
Não se esqueça de monitorar erros, carga do servidor. Também vale a pena prestar atenção ao KPI: se você fez um lançamento e sua DAU caiu, talvez algo não esteja funcionando tão bem quanto deveria, ou as próprias ferramentas de monitoramento estão quebradas. Qualquer atividade suspeita vale a pena conferir.
Relatar sucesso e falha
É muito melhor se eles aprenderem sobre o problema com desenvolvedores, não com usuários. E, claro, se você resolveu algum problema, pode se gabar com segurança.
Retrospectiva
Obviamente, isso depende em parte da metodologia de desenvolvimento, mas se algo der errado durante o processo de lançamento, vale a pena discutir. Se algo foi bom, também vale a pena discutir. Idealmente, no quadro, para cada ponto de falha, deve haver um ponto de sucesso ou gratidão a um colega. Isso ajudará a não rolar uma retrospectiva para irritante e negativo.
Encomende pizza e comemore
Durante essas reuniões, apenas colegas se tornam amigos e camaradas. E isso significa que, na próxima batalha, os amigos não o decepcionarão.
Comece a se preparar para o próximo lançamento
Eu realmente gosto da idéia do trem de lançamento, quando cada lançamento ocorre regularmente em datas claramente definidas. Graças a isso, o mecanismo de lançamento é depurado pela equipe. Como escrevi acima, não é necessário liberar para 100% dos usuários: ele pode ser lançado para um pequeno grupo de pessoas.
Como outras empresas lançam?
Spotify
O Spotify será lançado com frequência com base na prática do trem de lançamento. Como o nome dessa prática sugere, o release é muito semelhante a um trem: aqueles que ainda não tiveram tempo de terminar seu trabalho estão aguardando o próximo release. As vantagens dessa abordagem são que uma equipe com falha não atrasa a entrega do produto e não tenta executar tarefas inacabadas. E, como resultado, os devops não têm seus telefones rasgados à noite e a equipe de plantão não aparece no trabalho com as malas sob os olhos de manhã. Obviamente, essa abordagem não funcionará para uma empresa de terceirização: o cliente não pagará pelo trabalho inacabado. Francamente: Gosto da cultura da empresa, aconselho a assistir a um vídeo (https://labs.spotify.com/2014/03/27/spotify-engineering-culture-part-1/) sobre como ela funciona.
Reserva
Esses caras também são muito legais. Seus lançamentos são baseados em testes A / B. Suponha que exista uma versão estável atual - versão A e que o desenvolvedor tenha acabado de terminar - versão B. Se o KPI for melhor na versão B, vale a pena aumentar a porcentagem de usuários para esta versão. Se a versão B for pior, existem duas opções: a versão B simplesmente não é estável ou apenas um recurso que ninguém precisa. Essa abordagem é adequada para uma empresa que cuida de seu produto de trabalho, mas provavelmente não fará uma revolução. Se você estiver interessado em aprender mais sobre manufatura enxuta, leia o livro Lean Startup (http://theleanstartup.com/).