Jump to section

O que é metodologia Ágil?

Copiar URL

É uma abordagem do desenvolvimento de software que busca a entrega frequente de aplicações funcionais criadas por meio de iterações rápidas. 

No entanto, a expressão "metodologia ágil" pode ser um pouco enganosa, pois sugere ser uma abordagem particular para o desenvolvimento de software. A metodologia ágil não uma receita de bolo, um passo a passo do que fazer na hora de desenvolver uma aplicação. Pelo contrário, é uma forma de pensar a colaboração e os fluxos de trabalho. Ela é um conjunto de valores que guiam nossas escolhas sobre o que e como criar.

Na prática, desenvolver software segundo as metodologias Ágil é entregar rapidamente pequenas funcionalidades para aumentar a satisfação do cliente. Essas metodologias adotam abordagens adaptáveis e o trabalho em equipe para priorizar o melhoramento contínuo. Em geral, um grupo de desenvolvimento ágil é formado por pequenas equipes auto-organizadas compostas de desenvolvedores e representantes empresariais que se reúnem pessoalmente com frequência durante o ciclo de vida do desenvolvimento do software. Ele usa uma abordagem leve na documentação do software e incorpora as mudanças em todas as etapas do ciclo de vida, em vez de resistir a elas.

Leia mais sobre a desenvolvimento ágil no site opensource.com

O conceito de metodologia ágil que conhecemos hoje surgiu em 2001. Como reação às abordagens de gerenciamento de projetos em cascata (aquelas que organizam o desenvolvimento de aplicações como uma série de sequências lineares), um grupo de desenvolvedores redigiu o Manifesto for Agile Software Development. Nesse documento, programadores propõem uma nova abordagem para o desenvolvimento de software e descrevem as quatro características que eles acreditam ser mais importantes do que outras questões. Segundo eles, as equipes de desenvolvimento ágil de software devem valorizar:

  • Indivíduos e interações, em vez de processos e ferramentas
  • Softwares funcionais, em vez de documentação abrangente
  • Colaboração do cliente, em vez de negociação de contratos
  • Respostas às mudanças, em vez de um plano fixo

Os autores esclarecem que todos os itens na lista acima têm valor inerente. No entanto, eles propõem que priorizar os itens à esquerda (em negrito) acima dos itens à direita pode levar a resultados melhores no desenvolvimento de soluções. O manifesto Ágil não tem como objetivo prescrever um conjunto de procedimentos. Ele é um guia para uma nova maneira de pensar sobre o desenvolvimento de aplicações.

O manifesto teve vários resultados. Por exemplo, um método ágil pode promover a execução de desenvolvimento e testes como processos simultâneos e contínuos, em vez de sequenciais como no método em cascata. Em outras palavras, no desenvolvimento em cascata deve-se concluir uma fase inteira antes de passar para a próxima, enquanto o desenvolvimento ágil permite a execução de diversas sequências ao mesmo tempo. 

As abordagens de trabalho ágeis foram criadas para solucionar as limitações do método em cascata – uma derivação da linha de produção de Henry Ford que, mais tarde, foi utilizada no desenvolvimento de aplicações. Desde sua criação em 2001, o desenvolvimento ágil prosperou nos setores de software e gerenciamento de projetos, com um número considerável de variações.

O método ágil surgiu quando vários desenvolvedores de aplicações começaram a notar que os ciclos de produção e as formas de colaboração do método em cascata não produziam os resultados desejados. No início dos anos 1990, esse problema já tinha se tornado crônico. Era comum um atraso de vários anos entre a validação de uma necessidade de negócios pela empresa e a entrega de uma aplicação funcional para supri-la. Durante esse período, as mudanças nos mercados e nas demandas corporativas causavam o cancelamento de partes significativas dos projetos de aplicações antes mesmo da entrega. Esse desperdício de tempo e recursos fez com que vários desenvolvedores buscassem uma alternativa.

Com a disrupção sempre iminente, as organizações adotam estratégias de transformação digitalcom cada vez mais frequência, na tentativa de acompanhar o ritmo acelerado dos negócios. E quando essas estratégias são usadas, o desenvolvimento ágil tem um papel importante.

O desenvolvimento ágil é a base muitos dos fluxos de trabalho digitais atuais. A cloud computing, com sua infraestrutura de TI flexível e escalável, avançou paralelamente às demandas do desenvolvimento ágil. O desenvolvimento nativo em nuvem adota uma visão similar à do desenvolvimento ágil na qual a aplicação é encarada como uma série de serviços interconectados que escalam para atender às necessidades de negócios.

DevOps tem como conceito derrubar a antiga barreira entre as operações e o desenvolvimento de softwares. SRE é uma implementação do DevOps que usa o software como uma ferramenta para gerenciar sistemas e automatizar tarefas operacionais. Os métodos CI/CD assumem que o software mudará de forma continuamente e oferecem aos desenvolvedores ferramentas para acelerar a implantação de novos códigos.

Você já deve ter percebido que o conceito de "metodologia Ágil" é, por si só, uma ideia ágil, que responde às necessidades dos desenvolvedores de software em diferentes momentos. Lembre-se disso enquanto vemos rapidamente alguns frameworks ágeis, que têm nomes diferentes e podem variar entre implementações.

Os frameworks ágeis para desenvolvimento de aplicações, como Scrum, kanban ou extreme programming (XP), são a base de processos de desenvolvimento de software populares, como DevOps e integração e entrega contínuas (CI/CD).

Scrum é provavelmente o framework ágil mais adotado atualmente. No entanto, nem toda metodologia ágil é Scrum, e nem todo Scrum é ágil. Esse framework é direcionado ao gerenciamento do trabalho em equipes pequenas e multifuncionais, com entre cinco e nove pessoas, que dividem suas tarefas em ações a serem concluídas em um período de tempo consistente chamado de sprint. As equipes de Scrum são formadas por membros, um mestre de Scrum e um proprietário da solução. Em geral, o Scrum é implementado quando um projeto grande pode ser dividido em sprints de duas a quatro semanas. O foco do Scrum está nos loops de feedback de reuniões chamadas "retrospectivas". O lema extraoficial do Scrum poderia ser "inspecionar e adaptar-se".

Outros frameworks ágeis, como o kanban, são anteriores ao manifesto ágil. Mas esses frameworks são considerados ágeis porque promovem os valores esboçados no manifesto. Há muitas abordagens e frameworks ágeis para a escalabilidade ágil. Seria difícil listar todos aqui.

Saiba como os frameworks ágeis podem promover a inovação com o Red Hat Open Innovation Labs

Leitura recomendada

ARTIGO

O que é DevSecOps?

Se você quiser aproveitar ao máximo a agilidade e a capacidade de resposta do DevOps, a equipe de segurança da TI precisará participar de todo o ciclo de vida das suas aplicações.

ARTIGO

O que é CI/CD?

A prática de CI/CD aplica monitoramento e automação contínuos a todo o ciclo de vida das aplicações, desde as etapas de teste e integração até a entrega e a implantação.

ARTIGO

O que faz o engenheiro de DevOps?

O engenheiro de DevOps é um profissional que reúne uma combinação única de habilidades e tem o conhecimento especializado para promover mudanças em termos de colaboração, inovação e cultura dentro da empresa.