O que é a abordagem iterativa ágil e onde ela é usada?

Publicados: 2018-06-22

Para acompanhar a demanda do mercado, os cenários de rápida evolução dos negócios digitais pressionaram cada vez mais os CIOs para fornecer desenvolvimento de software igualmente rápido.

De acordo com o Gartner, um número crescente de organizações de TI está optando pelo desenvolvimento ágil para simplificar o gerenciamento de projetos e ilustrar o valor comercial.

O 12º relatório anual State of Agile constatou que um dos cinco principais motivos relatados para a adoção de metodologias ágeis foi a entrega acelerada de software , aumentando para 75% em 2018. Enquanto o Planejamento Iterativo, com um aumento de 88%, foi o segundo Agile mais empregado Técnica em 2018.

O que é desenvolvimento iterativo ágil?

Os métodos ágeis de desenvolvimento de software são mais comumente descritos como desenvolvimento iterativo e incremental. A estratégia iterativa é a pedra angular das práticas ágeis, das quais as mais proeminentes são SCRUM, DSDM e FDD. A ideia geral é dividir o desenvolvimento do software em sequências de ciclos repetidos (iterações). Cada iteração recebe um período de tempo fixo conhecido como timebox. Um único timebox normalmente dura de 2 a 4 semanas.

O modelo iterativo ágil talvez seja melhor explicado por Craig Larman em seu livro Agile and Iterative Development – ​​A Manager's Guide . Larman explica que o modelo funciona em uma roda ADTC (Análise, Projeto, Código, Teste). Isso quer dizer que cada ciclo de iteração incorpora a Análise do plano, o Design, seu Código e simultaneamente o Teste. A roda ADTC é mais tecnicamente chamada de ciclo PDCA (Plan, Design, Check, Adjust). A equipe Agile implementa o ciclo PDCA em cada iteração separadamente da seguinte maneira:

P (Plano) - Planejamento de Iteração

Neste evento, a equipe colabora para discutir os objetivos para a próxima iteração. Ele também resume o trabalho realizado e determina o backlog da equipe necessário para a próxima iteração.

D (Design) - Execução de Iteração

Este é o passo 'do' onde ocorre o desenvolvimento do software, seu design e codificação. Se for uma segunda ou terceira iteração, o teste de funcionalidade também será realizado. A equipe coleta histórias de usuários e se prepara para a próxima etapa, que é a Revisão de Iteração.

C (Verificação) - Revisão de Iteração

Também conhecida como etapa de 'verificação', a Revisão de Iteração é realizada com o Product Owner. A equipe mostra a entrega testada ao Product Owner, que então revisa o trabalho concluído e verifica se todos os critérios foram atendidos.

A (Ajuste) - Retrospectiva da Iteração

Nesse caso, a equipe avalia todo o processo da iteração desde a primeira etapa. Ele funciona essencialmente em quaisquer melhorias que são coletadas em iterações anteriores. Novos problemas são identificados juntamente com suas causas. Antes que a equipe inicie o próximo ciclo novamente, a lista de pendências da equipe é refinada para referência futura.

As iterações são repetidas para otimizações e improvisações e as lições aprendidas dos ciclos anteriores são aplicadas no próximo ciclo. Até que um software totalmente funcional esteja pronto para chegar ao mercado.

Benefícios do desenvolvimento iterativo ágil

O gerenciamento ágil de projetos foi criado como uma alternativa mais flexível à abordagem Waterfall tradicionalmente rígida.

O método Waterfall é uma abordagem linear que prossegue sequencialmente de uma fase para a próxima, sem permitir que o desenvolvimento retorne à etapa anterior. Escusado será dizer que o método Waterfall causa repercussões iminentes, que incluem, mas não se limitam ao aumento dos custos de desenvolvimento, entrega prolongada de software e entrada de recursos adicionais.

Sudhakar Gorti, CIO da Environmental Data Resources concorda: Um dos principais benefícios do Agile sobre o Waterfall é que você vê uma entrega em uma base iterativa e o Product Owner pode decidir fazer alterações no backlog do produto”.

Envolvimento do cliente – O desenvolvimento iterativo ágil incentiva a contribuição do usuário. Após cada ciclo iterativo, o feedback do cliente é obtido e o produto é submetido às mudanças necessárias com base nesse feedback. Este aspecto traz adaptabilidade ao framework do projeto.

Favorece a Evolução – O planejamento no processo de desenvolvimento Agile Iterative é um feito contínuo, que permite espaço para evolução de ideias, ao invés de um planejamento extensivo que só antecede a execução e teste em Waterfall.

Avaliação de risco – A iteração ágil permite a identificação e mitigação de riscos no início do desenvolvimento para evitar lombadas mais tarde na linha do tempo.

Entrega Rápida – O trabalho é dividido em pequenos ciclos, permitindo que os membros da equipe dediquem seu foco e entreguem no prazo. Além disso, os testes são realizados simultaneamente na codificação e no design em cada iteração, o que reduz bastante o tempo necessário para a conclusão.

Onde a abordagem iterativa ágil é empregada?

A abordagem iterativa ágil é mais adequada para projetos ou negócios que fazem parte de um escopo em constante evolução. Projetos que não possuem um conjunto definido de requisitos destinados a um conjunto definido de tempo. Para esses casos, a Abordagem Iterativa Ágil ajuda a minimizar o custo e os recursos necessários cada vez que ocorre uma mudança imprevista.

nTask foi criado usando a metodologia Scrum. O Scrum permite o trabalho em equipe independente usando a roda ADCT, para a qual várias equipes da nTask trabalharam colaborativamente em sprints de duas semanas (iterações).

Como o escopo do nTask está em constante evolução e as adições são feitas semanalmente, a abordagem iterativa permite que a equipe de desenvolvimento do nTask alterne para otimizações.

Brad Murphy, CEO da consultoria Agile Gear Stream, acredita que a abordagem Agile Iterative agora é amplamente útil em outras zonas além do desenvolvimento de software.

Ele explica como o Marketing Digital pode se beneficiar da abordagem iterativa usando o elemento de entrega frequente para coletar feedback do cliente. O feedback solicitado rapidamente pode ajudar diretamente a melhorar as iterações subsequentes para atrair um tráfego maior.

De acordo com investigações do Deloitte Center for Government Insights, 80% dos principais projetos federais de TI se autodenominaram “Agile Iterative” em 2017. Uma razão para esse aumento foi facilmente explicada pela redução no tempo necessário para concluir um projeto em harmonia com o custo total do projeto.

Outro relatório da Deloitte em 2015 revela que bancos como o Barclays também começaram a utilizar abordagens iterativas como Scrum em mais de 20% de suas auditorias internas. O Barclays concedeu o benefício do SCRUM em áreas como gestão de risco e planejamento.

A abordagem iterativa ágil não se limita apenas a organizações de TI e empresas financeiras. O Walmart usa a abordagem iterativa ágil para auditorias internas. Um de seus muitos sucessos pós-indução Agile incluiu economia de tempo em comparação com a abordagem de auditoria tradicional.

Ricky Barr, diretor administrativo de Auditoria Interna da United Airlines, resume sua experiência de empregar a Auditoria Interna Ágil da Deloitte como “um tempo de ciclo de auditoria mais rápido por meio de iterações de caixa de tempo”.

Até 8 anos atrás, muitas empresas, como a grande maioria dos clientes do Gartner, ainda usavam métodos tradicionais de Waterfall para desenvolvimento de aplicativos.

Mas com os benefícios demonstráveis ​​do Agile ao longo dos anos, que variaram de maior valor comercial a forte impacto organizacional, a comunidade Agile se expandiu de start-ups para marcas globais como IBM e Cisco.