Seja ágil ou seja esmagado!

agile-cloudDesenvolvimento Ágil não é mais uma forma alternativa de desenvolver software. Com o ritmo de adoção de tecnologia acelerando em um ritmo frenético, desenvolvimento ágil está se tornando a única forma de desenvolver software. Isto é, se você quiser permanecer no, mercado.

Baixando a expectativa a cada release

Desenvolvimento ágil de software refere-se essencialmente a um processo incremental e iterativo de desenvolvimento de software, em oposição à velha escola do método “cascata”, que dependiam de um planejamento inicial de longa duração. Desenvolvimento Ágil pressupõe que os projetos de TI frequentemente falham, apesar de nossas melhores intenções. Ele é, consequentemente, uma forma de minimizar o custo de falhas fazendo com que o processo de desenvolvimento de software seja altamente sensível a alterações.

E, embora o desenvolvimento ágil possa ter sido exclusividade das empresas de tecnologia com pouca burocracia, notadamente as que desenvolvem de aplicações móveis ou web de ponta, ele tem ido agora para o mainstream. Como analista da Forrester Diego Lo Giudice observa:

Within the modern applications era, regardless of whether new software applications are being developed and delivered for mobile, tablets, or the Web, the truly successful app-dev leaders will be those who focus on delivering constant value and incremental improvement to their business. (Na era aplicações modernas, independentemente se novas aplicações de software estão sendo desenvolvidos e entregues para dispositivos móveis, tablets, ou para a Web, os desenvolvedores verdadeiramente bem sucedidos serão aqueles que se concentrarem em entregar valor constante e melhoria incremental para seus negócios.)

É importante ressaltar que as razões para abraçar o desenvolvimento ágil é tanto em razão do antigo método conservador e tedioso quanto o aumento de velocidade de desenvolvimento, como eu ouvi de um executivo da empresa de um (muito) grande serviços financeiros:

OH: “Product stability comes from releasing code more frequently, not less. You want each release to be a non-event, not a major launch.”

— Matt Asay (@mjasay) October 2, 2013

Os tempos estão mudando

Este tipo de abordagem iterativa para o desenvolvimento de software tem sido sempre uma boa ideia, mas está se tornando crítica com a mudança tecnológica e aumento de adoção, como Harvard Business Review mostra:

Tech Adoption Increasing

Tal aumento da adoção, por sua vez, é, sem dúvida conduzido por uma infraestrutura muito mais flexível, particularmente de software. Software de código aberto oferece um enorme conjunto de softwares de qualidade a partir do qual os desenvolvedores podem projetar os seus, uma vez que o hardware acessível por meio das nuvens (Infrastructure-as-a-Service -IaaS) torna trivial para escalar vertical e horizontalmente.

Com isto em mente, o mais novo de dados do Synergy Research Group sobre a adoção de IaaS é tão interessante tanto não porque demonstra que a Amazon domina completamente o mercado, o que nós sabíamos, mas porque mostra o crescimento em todos os principais provedores de nuvem:

iaas-paas-q313-release

Seja qual for o seu provedor, então, a infraestrutura existe para acelerar o desenvolvimento.

Big Data Exige uma abordagem ágil

Isto é particularmente importante em novas áreas de exploração, como Big Data. Como mostra a pesquisa da Gartner, as empresas estão obcecadas em começar com Big Data, mas muitas vezes não têm mais que de uma pista sobre como lidar com esses projetos.

Big Data é novo, e vamos enfrentá-lo: a maioria das empresas provavelmente irá falhar quando começarem seus projetos. Afinal, é quase garantido que as empresas não sabem quais dados capturar, ou a forma de aproveitá-lo, sem tentativa e erro. O desenvolvimento ágil, consequentemente, torna-se crítico para um projeto que venha a falhar, uma vez que tal abordagem reduz o custo de falhas, tanto em termos de tempo e dinheiro.

Isto poderia ser feito em uma abordagem em cascata tradicional? Claro. E muitas empresas quase certamente irão abordar o Big Data e outros projetos dessa maneira, porque eles simplesmente não conhecem nada melhor. Mas não seja essa empresa, ou esse desenvolvedor. O desenvolvimento ágil não é um Santo Graal que vai resolver todos os problemas de um desenvolvedor, mas é uma forma astuta de acompanhar a inovação tecnológica (como o Big Data) e para resolver projetos de desenvolvimento em larga escala.

Fonte: ReadWrite