Índice:

Introdução ao Shape-up

Índice:

Se você trabalha na área de engenharia de software, e se interessa por gestão de projetos, com certeza já deve ter ouvido falar na metodologia Shape-up ou no produto desenvolvido pelos seus criadores, o Basecamp. Produto que é gerenciado utilizando o Shape-up.

Nesse artigo vou apresentar os principais conceitos dessa metodologia, suas vantagens, pontos de atenção e como ela funciona no dia a dia de um time de engenharia de software.

Então para começar, vamos entender quais são as fases desse processo.

Conhecendo as etapas do processo de shape-up

Shapping

Essa é a primeira fase do processo, que funciona como uma etapa de discovery e refinamento de uma nova feature que o time possa vir a trabalhar no futuro. Nessa fase, o foco é definir limites e entender qual a melhor forma de especificar a feature para que o time possa trabalhar, mas sem fazer uma definição completa, pois um dos princípios é que o time de desenvolvimento tenha liberdade para decidir como vai entregar o que foi solicitado.

A primeira coisa é esboçar como a nova solução ficará dentro do produto, e vale ressaltar que é um esboço mesmo, nada muito concreto, mas também nem tão abstrato. Eles recomendam utilizar um pincel/marcador de ponta grossa e fazer o desenho em um papel. A ideia de utilizar o pincel de ponta mais grossa, é para que não sejam feitos os mínimos detalhes, pois não é um mockup de alta fidelidade, é simplesmente um esboço.

Pitch

É o resultado da etapa de shapping, mas vou deixá-lo destacado no artigo. O documento de pitch, vai conter o esboço, e apenas uma definição macro de como essa feature deverá funcionar dentro do produto. Aqui é muito importante também, focar no que NÃO deve ser feito, para delimitar o tipo de solução que será implementada, sem deixar espaço para o time ficar inventando coisas novas pelo meio do caminho.

No pitch tem alguns pontos importantes que precisam estar bem claros:

  • Problema que a nova feature irá solucionar;
  • Apetite: que é o quanto o time tem de tempo e disposição de apostar nessa ideia. No shape-up o time trabalha com ciclos de 6 semanas, mais detalhes serão explicados mais à frente;
  • Solução: como a nova feature vai solucionar o problema;
  • O que fica de fora: aquilo que o time não deve “perder” tempo tentando implementar;
  • Rabbit holes: quais armadilhas que o time pode cair.

Rabbit Holes

A fase de rabbit holes (buracos de coelho), é basicamente um mapeamento de problemas que o time pode encontrar durante o desenvolvimento e como podem lidar com isso. A ideia é que o time não cai em uma armadilha de algum imprevisto e não perca tempo tentando pensar como solucionar isso.

Betting Table

Como citei no começo do artigo, o shapping é uma etapa de discovery de algo que o time PODE vir a trabalhar. Mas como funciona isso?

Basicamente são criados vários pitches, e durante a betting table todos os pitches são apresentados e o time escolhe em quais demandas vão apostar esforços. Ou seja, o que eles acreditam que vai gerar mais valor para o produto, e que vale a pena trabalharem pelas próximas 6 semanas.

Os pitches reprovados são descartados, não existe backlog de demandas. O que ocorre é que se um pitch for muito bom, ele pode ser guardado e apresentado no futuro novamente.

Os pontos principais para a seleção dos pitches:

  • Ganhos: problemas que são realmente relevantes e que vão trazer um bom retorno para o time.
  • Apetite: a demanda realmente cabe no apetite de 6 semanas?
  • Comprometimento: o time vai focar esforços durante 6 semanas nessa demanda, então é algo que acreditam que vale a pena investir tempo, focados, sem as interrupções de várias reuniões no dia a dia.
  • A solução pensada é realmente atraente?
  • O time certo está disponível? Para certas demandas, podem ter pessoas que estejam mais aptas para desenvolverem.

Circuit breaker

A intenção de ter o apetite limitado em 6 semanas é para garantir que o time vai trabalhar na demanda apenas por esse período, mas obviamente que atrasos ocorrem. Se for entendido que o time vai precisar de mais 2 ou 3 dias para finalizar a demanda, com correção de bugs ou para finalizar uma parte pequena, está tudo bem. 

Porém, se for entendido mesmo antes do final que o prazo de 6 semanas não é suficiente para finalizar a demanda, ela é descartada, pois não vale a pena investir mais tempo do que 6 semanas. Se for algo muito relevante para o produto, essa demanda pode voltar para a fase de shapping.

É para isso que o circuit breaker existe, para garantir que o time não vai ficar trabalhando por tempo indeterminado em uma demanda.

Building

Finalmente chegamos a fase de desenvolvimento da demanda. Os times são formados por 2 desenvolvedores e 1 designer – que também constrói a parte do front-end. 

O time trabalha em projetos e não atividades. Por isso, o próprio time é responsável por criar as tarefas que irão trabalhar, e como vão dividir esse trabalho para entregar a demanda no período de seis semanas.

Uma parte interessante dessa fase, é que toda demanda que está sendo desenvolvida fica em um ambiente “público” da empresa, possibilitando que qualquer pessoa da empresa possa acessar e realizar os testes.Isso vai de encontro com a parte dos pitches, já que o pitch pode ser produzido por pessoas de qualquer área, como suporte, financeiro ou qualquer outra.

Entendendo o ciclo de vida

Agora que já falamos de cada etapa do processo, vamos entender o ciclo de vida completo do shape-up.

  • Shapping é a fase de refinamento das demandas, e dura até duas semanas;
  • Building é a fase de desenvolvimento em si, e dura seis semanas;
  • Cool down essa é uma fase de “descanso” para o time de desenvolvimento, ela ocorre junto com a fase de shapping, Aqui os desenvolvedores podem usar seu tempo para estudar, fazer melhorias no código, trabalhar em débitos técnicos e atuar em correções de bugs remanescentes da etapa de building.

Conclusão

A principal ideia por trás do shape-up é ter um processo de desenvolvimento mais dinâmico e adaptável à realidade do dia a dia do desenvolvimento de software. Quem já trabalhou nessa área, sabe que imprevistos acontecem e o segredo é saber se adaptar.

Esse é um dos motivos para trabalharem com ciclos de desenvolvimento com tempo limitado, pois se temos um intervalo de tempo definido, ajustes e cortes no escopo são uma alternativa para lidar com atrasos. Vale lembrar que reduzir o escopo é diferente de diminuir a qualidade da entrega para o cliente. 

Claro que para essa estrutura toda funcionar, esses times de 3 pessoas, contam com desenvolvedores mais experientes. E além disso, os times responsáveis pela fase de building, contam com o apoio de times de segurança e de plataforma, que trabalham para manter o que já existe na solução.

E se você se interessou pelo assunto, basta clicar aqui e acessar o livro do shape-up na íntegra. Até a próxima.

Publicado por:
Compartilhe:

Posts relacionados

entrega de software

No atual cenário de desenvolvimento de software, a pressão por eficiência e velocidade de entrega nunca foi tão intensa. Empresas de todos os tamanhos estão buscando maneiras de acelerar o

Estimativas de projetos de software

Quando falamos em gestão de um time de engenharia de software, os principais desafios que vem à cabeça são como estimar as atividades, e como lidar com as expectativas dos

Métricas e Estimativas de Software

No desenvolvimento ágil, métricas e estimativas de software são fundamentais para medir o desempenho e estimar o tempo necessário para concluir projetos de forma eficiente.Nesse artigo vou trazer um panorama