Aplicações

Cinco lendas sobre desenvolvimento Ágil

A cultura continua a ser o principal motivo que leva muitos líderes de TI a continurem mostrado indiferença em relação ao Agile

16 de Março de 2016 - 17h00

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", a IBM Brasil apontou 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 Ágil é a adaptabilidade às mudanças. Metodologias tradicionais tentam prever todas as possibilidades sem deixar espaço para descobertas durante o desenvolvimento. Essa vantagem vem sendo a mola propulsora das metodologias de desenvolvimento Ágil em tempos de nuvem e tudo definido por software.

A busca pela inovação também impulsiona o desenvolvimento ágil.

O mercado pede agilidade.

Agilidade significa que você será mais rápido que seus competidores.

E agilidade e inovação são pensamentos que têm de começar no CIO.