Cinco lendas sobre desenvolvimento Ágil
A cultura continua a ser o principal motivo que leva muitos líderes de TI a continuarem mostrado indiferença em relação ao Agile.
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.
Fonte: ComputerWorld.
Texto original:
http://computerworld.com.br/tecnologia/2014/11/10/5-lendas-sobre-desenvolvimento-agil