Estabelecer iterações e planos de liberação
O Agile e outras metodologias iterativas se baseiam nos conceitos de iterações e lançamentos. Este artigo descreve a atribuição de iterações e lançamentos durante o planejamento. Essas atribuições orientam a visibilidade da linha do tempo a fim de facilitar as conversas entre os membros da equipe de estratégia de nuvem. As atribuições também alinham tarefas técnicas de modo que a equipe de adoção de nuvem possa ser gerenciada durante a implementação.
Estabelecer iterações
Em uma abordagem iterativa à implementação técnica, você planeja os esforços técnicos em torno de blocos de tempo recorrentes. As iterações tendem a ocorrer em blocos de uma a seis semanas. O consenso sugere que duas semanas é a duração da iteração média da maioria das equipes de adoção de nuvem. Mas a escolha da duração da iteração depende do tipo de esforço técnico, da sobrecarga administrativa e da preferência da equipe.
Para começar a alinhar os esforços a uma linha do tempo, sugerimos que você defina um conjunto de iterações que durem de 6 a 12 meses.
Entender a velocidade
Alinhar os esforços a iterações e lançamentos requer uma compreensão da velocidade. Velocidade é a quantidade de trabalho que pode ser concluída em qualquer iteração específica. Durante o planejamento inicial, a velocidade é uma estimativa. Após várias iterações, ela se torna um indicador altamente valioso dos compromissos que a equipe pode fazer com segurança.
Você pode medir a velocidade em termos abstratos, como em story points. Você também pode medi-la em termos mais tangíveis, como horas. Para a maioria das estruturas iterativas, recomendamos usar medidas abstratas para evitar desafios relacionados a precisão e percepção. Os exemplos neste artigo representam a velocidade em horas por sprint. Essa representação torna o tópico mais compreendido universalmente.
Exemplo: uma equipe de adoção de nuvem de cinco pessoas se comprometeu com sprints de duas semanas. Dadas as obrigações atuais, como reuniões e suporte a outros processos, cada membro da equipe pode contribuir consistentemente com 20 horas por semana para o esforço de adoção. Para essa equipe, a estimativa de velocidade inicial é de 100 horas por sprint.
Planejamento de iteração
Inicialmente, você planeja as iterações avaliando as tarefas técnicas com base na lista de pendências priorizada. As equipes de adoção de nuvem estimam o esforço necessário para concluir várias tarefas. Essas tarefas são atribuídas à primeira iteração disponível.
Durante o planejamento de iteração, as equipes de adoção de nuvem validam e refinam estimativas. Eles fazem isso até que tenham alinhado toda a velocidade disponível a tarefas específicas. Esse processo continua para cada carga de trabalho priorizada até que todos os esforços se alinhem a uma iteração prevista.
Nesse processo, a equipe valida as tarefas atribuídas ao próximo sprint. A equipe atualiza as estimativas com base nas conversas sobre cada tarefa. A equipe, então, adiciona cada tarefa estimada ao próximo sprint até que a velocidade disponível seja atingida. Por fim, a equipe estima tarefas adicionais e as adiciona à próxima iteração. A equipe executa essas etapas até que a velocidade dessa iteração também seja esgotada.
O processo anterior continua até que todas as tarefas sejam atribuídas a uma iteração.
Exemplo: vamos elaborar mais o exemplo anterior. Suponha que cada migração de carga de trabalho exija 40 tarefas. Suponha também que você estima que cada tarefa para levar uma média de uma hora. A estimativa combinada é de aproximadamente 40 horas por migração de carga de trabalho. Se essas estimativas permanecerem consistentes para as 10 cargas de trabalho priorizadas, essas cargas de trabalho levarão 400 horas.
A velocidade definida no exemplo anterior sugere que a migração das primeiras 10 cargas de trabalho terá quatro iterações, o que são dois meses de tempo do calendário. A primeira iteração consistirá em 100 tarefas que resultam na migração de duas cargas de trabalho. Na próxima iteração, uma coleção semelhante de 100 tarefas resultará na migração de três cargas de trabalho.
Aviso
Os números de tarefas e estimativas anteriores são usados estritamente como exemplo. Tarefas técnicas raramente são consistentes. Não veja esse exemplo como uma reflexão da quantidade de tempo necessária para migrar uma carga de trabalho.
Planejamento de liberação
Na adoção da nuvem, um lançamento é definido como uma coleção de entregas que produzem valor comercial suficiente para justificar o risco de interrupção dos processos de negócios.
O lançamento de qualquer alteração relacionada à carga de trabalho em um ambiente de produção cria algumas alterações nos processos de negócios. Idealmente, essas alterações são contínuas e os setores de negócios veem o valor delas sem interrupções significativas do serviço. Mas o risco de ocorrerem interrupções nos negócios está presente em qualquer mudança e não deve ser ignorado.
Para garantir que uma alteração seja justificada por seu retorno potencial, a equipe de estratégia de nuvem deve participar do planejamento de lançamentos. Depois que as tarefas forem alinhadas a sprints, a equipe poderá determinar uma linha do tempo aproximada de quando cada carga de trabalho estará pronta para o lançamento para produção. A equipe de estratégia de nuvem revisaria o momento de cada lançamento. Em seguida, a equipe identificaria o ponto de inflexão entre o risco e o valor comercial.
Exemplo: dando continuidade ao exemplo anterior, a equipe de estratégia de nuvem analisou o plano de iteração. A revisão identificou dois pontos de lançamento. Durante a segunda iteração, um total de cinco cargas de trabalho estarão prontas para migração. Essas cinco cargas de trabalho fornecerão valor comercial significativo e dispararão o primeiro lançamento. O próximo lançamento ocorrerá duas iterações depois disso, quando as próximas cinco cargas de trabalho estiverem prontas para lançamento.
Atribuir caminhos e marcas de iteração
Para clientes que gerenciam planos de adoção de nuvem no Azure DevOps, os processos anteriores são refletidos atribuindo um caminho de iteração a cada tarefa e História de Usuário. Também é recomendável marcar cada carga de trabalho com um lançamento específico. A marcação e a atribuição alimentam a população automática dos relatórios de linha do tempo.
Próximas etapas
Estimar as linhas do tempo para comunicar as expectativas corretamente.