top of page
Buscar

O que é metodologia ágil no desenvolvimento de software?

  • rogeriolord
  • 11 de jul. de 2023
  • 3 min de leitura
Cada organização de tecnologia, hoje, parece praticar a metodologia ágil para desenvolvimento de software ou, pelo menos, alguma versão dela. Quer você seja novo no desenvolvimento ágil de aplicativos ou tenha aprendido o desenvolvimento de software há décadas atrás, usando a metodologia de desenvolvimento de software em cascata, hoje seu trabalho é, no mínimo, um pouco influenciado pela metodologia ágil. Mas o que é isso?

O que é metodologia ágil e como deve ser praticada no desenvolvimento de software? Como o desenvolvimento ágil difere do método em cascata, na prática? Qual é o ciclo de vida de desenvolvimento ágil de software? E o que são scrum agile, Kanban e outros modelos ágeis? É disso que vou tratar neste artigo. Fique atento!

Antes do ágil: a era da metodologia em cascata

Os desenvolvedores com mais de 20 anos no mercado se lembram dos dias em que a metodologia em cascata era o padrão máximo para o desenvolvimento de software. O processo de desenvolvimento de software exigia uma tonelada de documentação inicial antes de qualquer codificação ser iniciada.

Alguém escrevia, primeiro, um documento de requisitos de negócios que continha tudo o que o negócio precisava no aplicativo. Esses documentos de requisitos de negócios eram longos, detalhando tudo: estratégia geral, especificações funcionais abrangentes e designs de interface de usuário visual.

Os tecnólogos pegavam o documento de requisitos de negócios e desenvolviam seu próprio documento de requisitos técnicos. Este documento definia a arquitetura do aplicativo, estruturas de dados, designs funcionais orientados a objetos, interfaces de usuário e outros requisitos não funcionais.

Esse processo de desenvolvimento de software em cascata finalmente chegava na codificação, na integração e, por fim, no teste, antes que um aplicativo fosse considerado pronto para produção. Todo o processo poderia, facilmente, levar anos.

Anos 2000: Manifesto para o Desenvolvimento Ágil de Software

Alguns técnicos se reuniram e criaram um manifesto, em 2001, conhecido como Agile Manifest. Nele, alguns valores foram salientados, com foco em eliminar a burocracia e facilitar um desenvolvimento de software fluido, mas ainda seguro. Rápido, mas ainda com qualidade. Esses valores visavam priorizar:

● Indivíduos e iterações mais que processos e ferramentas;
● Software funcional mais que documentação abrangente;
● Colaboração do cliente mais que negociação de contratos;
● Responder às mudanças mais que seguir um plano.
Scrum, Kanban e outras estruturas ágeis

A estrutura ágil mais popular é chamada de scrum . Ela se concentra em uma cadência de entrega chamada sprint e estruturas de reunião que incluem o seguinte:
● Planejamento
● Compromisso
● Reuniões diárias

Sprints terminam com uma reunião de demonstração onde a funcionalidade é mostrada ao dono do produto, seguida por uma reunião retrospectiva onde a equipe discute o que correu bem e o que precisa ser melhorado em seu processo.

Muitas organizações empregam scrum master ou coaches para ajudar as equipes a gerenciar o processo de scrum.

Embora o scrum domine, existem outras estruturas ágeis:
● Kanban funciona como um processo de fan-in e fan-out em que a equipe extrai histórias de usuários de um quadro de entrada e os canaliza por meio de um processo de desenvolvimento em estágios até que sejam concluídos.

● Algumas organizações adotam uma abordagem híbrida ágil e em cascata, usando processos ágeis para novos aplicativos e cascata para os antigos, já validados.

● Existem também várias estruturas para permitir que as organizações escalem a prática para várias equipes .

Enquanto as estruturas ágeis definem o processo e a colaboração, as práticas de desenvolvimento ágil são específicas para lidar com as tarefas de desenvolvimento de software realizadas em alinhamento com uma estrutura ágil.

Confira algumas dessas práticas:
● Há equipes que adotam a programação em pares, em que dois desenvolvedores codificam juntos para gerar um código de qualidade mais alta e permitir que os desenvolvedores mais experientes sejam mentores dos mais novos.

● Equipes mais avançadas adotam desenvolvimento orientado a testes e automação para garantir que a funcionalidade em que estão trabalhando forneça os resultados esperados.

● Muitas equipes também adotam padrões técnicos para que a interpretação do desenvolvedor não leve apenas à funcionalidade desejada, mas também atenda à segurança, qualidade do código, convenções de nomenclatura e outros padrões técnicos.

O objetivo deste artigo não é torná-lo mestre em métodos ágeis, mas tão somente introduzir o assunto a você que estava em uma completa ignorância sobre o tema. Não mais.
 
 
 

Comentários


Contato

Seus detalhes foram enviados com sucesso!

© por Rogério Lopês .'.

 
bottom of page