Desenvolvimento Ágil realmente funciona?

Os leitores do blog provavelmente já devem ter notado que sou um grande entusiasta em Desenvolvimento Ágil. Desde a época do curso superior, venho estudando as vantagens, restrições, condições e a reação das empresas em relação às metodologias ágeis. Algumas vezes, ao acompanhar discussões no LinkedIn e em alguns blogs, me deparo com uma questão abrangente: Desenvolvimento Ágil realmente funciona? Pois bem, por conta disso, o objetivo deste artigo é trazer a minha singela contribuição para essa questão.

Antes de entrar diretamente no assunto, reflita a frase abaixo:

“Do que adianta comprar um carro se a pessoa não sabe dirigir?”

A essa altura, provavelmente você já deve ter compreendido o sentido, não é? No mundo ágil, poderíamos idealizar uma pergunta semelhante:

“Do que adianta empregar o Desenvolvimento Ágil se a empresa não está preparada?”

Maturidade

Da mesma forma que uma pessoa é ensinada a dirigir antes de manobrar um carro, uma empresa também deve ser orientada a ser ágil antes de empregar o Desenvolvimento Ágil. Neste ponto, seria mais adequado utilizar a palavra maturidade. Uma equipe deve ser madura o suficiente para compreender que o Desenvolvimento Ágil é, acima de tudo, uma quebra de paradigmas na cultura de trabalho.

Traduzindo em realidade, o gestor de uma empresa não pode simplesmente chamar toda a equipe de desenvolvimento no final de uma tarde e dizer: “Pessoal, a partir de amanhã, utilizaremos Desenvolvimento Ágil!”. Se isso ocorrer, no dia seguinte todos tentarão trabalhar duas vezes mais rápido, sacrificando o horário de almoço e saindo três horas mais tarde da empresa.

Desenvolvimento Ágil não é velocidade

Para eles, agilidade literalmente é ser ágil, e não é bem assim! Esse tipo de ideia é um dos fatores que criam as restrições da adoção do Desenvolvimento Ágil no mercado de software. Acredite: não há mágica ou milagre nas metodologias ágeis, então não espere que as receitas da empresa dupliquem ou tripliquem de um mês para o outro só porque a equipe se tornou “ágil”.

Desenvolvimento Ágil implica em seu nome a capacidade de ser comunicativo, colaborativo e centralizado. Se a equipe souber entregar valor e entregar com frequência, automaticamente será ágil. Observe que ágil, neste contexto, não significa acelerar a velocidade das implementações, mas transformar a forma como elas são conduzidas, focando mais as interações e habilidades do que processos formais. Para isso, o Scrum, uma das metodologias ágeis mais populares, trouxe o conceito de Sprints, que permitem a entrega frequente de incrementos do software em prazos previamente definidos.

A respeito das equipes, o Desenvolvimento Ágil somente funciona em ambientes altamente colaborativos e comunicativos. Enquanto uma equipe for individualista e egocêntrica, esqueça Desenvolvimento Ágil. Não vai funcionar. A comunicação deve ser intensa, com interfaces bem definidas e regidas por um bom Scrum Master. Este, por sua vez, deve ter conhecimentos sólidos em liderança, responsabilidade e experiência na regra de negócio.

Só para efeito de conhecimento, em uma discussão recente no LinkedIn, um membro perguntou quais seriam as características adequadas de um bom Scrum Master. Uma das mais respostas que mais me chamou atenção dizia que um Scrum Master não deve ter apenas qualidades profissionais, mas também pessoais, e que isso muitas vezes dificultava a alocação da pessoa adequada para este papel. Sem dúvidas, este é um desafio!

Outro ponto importante do Desenvolvimento Ágil é a arte do feedback. Aqui eu posso listar uma série de artefatos, como as reuniões de planejamento (Sprint Planning), reuniões diárias (Daily Scrums), retrospectivas (Sprint Retrospective) e integrações (Joint Retrospective). Por meio da colaboração constante com o cliente final, é possível determinar os pontos positivos e negativos, prioridades e expectativas do projeto em prazos curtos, ou seja, a cada Sprint! Isso evita “surpresas” quando o produto final for entregue ao cliente. Logo, empresas que têm um espírito forte em Desenvolvimento em Cascata (Waterfall) não vão conseguir se adequar ao Desenvolvimento Ágil com facilidade.

Mas, em geral, o Desenvolvimento Ágil funciona ou não?

Minha humilde resposta é: depende!
Depende do quão a empresa é madura no sentido de colaboração e comunicação. Depende da definição coerente dos papéis de Scrum Master, Product Owner e Development Team. Depende do nível de resistência ou aceitação dos colaboradores ao trabalhar em uma nova cultura de trabalho. Depende da conscientização da equipe em relação aos artefatos dos métodos ágeis. Depende da flexibilidade e adaptabilidade dos líderes. E, talvez, o mais importante: depende do quanto a empresa está empenhada em obter resultados com o Desenvolvimento Ágil, independente do tempo necessário.

Porém, o que mais me intriga depois de estudar as restrições do Desenvolvimento Ágil é a atitude de algumas empresas (ou profissionais) em desvalorizar a metodologia simplesmente pelo fato de não trazer os resultados esperados, ou melhor, pelo fato de não saber como ela funciona. Analogicamente, é o mesmo que uma pessoa comprar um smartphone, não conseguir utilizá-lo e denegrir a imagem do aparelho nas redes sociais por esse motivo. Certamente, se uma pessoa com habilidade em smartphones comprasse o mesmo aparelho, saberia utilizá-lo sem problemas. Em outras palavras, é evidente que a falta de conhecimento leva ao insucesso com a metodologia, naturalmente.

Desenvolvimento Ágil não é um produto que se compra em uma loja de informática. É um conceito!
O sucesso depende da preparação, do empenho e da maturidade da equipe como um todo.

Em breve, postarei um artigo exclusivamente sobre Sprints.
Até a próxima semana, pessoal!


André Celestino