Reflexões

Desenvolvimento ágil ou tradicional, qual o melhor caminho?

Internet das “coisas”, e-commerce, mobilidade, cloud computing e tantas outras tendências que surgem para revolucionar os modelos de operação existentes ou criar os novos “negócios digitais” se deparam com uma antiga questão: qual a melhor abordagem de desenvolvimento para garantir velocidade às necessidades de negócio, com produtividade e sem colocar em risco a qualidade para os clientes finais da solução?

Ao longo dos últimos anos diversos modelos, abordagens e frameworks foram desenvolvidos para auxiliar os líderes de desenvolvimento e gerentes de projetos. A melhor solução passa pela avaliação das características técnicas do sistema, seu estágio de maturidade e de uma avaliação risco x retorno entre velocidade de se implantar algo e eventuais riscos ocasionados por problemas de qualidade da solução. Atualmente, como uma alternativa a aplicação da metodologia em cascata, as metodologias interativas mais utilizadas são o RUP e suas variantes, que dão ênfase ao processo e controle do projeto por meio de entregáveis mais completos e consistentes.

São muito utilizadas em fábricas de softwares e estão de mãos dadas com o CMMI e PMI. Por outro lado, as metodologias ágeis, como Scrum e XP, procuram refinar as metodologias interativas, retirando o foco dos processos e dando maior ênfase à contribuição das pessoas envolvidas no projeto, trazendo a área de negócio mais próxima à TI e gerando entregas de valor mais rapidamente. Diante desta variedade de opções e de suas diferentes aplicações e benefícios, não é trivial determinar a metodologia adequada à cada companhia, por isso, elencamos alguns pontos que devem ser observados durante esta escolha:

1. Estabilidade dos requisitos: em situações nas quais o escopo do projeto está definido, os requisitos mapeados são estáveis e os futuros previsíveis, as metodologias tradicionais e orientadas ao planejamento são vantajosas. Por outro lado, quando os requisitos são passíveis de muitas alterações no decorrer do projeto, as equipes são pequenas e as entregas podem ser menores, o desenvolvimento rápido é fundamental, sendo necessária a aplicação de métodos mais ágeis.

2. Cultura da empresa: independentemente da metodologia a ser aplicada, os papeis, responsabilidades e processos precisam ser definidos e executados para que o sucesso seja obtido. No entanto, quando falamos de métodos ágeis a presença de pessoas dedicadas e engajadas ao projeto se faz ainda mais necessária.

3. Estrutura organizacional de TI: a maturidade organizacional é um importante indicador de qual modelo de desenvolvimento de sistemas deve ser adotado. Processos ágeis requerem maior maturidade da companhia em termos de controles, processos, recursos, prazos e, principalmente, flexibilidade.

Entendendo esses aspectos e considerando que o melhor para uma empresa é ter processos de gestão de TI adequados à sua realidade e suas necessidades, ou seja, processos sistematizados, alinhados à sua cultura e objetivos estratégicos, percebemos que muitas vezes a adaptação de uma das metodologias ou, até mesmo, a associação das melhores práticas dos dois métodos podem ser a melhor alternativa.

E isso pode variar por soluções, segmentando por tipo de tecnologia, importância estratégica da velocidade de adaptação, características dos usuários/consumidores, disponibilidade de desenvolvedores, entre outras.

Idioma / Language