De que se trata o artigo

O presente artigo tem como premissa principal apresentar um estudo abrangente sobre metodologias ágeis de software, expondo um pouco do seu histórico geral e de suas características principais. Serão feitas também menções sobre a empregabilidade de metodologias específicas. Como são várias as opções ágeis disponíveis, o enfoque será dado a duas das mais populares: eXtremme Programming (XP) e Scrum.

Em que situação o tema é útil

Na perspectiva mais tradicional do desenvolvimento de software, o objetivo principal a ser atingido é o sucesso do projeto em si, enquanto que numa perspectiva ágil, este objetivo é substituído pela satisfação do cliente. Fica perceptível a mudança de paradigma entre uma abordagem e outra. Na prática, isto resulta numa nova forma de pensar e trabalhar, ou seja, uma nova filosofia. Enquanto que na metodologia tradicional há uma linha de processos bem definidos e formais, numa metodologia ágil, existe uma maior flexibilidade de suas práticas de acordo com o projeto.Para fazer essa transição, de uma filosofia a outra é preciso conhecer opções disponíveis do gerenciamento ágil e então aplicar alguma ou realizar uma mescla de várias para a sua realidade. Neste artigo são apresentadas e comparadas duas disciplinas ágeis, SCRUM e XP, tornando fácil assim o entendimento.

Metodologias Ágeis

Em termos gerais, duas das características comuns que definem uma metodologia ágil são o seu processo de desenvolvimento marcado por iterações que, num curto espaço de tempo, produz algo de valor ao cliente e o enfoque na comunicação interpessoal, deixando qualquer tipo de documentação em segundo plano. Em vista do alto grau de usabilidade, duas metodologias ganham destaque e serão as abordadas neste artigo: eXtreme Programming (XP) e Scrum. Com o intuito de apresentá-las, serão abordados pontos como a história da melhoria do processo de desenvolvimento e a definição geral que caracteriza um método como sendo ágil. Só então serão apresentadas as duas metodologias citadas, massificando a teoria sobre suas principais características e empregabilidade.

Em desenvolvimento de software, o termo Ágil significa, basicamente, a busca em simplificar as coisas, tanto em nível de projeto quanto de equipe. A parte de projeto pode ser traduzida em reduzir ao máximo o nível de complexidade de planejamento ao mesmo tempo em que todos os esforços são concentrados em priorizar aquilo que agrega maior valor para o cliente. Já em termos de equipe é a busca pelo estabelecimento da participação e colaboração necessária entre os envolvidos no projeto. Em busca dessa “agilidade”, surgiram inúmeras técnicas, metodologias e melhores práticas, conforme será visto no decorrer do artigo.

História

Historicamente falando, décadas atrás, o Sistema Toyota de Produção ficou conhecido no meio industrial por ser uma solução, até então inovadora. Esta solução foi desenvolvida pela Toyota, renomada fábrica japonesa de automóveis, na época do pós-guerra (Segunda Guerra Mundial), onde a indústria japonesa apresentava uma produtividade muito baixa, comparado ao hemisfério ocidental, justificada por uma alastrante falta de recursos. Este fato, naturalmente impedia essas indústrias de adotarem um modelo de produção em massa.

O Sistema Toyota de Produção, também conhecido como Lean Manufacturing (Produção Enxuta), provia à fábrica uma capacidade de produção de melhor qualidade aliado a um menor custo de produção, o que o tornava muito superior aos sistemas de produção mais tradicionais, como Taylor e Ford. O segredo desta inovação girava em torno do termo japonês Kaizen que representa a dedicação pela melhoria contínua em todos os aspectos da vida. Passando isso para a parte de produção, tem-se então uma força motriz que se adapta ao processo de fabricação, aos clientes e às exigências do mercado, conforme os seguintes itens:

• Realização de pequenas tarefas em busca de uma melhora gradativa a cada dia;

• Definição de padrões e a busca por atingi-los numa escala crescente (padrões cada vez mais elevados);

• Melhora contínua em todas as áreas e em todos os níveis.

Além disso, a Toyota concentrou-se em eliminar qualquer tipo de obstáculo fora do projeto, permitindo uma fluidez maior em suas tarefas. Foi adotado também o conceito Just-in-Time, que visava produzir somente o necessário para atender às necessidades do momento, evitando assim filas de produção desnecessárias.

Todo o poder da produção enxuta está na forma de como ela é aplicada em uma organização e, mais que isso, na mudança de cultura ocasionada dentro da empresa. Algumas das melhores práticas deste tipo de produção são:

• Previsão de planejamento e pensamento;

• Padronização de processos;

• Melhoria contínua (teoria Kaizen);

• Trabalho e colaboração em equipe em detrimento à divisão de trabalho convencional;

• Descentralização de responsabilidades;

• Solução de erros através da busca pela raiz da causa;

• Foco tão somente no que pode agregar mais valor ao cliente;

• Manter-se flexível para eventuais requisitos imprevistos do cliente;

• Manutenção de processos simples.

Diante do que foi dito, este tipo de produção era até então voltada para o ramo industrial de manufatura, mas logo começou a ser também aproveitado na indústria de TI, ou seja, no desenvolvimento de software. Segundo Jeff Sutherland, criador do Scrum (metodologia ágil que será vista a seguir), todos os métodos ágeis para software podem ser considerados aplicações da teoria Lean voltada para a área.

Lean Software Development ...

Quer ler esse conteúdo completo? Tenha acesso completo