Iteração 0 – o começo de tudo

A Iteração 0 é quando uma equipe de desenvolvimento de software vai iniciar um novo produto/serviço/projeto e para isso será necessário um tempo para setup. Este setup pode envolver mudanças de infraestrutura, sessões de arquitetura, configurar servidores de integração contínua, entre muitas outras atividades. O importante é que como resultado final, a equipe esteja pronta para iniciar o trabalho.

É comum, após uma etapa de concepção (inception) ou pré-game, o time iniciar com uma iteração 0 de duas semanas.

Atividades comuns em Iterações 0:

  • Definições relacionadas a SCM.
    • O time irá trabalhar com git? SVN?
    • O time irá trabalhar com trunk-based development e feature toggles?
    • O time irá trabalhar com merge requests e code reviews?
  • Infraestrutura
    • O time possui ambientes específicos como por exemplo: ambiente para testes de performance dedicado? ambiente de aceite para os usuários e clientes?
    • Os servidores de Integração Continua e os agentes estão configurados e instalados? Ferramentas de análise de código (a la SonarQube) estão instaladas e configuradas?
  • Build & deploy
    • O time consegue buildar a aplicação localmente em ambiente de desenvolvimento da mesma forma que o faz em outros ambientes? (repetível e automatizado?)
  • Arquitetura de Solução
    • O time tem uma visão sobre como este novo produto/serviço/projeto se encaixara com as dependências e outras aplicações que eventualmente podem estar integradas com esta nova solução?
    • Existem padrões e soluções que devem ser considerados ou reavaliados?
    • Spikes ou PoCs (Provas de Conceito, do inglês Proof of Concept)
  • Requisitos não funcionais
    • Existem requisitos ou necessidades específicas relacionadas a performance do produto/serviço/projeto? Tempo de resposta? Tempo de carregamento?
    • Existem requisitos ou necessidades de segurança da informação?

Questões relacionadas ao processo e ao ciclo de desenvolvimento também são interessantes de serem discutidas durante uma iteração 0. Por exemplo, se a equipe irá trabalhar utilizando o framework Scrum, qual será a duração da sprint? Quais dias e horários fazem mais sentido para as cerimônias?

Atividades de team building também podem ser úteis, especialmente se houver modificações nos integrantes da equipe. Entender os valores individuais e coletivos e os motivadores intrínsecos, são dois exemplos que eu acredito que agregam valor (ambos descritos em outros posts deste blog).

Muito mais importante do que a lista acima, é ter clareza sobre quais objetivos e metas, o que o time quer completar e entregar na Iteração 0 e o que vai permitir que o time inicie o desenvolvimento.

 

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s