5
respostas

Dúvida: Iteração e Sprint

Não consegui compreender a diferença entre a Iteração e a Sprint. Elas são sinônimo uma da outra ou qual a diferença de uma da outra? Obrigado!

5 respostas

Oi Eduardo.

Tudo bom?

Obrigada por compartilhar sua dúvida conosco.

De acordo com o Scrum Guide 2020:

Os Sprints são o bater de coração do Scrum, onde as ideias são transformadas em valor. São eventos de duração fixa de um mês ou menos para criar consistência. Um novo Sprint começa imediatamente após a conclusão do Sprint anterior.Todo o trabalho necessário para alcançar o Product Goal, incluindo o Sprint Planning, as Daily Scrums, a Sprint Review e a Sprint Retrospective, acontece dentro dos Sprints.

Os Sprints são eventos com um time-box bem definido, não superando um mês e dentro dele acontece estes outros eventos, como a Sprint Restrospective e a Sprint Review. Mas os Sprints são constantemente repetidos: são iterativos. A rigor, a ideia é essa, Eduardo.

Eu recomendo, caso seja do seu interesse, os cursos de Certificação PMI-ACP: Entenda a estrutura do Scrum, apesar do título de certificação, também é voltado para quem quer apenas se apropriar do Scrum ainda mais.

Espero ter ajudado.

Bons estudos.

E abraços.

Oi Daniela,

Tudo certo e com você?

Então, dentro de uma sprint podemos ter várias iterações?

Tudo ótimo aqui!

Os sprints que serão iterativos, pois ele engloba o fluxo de trabalho dentro do Scrum.

O fluxo do Scrum

O Fluxo do Scrum é caracterizado por ciclos regulares de 2 ou 4 semanas no máximo, chamados Sprints.

Os requisitos a serem produzidos em um projeto são mantidos em uma lista nomeada Product Backlog.

No início de cada Sprint, faz-se um Sprint Planning Meeting, ou seja, uma reunião de planejamento na qual o Product Owner prioriza os itens que estão no Product Backlog (Sprint Planning 1) e a equipe define e estima as tarefas, que ela será capaz de implementar durante o Sprint que está iniciando.

As tarefas alocadas em um Sprint são incluídas, então, no Sprint Backlog.

Diariamente, ao longo da Sprint, a equipe faz uma breve reunião (normalmente de manhã) chamada Daily Scrum. O objetivo desta reunião é tornar visível o andamento das tarefas e identificar impedimentos e priorizar o trabalho do dia que se inicia.

Ao final de um Sprint, a equipe apresenta o que foi produzido ao Product Owner em uma cerimônia chamada de Sprint Review Meeting. Finalmente, faz-se uma Sprint Retrospective, onde são discutidos os pontos de melhoria e ações para a próxima Sprint (melhoria contínua). Em seguida, a equipe parte para o planejamento do próximo Sprint e então reinicia-se o ciclo.

Iteração / Sprint

Conjunto de atividades de modelagem de negócios, requisitos, análise e projeto, implementação, teste e implantação, em várias proporções, dependendo do local em que ela está localizada no ciclo de desenvolvimento.

O que é iteração?

Para entender o que significa iteração, é preciso pensar na repetição de um processo que gera sequência. No contexto dos métodos ágeis, desenvolvimento iterativo representa uma caixa de tempo no qual o projeto é realizado, dividido em trabalho funcional específico.

É preciso entender alguns conceitos importantes.

Foi criado pela metodologia ágil para solucionar algumas falhas dos projetos planejados pelo método tradicional ou cascata, especialmente para o desenvolvimento de softwares.

O que é iteração?

Para entender o que significa iteração, é preciso pensar na repetição de um processo que gera sequência. No contexto dos métodos ágeis, desenvolvimento iterativo representa uma caixa de tempo no qual o projeto é realizado, dividido em trabalho funcional específico.

O que é iterativo?

No processo iterativo essa repetição sempre vai gerar um refinamento até que o projeto atinja um nível satisfatório para as metas do projeto.

Esse refinamento vai gerar também menor impacto nos custos, porque há uma melhor compreensão do projeto a cada vez que ele passa por uma iteração.

No método Extreme Programming, esse efeito iterativo é chamado de iteração mesmo, já na metodologia Scrum, essas iterações são conhecidas como Sprint, que tem um intervalo definido, que pode variar entre 2 a 4 semanas.

O que é incremental?

No modelo incremental o projeto é construído e entregue por partes, em pedaços, mas cada um é composto por um subconjunto de funcionalidades completas, que terão feedbacks coletados e requisitos revistos nas iterações.

Essa iteratividade vai resultar em um incremento e em cada incremento será realizada a análise, implementação, teste/verificação e manutenção.

O desenvolvimento incremental prevê a divisão em miniprojetos, com sistemas parciais criados para produção de um sistema total final.

Desenvolvimento incremental e iterativo: como funciona?

Um projeto iterativo e incremental pode ter antecipação de valor para os clientes com a entrega de partes do produto e aprimoramentos contínuos.

Já no ciclo de vida preditivo do projeto, de acordo com o Guia PMBOK, o escopo, cronograma e custo do projeto são determinados na fase inicial, enquanto a entrega é totalmente realizada no final.

É um ciclo orientado pelo plano, com fluxo de trabalho no qual é previsto um tipo de trabalho em cada fase .

Mas quando vamos usar o método iterativo e incremental? Especialmente quando surgem demandas por liberação antecipada de um produto e recursos e metas de alto risco estão envolvidos.

No desenvolvimento iterativo e incremental dos métodos ágeis, as estimativas de tempo e custo são modificadas rotineiramente à medida que a equipe vai entendendo melhor sobre o produto desenvolvido no projeto. Os feedbacks obtidos a partir de cada Sprint ou Iteração vão produzir melhorias no intervalo que vem a seguir.

Pelo método iterativo e incremental é preciso um propósito, objetivo e flexibilidade para promover as adaptações, por isso, é possível dizer que esse tipo de desenvolvimento trabalha em fases:

  • Fase inicial: quando lida-se com escopo, requisitos e riscos em níveis mais altos;
  • Fase de requisito: realiza-se a arquitetura do projeto, modera-se riscos e atende-se aos requisitos não funcionais;
  • Fase de design: funções sofisticadas são projetadas nesta fase;
  • Fase de testes: depois da conclusão de mais uma iteração, o produto ou serviço vai passar por testes;
  • Fase de avaliação: os feedbacks são recebidos logo ao final da iteração;
  • Fase de entrega: entrega parcial é realizada ao final de cada iteração e o cliente já agrega valor já no início do projeto.

Quais as vantagens do desenvolvimento iterativo e incremental?

Trabalhar dessa forma iterativa e incremental vai proporcionar algumas vantagens, entre elas:

  • É muito adequado para organizações ágeis;
  • No desenvolvimento iterativo e incremental, é gasto menos tempo na documentação e mais no design;
  • Mudanças podem ser realizadas na etapa de desenvolvimento;
  • Há mais chances de modificar a direção de um projeto;
  • É mais flexível e menos caro alterar escopo e requisitos;
  • Um desenvolvimento paralelo pode ser planejado;
  • Riscos podem ser identificados e resolvidos durante a iteração;
  • Testes durante iterações menores são mais fáceis;
  • Mais agilidade e produtividade para o time de desenvolvimento;
  • É possível obter um feedback mais confiável do usuário.

Atualmente, o desenvolvimento de produtos, especialmente os softwares, exigem planejamento e execução iterativas e incrementais, porque o mundo é dinâmico, exige mudanças e adaptações a partir de inovações, porque nem sempre o que se planeja no início, por questões diversas, permanece igual ao longo da execução.