Cultura continua a ser o principal motivo de muitos líderes de TI continuarem indiferentes em relação às meteodologias ágeis

08 de Março de 2016 - 08h45

O surgimento do método de desenvolvimento Ágil foi uma resposta direta ao doloroso histórico de fracassos de projetos de software, custos superiores ao previsto e insatisfação do negócio com o modelo tradicional da metodologia em cascata pela qual o desenvolvimento se desdobra lentamente em uma série de etapas, abrangendo análise de requisitos, design, implementação, teste, integração e manutenção.

E embora um número cada vez maior de CIOs esteja descontinuando aos poucos as metodologias tradicionais de desenvolvimento, conceitos errôneos sobre o desenvolvimento ágil ainda existem nas organizações de TI. Os mais deploráveis são: as equipes ágeis não planejam; pulam a fase de design; não testam; ágil significa inexistência de documentação.

Por conta desses conceitos, durante anos arquitetos corporativos, gerentes de projeto e profissionais de garantia de qualidade fizeram oposição ao métodos de desenvolvimento Ágil. A preocupação dos arquitetos corporativos era a de que não houvesse design inicial suficiente e que a consequência disso fosse código espaguete. Equipes de desenvolvimento Ágil são auto-gerenciáveis e a função de líder de projeto muda drasticamente — das ordens à facilitação. E, visto que o teste de QA acontece ao longo de todo o processo, e não só no fim, o pessoal de teste também costuma oferecer resistência.

O ceticismo continua a ser a palavra mais usada quando perguntam a CIOs e analistas por que tantos líderes de TI continuam mostrado indiferença em relação ao desenvolvimento ágil de software. Uma forma de acabar com ele é derrubar de vez alguns mitos sobre Agile.

Em um artigo no blog "O Mundo depende de Software", da IBM Brasil, Sandra Santos, Gerente de Desenvolvimento da companhia, aponta os cinco principais mitos ainda encontrados nas organizações que estão buscando métodos Ágeis para melhorar sua capacidade de entrega de software e qualidade. São eles:

1. Agile é desenvolvimento bagunçado” “Ágil vai me ajudar a desenvolver mais rápido e “burlar” o processo”

Agile é uma maneira muito disciplinada de entregar software, muitas vezes mais disciplinada que os métodos tradicionais:

• Você tem que testar
• Você tem que obter feedback
• Você tem que enviar software regularmente
• Você tem que mudar e atualizar o plano
• Você tem que dar as más notícias cedo

2. Agile somente serve para desenvolvimentos e times pequenos

Agile pode se adaptar a qualquer tipo e tamanho de projeto:

• A maior parte dos times ágeis está geograficamente distribuída de alguma maneira

• Organizações têm reportado sucesso em programas ágeis com mais de 500 pessoas

• Um terço dos times ágeis enfrenta necessidade de atender a requisitos regulatórios

• 75% das organizações executando projetos ágeis estão trabalhando em projetos com médio nível de complexidade e projetos maiores

• 78% dos times estão trabalhando em sistemas legado

(Source: DDJ November 2009 State of the IT Union Survey)

3. Agile requer muito retrabalho

Ao contrário de um desenvolvimento tradicional, Agile reduz o retrabalho, pois prevê ciclos de entregas mais curtos e coleta de feedback dos usuários mais cedo.

4. Agile é bala de prata

Agile não é a solução para tudo. Você pode falhar em um projeto Agile da mesma forma que pode falhar em um projeto tradicional. Mas você vai falhar mais rápido usando Agile (devido à transparência e visibilidade que a metodologia traz). Iinfelizmente não é uma bala de prata ou uma desculpa para parar de pensar.

5. Agile é anti-documentação

Documentação é necessária principalmente para atender compliance. É um guia valioso para ajudar as pessoas. No entanto, nunca esqueça que o objetivo principal de desenvolvimento de software é a criação de software, não de documentos. Elabore somente a documentação que forneça real valor. Toda informação estará disponível através das ferramentas.

É bom ter em mente também que as metodologias ágeis não são algo que o departamento de desenvolvimento adote simplesmente porque ser uma maneira interessante de escrever código. Elas proporcionam benefícios diretamente relacionados ao negócio.

Uma vantagem inegável do desenvolvimento é a adaptabilidade às mudanças. E ela vem sendo vem sendo a mola propulsora das metodologias de desenvolvimento Ágil em tempos de nuvem e tudo definido por software.