Integrando Agilidade com maturidade: O processo de desenvolvimento de um software é uma sequência lógica de atividades com o objetivo final de produzir ou evoluir um produto. Essas atividades englobam a especificação de requisitos, análise e design, implementação, testes e implantação. Caracterizando-se pela interação de ferramentas, pessoas e métodos.

Um dos caminhos para se trabalhar com melhoria de processos é fazer uso de modelos de maturidade. Estes indicam um conjunto de boas práticas que podem ser estabelecidas na organização de forma a propiciar que ela obtenha melhores resultados no desenvolvimento de produtos de software. Também estimulado pelo desafio de entregar software de qualidade, dentro do prazo e no custo planejado, surgiram as metodologias ágeis.

Entretanto, por defenderem formas de desenvolvimento muitas vezes contrárias, os modelos de maturidade CMMI e MPS.BR e os métodos ágeis geralmente caminham em vias diferentes. Porém, a partir das características apresentadas pelas principais práticas ágeis e modelos de maturidade de software mais utilizados, é possível definir um processo de desenvolvimento aderente aos padrões consolidados de qualidade e que seja implementado por métodos ágeis de desenvolvimento, unindo os benefícios de ambos os paradigmas.

Este artigo apresenta características específicas dos principais métodos ágeis e dos modelos de maturidade CMMI e MPS.BR, para então, desenhar um modelo que mostra, na prática, como os dois diferentes paradigmas podem se integrar e conceber um processo de desenvolvimento de software de qualidade moderno. Este artigo mostra que o preconceito existente que separa os modelos de maturidade e melhoria de software e as metodologias ágeis não é justificado. Inclusive, é apresentada uma proposta prática de integração entre eles.

Em que situação o tema útil: Diante do atual cenário de mercado altamente competitivo, é importante que as organizações invistam na melhoria de processos para atender às suas perspectivas (satisfação dos clientes, lucratividade, qualidade, entre outras).

A utilização de metodologias ágeis em projetos de desenvolvimento de software já é uma realidade, sendo motivada principalmente por sua característica dinâmica, exigência de um mercado cada vez mais competitivo. As práticas ágeis iniciaram sua aplicação em organizações de pequeno porte, apesar de terem mostrado, ao longo dos últimos anos, que também podem ser utilizadas em corporações de médio e grande porte, onde é comum a implementação de práticas formais de melhoria de processo de software, dada a necessidade de se repetir e melhorar os resultados obtidos em todos os projetos do portfólio organizacional. Os modelos de melhoria de processos de software mais utilizados no Brasil são o CMMI e MPS.BR, considerados referência para empresas que desejam elaborar processos otimizados e maduros.

Muitos adeptos dessas metodologias defendem que modelos de melhoria de software, como o CMMI e MPS.BR, e metodologias ágeis divergem entre si em conceito e propósito, impossibilitando que possam ser integrados. Talvez esse tipo de reação se deva ao aparente antagonismo de princípios entre elas ou, até mesmo, por simples orgulho proveniente do comportamento humano.

Na observação criteriosa dos processos e práticas do CMMI e MPS.BR e alguns métodos propostos pelo manifesto ágil, é possível perceber que ambos se complementam, ou seja, é perfeitamente viável definir um processo de software aderente a modelos de maturidade e utilizar métodos ágeis para sua implementação prática. A tendência é que os benefícios desses dois diferentes paradigmas sejam somados, possibilitando o desenvolvimento de software mais eficiente e maduro.

Metodologias Ágeis

Em 2001 foi criado o Manifesto Ágil, movimento cuja essência é o desenvolvimento de software respeitando os seguintes conceitos:

  • Pessoas e interações, ao contrário de processos e ferramentas;
  • ...
    Quer ler esse conteúdo completo? Tenha acesso completo