PRECISO
Share on facebook
Share on twitter
Share on linkedin

Qual a melhor metodologia de desenvolvimento de software?

As organizações já vem investindo em diferentes metodologias e processos ao longo dos anos, sempre com a promessa de obter grandes benefícios: maior produtividade, maior previsibilidade, maior qualidade, mais entregas.Ou seja: gerar valor para o negócio de maneira consistente e efetiva na velocidade necessária, capaz de cumprir às expectativas da organização. Entretanto, é possível definir qual a melhor metodologia de desenvolvimento de software?

qual a melhor metodologia de desenvolvimento

Muitas vezes, a despeito de todo esforço realizado – e bem sabemos que esse esforço não é pequeno, uma vez que normalmente mudanças organizacionais profundas são exigidas – os resultados ficam muito aquém do esperado e a TI e não escapa do rótulo de ser extremamente lenta e burocrática, incapaz de contribuir efetivamente para organização!

Isso tudo traz uma grande frustração, pois, como dito, o esforço financeiro e humano despendido nessas iniciativas é enorme. E a frustração aumenta ainda mais quando uma nova metodologia – uma nova promessa – aparece! Quer dizer então que tudo o que foi feito até o momento foi em vão? Que devemos jogar tudo fora para que o novo e definitivo caminho seja finalmente percorrido?

Não! Tudo o que foi feito não deve ser jogado fora! Na verdade, tudo que foi feito deve ser revisto e reavaliado à luz de um novo paradigma, norteado pelos princípios e valores da abordagem Lean e das Metodologias Ágeis.

qual a melhor metodologia de desenvolvimento
Imagem: Shutterstock

Ser lean – evitar desperdícios

Peguemos como exemplo um dos mais importantes princípios desses referenciais: o combate ao desperdício.

O combate ao desperdício significa rever todo o processo já existente, eliminando todas as atividades que não geram valor ou que são realizadas de forma dispendiosa

O exemplo mais básico é o detalhamento excessivo de requisitos que são extremamente simples, aqueles claros para todos a partir de uma frase.  Por exemplo: uma tela de cadastro. Precisa de muito mais que isso?

Repensando a metodologia tradicional de desenvolvimento de software

Mas, há exemplos muito mais perniciosos: a própria estruturação do processo, que muitas vezes opta pelo método tradicional de otimizar a produtividade de cada “especialidade” envolvida ao invés de priorizar o processo como um todo.

Imagine: não lhe soa natural ter um especialista em “Especificação de Requisitos” atuando da seguinte forma:

– Entrevistando um ou mais usuários.

– Escrevendo uma especificação detalhada.

– Enviando a especificação para os usuários aprovarem.

– Enquanto isso, já adiantando outras especificações ou participando de outras atividades?

Essa atuação é muito natural porque ela otimiza a vida de cada participante do processo, não é mesmo? Os usuários são acionados somente quando necessário, o analista de requisitos consegue trabalhar na especificação com extrema produtividade após ter levantado os requisitos e – mais do que isso – após o envio do documento para revisão, ele consegue atuar em outras demandas, em paralelo ao processo de aprovação! Não parece maravilhoso?

Otimização local ou de fluxo?

Mas, o que não é percebido nesse tipo de estruturação – e aí mora a armadilha –  é que a otimização da atividade de cada participante, ou seja, a “otimização local”, ocorre em detrimento da otimização do fluxo completo de geração de valor.

Na prática, acabamos por ter mais prejuízo: o processo não flui, é constantemente interrompido pela espera de intervenções de especialistas e acaba sofrendo retrabalhos! E o resultado final do processo – a geração de valor, o que realmente importa – é constantemente adiada ou desnecessariamente retrabalhada!

qual a melhor metodologia de desenvolvimentoImagem:  Shutterstock

Ora, se o fluxo de geração de valor como um todo não está otimizado, a organização está, obviamente, desperdiçando grande parte do seu esforço.

Qual o sentido de otimizar as atividades locais se o mais importante – a otimização de valor para organização – não está sendo feito?

Como resolver o problema dessas metodologias de desenvolvimento?

Em vista disso, o que deve ser feito de diferente nos exemplos anteriores?

No primeiro caso, de desperdício, a resposta é simples e direta: eliminar o desperdício. Sim. Isso mesmo. Parar de detalhar requisitos que são desnecessários ou que já possuam exemplos que podem ser usados como referência são um bom começo.

No segundo caso, de otimização local, o processo deve ser reestruturado de maneira que as atividades sejam executadas visando a otimização do fluxo de geração de valor de forma sistêmica.

Afinal, qual a melhor metodologia de desenvolvimento de software? Podemos eleger uma única vencedora?

Essas ações não demandam jogar fora tudo que foi pensando anteriormente. Os processos tradicionais reúnem uma enorme quantidade de boas práticas de gerenciamento e de engenharia de software que devem ser respeitadas e utilizadas. Mas o pensamente ágil e Lean cria uma nova perspectiva sobre como usar essas práticas, fazendo com que as organizações consigam iniciar um ciclo virtuoso de geração de valor. E que a TI, finalmente, percar seu rótulo de ineficiência.

Ainda não sabe como eliminar o desperdício do seu projeto ou tem alguma dúvida sobre como aplicar os conceitos de Lean?

Converse com a gente. Nós podemos ajudar a sua empresa.

Por Jéssica Saliba e Marcelo Szuster

Tá na dúvida?

[email protected]

R. Antônio de Albuquerque, 330 – 14° andar
Savassi, Belo Horizonte – MG, 30112-010