Agile
Agile

Modelos Ágeis

A ideia realmente decolou no final da década de 1990, com o desenvolvimento da noção de abordagens ágeis, como Metodologia de Desenvolvimento de Sistemas Dinâmicos (DSDM, do inglês dynamic systems development method) (STAPLETON, 1997), Scrum (SCHWABER e BEEDLE, 2001) e Extreme Programming (BECK, 1999; BECK, 2000).

No ambiente de negócios, os requisitos mudando o tempo todo, a tecnologia evolui muito rápido, por isso metodologias ágeis são essenciais para reagir a mudanças rapidamente r entrega de software rápida.

  1. Especificação e implementação intercalados

  2. Sistema desenvolvido em uma série de versões, as quais os stakeholders testam e dão feedbacks

As versões são liberadas a cada 3 ou 4 semanas com correção de bugs e features. São liberadas versões beta para que os usuários ajudem a refinar os requisitos, minimizando o tempo de especificação.


Extreme Programming

Em Extreme Programming, os requisitos são expressos como cenários (chamados de estórias do usuário), que são implementados diretamente como uma série de tarefas. Os programadores trabalham em pares e desenvolvem testes para cada tarefa antes de escreverem o código. Quando o novo código é integrado ao sistema, todos os testes devem ser executados com sucesso. Há um curto intervalo entre os releases do sistema.

Em um processo XP, os clientes estão intimamente envolvidos na especificação e priorização dos requisitos
do sistema. Os requisitos não estão especificados como uma lista de funções requeridas do sistema. Pelo con- trário, o cliente do sistema é parte da equipe de desenvolvimento e discute cenários com outros membros da equipe. Juntos, eles desenvolvem um ‘cartão de história’, englobando as necessidades do cliente.

O cliente tem que estar sempre junto no desenvolvimento.

Em princípio, portanto, o software deve ser sempre fácil de compreender e mudar à medida que novas histó- rias sejam implementadas

  • Boas práticas
    • Refatoração constante
    • Remoção de código duplicado
    • Reutilização de código