Explorar o planejamento contínuo

Concluído

O planejamento contínuo é um dos oito recursos do DevOps.

Descobrir por que o planejamento contínuo é necessário

Vamos examinar um estudo de caso de um aplicativo de software desenvolvido por uma agência governamental entre 2000 e 2005. O projeto não estava perto de ser concluído quando foi oficialmente abandonado em janeiro de 2005, tendo se transformado em um fiasco completo. Além de desperdiçar pelo menos US$ 100 milhões, a falha trouxe críticas generalizadas para a agência e seu diretor.

Um segundo projeto foi iniciado em 2006, com resultados desastrosos semelhantes. Os dois esforços usaram a metodologia de desenvolvimento de Cascata e big design up front, com um grande evento de ativação planejado clássico. Eles acabaram sem nada entregue e centenas de milhões de dólares gastos.

Diagram shows the government agency project timeline.

Por que essas tentativas falharam?

  • Big design up front – a equipe de 200 pessoas gastou seis meses criando os requisitos.
  • Mudança de prioridades – um desastre ocorreu durante o projeto, resultando em uma enorme mudança no escopo e outra equipe de 300 pessoas trabalhou por seis meses, o que resultou em 600 páginas de requisitos.
  • O esforço desperdiçado e o retrabalho levaram a prazos perdidos e ao esgotamento da equipe, com 700.000 linhas de código sendo escritas e reescritas.

Em dezembro de 2010, um Scrum Studio foi configurado e colocalizado. A equipe foi reduzida de 400 pessoas nos projetos originais para 40. O design passou de 600 páginas de requisitos para 670 histórias de usuários. A equipe lançou o código e demonstrou novos recursos a cada duas semanas. Depois de alguns sprints, tornou-se possível prever as escalas de tempo aproximadas e planejar alterações empresariais incrementais. O código foi concluído em dezembro de 2011.

Mas por que é difícil planejar bem em detalhes?

Alan Turing desenvolveu uma máquina durante a Segunda Guerra Mundial para decifrar o dispositivo de criptografia conhecido como Enigma.

Turing precisou decifrar constantemente novos códigos para salvar vidas. Em vez de desistir por causa da complexidade aparentemente infinita, Turing sabia que ele precisava decifrar apenas pequenos detalhes para dar lugar para resultados maiores:

"Só podemos ver uma pequena distância à frente, mas podemos ver muito do que precisa ser feito."

Os projetos de software ambiciosos são sempre complexos. Mas não deixe a complexidade sobrecarregar você. Em vez disso, trabalhe onde há clareza: o curto prazo.

Planeje de maneira contínua e eficaz com direção clara, foco e agilidade confiando nos OKRs (objetivos e resultados-chave)

Antes de definirmos o planejamento contínuo, precisamos apresentar um conceito e uma estrutura importantes para ajudá-lo a planejar de maneira contínua e eficaz com direção clara, foco e agilidade.

Os OKRs (objetivos e resultados-chave) são uma estrutura de definição de metas projetada para conectar metas estratégicas definidas pela liderança com as atividades cotidianas das equipes de execução.

Importante

Os OKRs ajudam a identificar o melhor resultado possível e a criar clareza sobre o que é sucesso de verdade.

Os OKRs geralmente são definidos trimestralmente para ter o foco nítido e agilidade.

O objetivo é a direção e o resultado-chave deve ser mensurável. No final, você pode olhar e sem argumentos, decidir: eu fiz isso ou não fiz isso? Sim? Não? Simples. Sem julgamentos.

Os OKRs estão localizados em todas as equipes dentro da organização para demonstrar o alinhamento e a transparência.

O que são OKRs?

Há três aspectos essenciais do OKRs:

  • Eles compõem uma estrutura para definir objetivos claros, fornecendo clareza sobre a intenção e a direção em todos os níveis da organização.

  • Eles são reforçados com resultados-chave mensuráveis. Os resultados-chave são resultado pelo qual o sucesso é medido.

  • Eles orientam uma cultura de mentalidade de resultados, permitindo uma clara mudança da mentalidade de saída para a mentalidade de resultado.

Exemplo de OKR

Veja um exemplo de OKR:

Objetivo: colocar um astronauta na lua até 1970.

Resultados-chave:

  1. Criar uma espaçonave com menos de 40 mil libras até 1965.
  2. Treinar os astronautas para o pouso na lua até 1967.
  3. Pousar a espaçonave na lua com sucesso.
  4. Trazer os astronautas de volta para a Terra em segurança.

Este exemplo de OKR identifica o objetivo ou a meta de colocar um astronauta na lua até 1970.

Observação

Os objetivos precisam ser fáceis de entender, definir a direção clara e fornecer motivação.

Nesse exemplo, os resultados-chave são medidas de progresso que medirão o sucesso do objetivo.

Observação

Os resultados-chave precisam ser mensuráveis e identificar como alcançar o objetivo.

Principais benefícios dos OKRs

Há cinco benefícios principais dos OKRs:

  • Foco: cada objetivo deve caber em uma linha. Para os resultados-chave, você não deve ter mais de cinco por objetivo.
  • Alinhamento: os gerentes e colaboradores vinculam suas atividades cotidianas à visão de toda a empresa da organização. O termo para esse vínculo é alinhamento e seu valor não pode ser exagerado.
  • Compromisso: agendas e recursos serão ajustados para garantir que todos os compromissos acordados sejam entregues.
  • O acompanhamento de OKRs da saída para o resultado é o motivo pelo qual o gerenciamento por objetivos é tão popular com as empresas de nível superior. Cada OKR deve ser capaz de ser acompanhado por meio das métricas estabelecidas quando eles foram escritos.
  • Ampliação: os OKRs inerentemente forçam as empresas a se esforçar mais, a fazer os recursos durarem um pouco mais do que imaginavam.

Comparar o planejamento contínuo e o estático

O planejamento contínuo é uma prática que exige que planejadores, arquitetos e equipes ágeis integrem seus planos em toda a empresa continuamente.

No planejamento contínuo, os métodos de planejamento baseados em Scrum e os projetos emergentes permitem que as equipes refinem o planejamento no nível de execução.

É importante ter um plano de alto nível que seja resiliente à mudança, mas que seja guiado por uma visão e uma finalidade claras.

O triângulo de ferro de compensações de Cascata vs. metodologias de desenvolvimento Agile ilustra a comparação entre o planejamento contínuo e o estático.

Na metodologia estática, o planejamento do escopo é fixo. Você determina quanto tempo o projeto levará e quanto ele custará.

Na metodologia Agile, que usa princípios de planejamento contínuo, o tempo é fixo para atender aos objetivos de negócios. A única coisa negociável é o escopo.

Diagram shows the iron triangle of tradeoffs for Waterfall vs. Agile development methodologies.

O triângulo do ferro geralmente mostra o tempo, os recursos e a funcionalidade. A Gartner adicionou a qualidade a essa representação porque a duração e o custo estão correlacionados e a qualidade geralmente é esquecida.

Mas e quanto ao sucesso das duas práticas?

Diagram shows a comparison between the success rates of Agile and Waterfall projects. 9% of the Agile projects failed, 39% succeeded, and 52% were challenged. 29% of the Waterfall projects failed, 11% were successful, and 60% were challenged.

Um motivo pelo qual os projetos Agile são mais bem-sucedidos é porque as versões de lote pequeno aumentam as oportunidades de obter conhecimento.

Há quatro coisas a serem consideradas:

  • As necessidades de negócios mudam constantemente e fazem isso em curto prazo.
  • O Agile tem os mecanismos de planejamento para acompanhar as alterações nos negócios.
  • As equipes de alto desempenho facilmente podem ir rapidamente na direção errada.
  • Obter conhecimento reduz o risco.

As metodologias Agile e Cascata são desafiadas. O Agile acaba sendo bem-sucedido em 30% mais do tempo.

Explorar os seis princípios de planejamento contínuo

Existem seis princípios de planejamento contínuo:

  1. Simplicidade de valor
  2. O manifesto para desenvolvimento de software Agile
  3. Raciocínio de design
  4. Desenvolvimento iterativo e incremental
  5. Gerenciamento de Lean
  6. Precisão da estimativa

Princípio de planejamento contínuo nº 1: simplicidade de valor

O primeiro princípio de planejamento contínuo é valorizar a simplicidade.

"Se você não consegue explicar de maneira simples, você não entende bem o suficiente."

– Albert Einstein

Princípio de planejamento contínuo nº 2: manifesto para desenvolvimento de software Agile

O segundo princípio de planejamento contínuo é o manifesto para desenvolvimento de software Agile.

O manifesto refere-se ao fornecimento de software. Ele se refere ao desenvolvimento de software, não ao design ou gerenciamento de projetos. Ele fica no núcleo do planejamento contínuo e do DevOps.

Estamos descobrindo maneiras melhores de desenvolver software fazendo isso e ajudando outras pessoas a fazer isso. Por meio desse trabalho, valorizamos o seguinte:

  • Indivíduos e interações em vez de processos e ferramentas
  • Software em funcionamento em vez de documentação abrangente
  • Colaboração com o cliente em vez de negociação de contratos
  • Responder a mudanças em vez de seguir um plano

Princípio de planejamento contínuo nº 3: raciocínio de design

O terceiro princípio de planejamento contínuo é o raciocínio de design.

O raciocínio de design usa uma abordagem centrada no ser humano para a inovação. Ele se concentra na interseção de viabilidade, possibilidade e desejo de estabelecer limites e reduzir o desperdício.

Diagram explains design thinking. Design thinking establishes the boundaries of the product early (often called the minimal viable product or “MVP”). It focuses on the intersection between business viability, technical and budget feasibility, and desirability. This intersection is where innovation happens.

Princípio de planejamento contínuo nº 4: desenvolvimento iterativo e incremental

O quarto princípio de planejamento contínuo é o desenvolvimento iterativo e incremental.

Algumas pessoas temem não saber o que receberão. O desenvolvimento iterativo resolve esse problema colocando os requisitos e a priorização nas mãos dos stakeholders em um loop de comentários iterativo. Cada iteração é completa, utilizável e útil para seus usuários. Ela adiciona mais funcionalidades, preferivelmente a funcionalidade mais importante primeiro.

Princípio de planejamento contínuo Nº 5: gerenciamento de Lean

O quinto princípio de planejamento contínuo é o gerenciamento de Lean.

O valor é definido do ponto de vista do cliente final. No processo, os fluxos de valor são identificados e as etapas em que o valor não é entregue ao cliente são identificadas como desperdício e removidas.

O processo começa novamente, empenhando-se para um estado de perfeição usando o aprimoramento contínuo.

Diagram shows the stages of the process: identify value, map the value stream, create flow, establish pull, and seek perfection.

Princípio de planejamento contínuo nº 6: precisão da estimativa

O sexto princípio de planejamento contínuo é a precisão da estimativa.

Uma estimativa é uma previsão analítica de quanto tempo levará para algo ser concluído, quanto custará e quantos recursos podem ser entregues. Ele tem dois atributos – precisão e exatidão, que estão completamente não relacionados entre si. As estimativas são de propriedade da equipe de engenharia.

Um destino é uma declaração de uma necessidade empresarial: quanto tempo gostaríamos que algo levasse, quanto gostaríamos que custasse ou quantos recursos gostaríamos que fossem entregues. Os destinos são de propriedade da empresa.

Um compromisso é uma promessa de fornecer funcionalidade e qualidade até uma determinada data. Os compromissos são de propriedade conjunta.

Importante

A meta do planejamento contínuo é manter o alinhamento entre estimativas, destino e compromisso. Caso contrário, não conseguiremos atender às expectativas dentro e fora da organização.

Explicar a relação entre o OKR e o Scrum

Agora que você entende o porquê e a importância dos OKRs, bem como algo sobre o planejamento contínuo, aqui está a conexão entre os dois.

A estruturação do trabalho usando técnicas como os OKRs reduzirá as incertezas, pelo menos no curto prazo. Como os OKRs devem ser definidos em cascata, isso começará a alterar a forma como os gerentes exibirão seu estilo de gerenciamento.

Técnicas como OKRs são uma forma rápida e eficiente de iniciar a jornada de distanciamento do estilo de gerenciamento autoritário.

Objectives and key results lead to epics. Epics help define features, which involve user stories, and result in a development task.