Essa é uma questão polêmica, e vejo muitos profissionais tentando responder e justificar a sua resposta. E a cada vez, que eu leio algo sobre o assunto, fico com uma outra dúvida: Será que existe a melhor metodologia para o desenvolvimento de software?
Mas antes de abordar as metodologias de software, vamos definir o que é metodologia.
De acordo com a Wikipédia, “Metodologia é o estudo dos métodos”. Hmmm, não ajudou muito, neh…
Vamos agora ver o que o Michaelis tem a dizer sobre metodologia:
1 Estudo científico dos métodos. 2 Arte de guiar o espírito na investigação da verdade. 3 Filos Parte da Lógica que se ocupa dos métodos do raciocínio, em oposição à Lógica Formal. M. didática: teoria dos procedimentos de ensino, geral ou particular para cada disciplina; didática teórica.
Essa segunda definição é bem profunda, e ajudaria bastante os marqueteiros, imagina só um falando: “A metodologia da nossa empresa, representa a arte de guiar o espírito ao cumprimento dos requisitos.”
Juntando as definições que foram apresentadas, podemos dizer que metodologia é um conjunto de procedimentos que são realizados visando um objetivo maior.
Vamos agora, ir para o mundo do desenvolvimento de software, no qual há várias metodologias que podem ser seguidas. Podemos dividir as principais metodologias em três categorias:
- Cascata: Cascata Clássica, Cascata Modificada e Modelo V;
- Iterativa: Modelo Espiral e RUP;
- Ágil: Extreme Programming (XP) e Scrum.
Cada uma dessas metodologias, como tudo na vida, tem suas vantagens e desvantagens, abaixo apresento uma comparação das metodologias, de acordo com alguns cenários:
Como pode ser visto na figura acima, de acordo com os cenários apresentados, a melhor metodologia seria o RUP. A razão para esse fato, é que a figura foi retirada do material para a certificação IBM Certified Specialist – Software Quality, e o RUP é um processo proprietário criado pela Rational Software Corporation, adquirida pela IBM. Logo a IBM apresenta o RUP como melhor metodologia, o que pode até ser verdade, dependendo do projeto de software.
Agora você pode está se perguntando: “Como assim, pode até ser verdade, ou uma metodologia é a melhor ou não é!”.
Aí está justamente o erro: tentar definir a melhor metodologia. Buscar a melhor metodologia para a sua empresa é algo louvável, afinal, boa parte das empresas de TI, ainda usam a metodologia VAMO QUE VAMO, ou pior ainda, a EMPURRANDO COM A BARRIGA. Mas selecionar a melhor e colocá-la goela abaixo na sua empresa, com certeza não é o melhor caminho, e ao invés de achar uma solução, você vai achar mais problemas.
Para tentar explicar melhor o meu ponto de vista, vou fazer uma analogia com os eletrodomésticos e eletrônicos da sua casa. Você como um consumidor atento e sempre buscando a qualidade, alinhada ao custo-benefício, tem eletrodomésticos e eletrônicos das diversas marcas: LG, Sony, Arno, Brastemp, Consul, Bosch, Philips, etc. Cada um dos eletrodomésticos e eletrônicos atende uma necessidade da sua família, e para cada um há um melhor fabricante, portanto, você não vai comprar tudo de uma única marca, até porque uma única marca não fabrica todos os tipos de eletrodomésticos e eletrônicos.
Ao escolher uma metodologia você também tem diversas necessidades e várias metodologias que buscam saciar a sua necessidade. Você até pode encontrar tudo o que você precisa em uma única metodologia, mas dificilmente você vai seguir todos os seus conceitos e métodos. O melhor a ser fazer é tentar encontrar um meio-termo, ver o que há de melhor em cada metodologia e o que se adapta a sua realidade. E quando a sua realidade mudar, mude também a sua metodologia, devemos sempre lembrar que a mudança não é ruim, e sim uma grande oportunidade.
E lembre-se que se uma metodologia funcionou bem em um projeto, era poderá não funcionar tão bem em outro projeto, e vice-versa.
Fique por dentro das novidades, assine o feed do QualidadeBR.
Fonte:
Engineering Quality in Software Development, Module 1: Overview of Software Development Practices (AzIT)