O porquê do desenvolvimento Ágil

Agile & Project Management

devAgileProvavelmente você como eu já ouviu o buzz que agitou o mercado dos últimos anos com a forte implantação das metodologias ágeis no mercado de desenvolvimento de software. Ultimamente tive a oportunidade de trabalhar com força em adoção ao agile o que me incentivou a aprofundar os conhecimentos na área. E como não podia deixar de ser quanto mais se estuda mais questões aparecem e neste caso minha primeira dúvida foi a seguinte: É verdade que o desenvolvimento ágil de software é a melhor maneira de uma empresa se adaptar e responder as mudanças?

Neste artigo pretendo abordar alguns pontos que defendem minha opinião sobre este assunto.

O primeiro passo é deixar claro que meu questionamento foi motivado devido as incessantes afirmações que alguns amigos do mundo agile me faziam. O próximo passo é afirmar que com base na minha experimentação creio que o desenvolvimento ágil é a melhor maneira de se conseguir adaptação a fim de responder mudanças repentinas (algo quase default) no desenvolvimento de projetos.

Não considero o desenvolvimento ágil “a bala de prata” ou “a última bolacha do pacote” pelo simples fato que é um processo intermediado e dependente de pessoas e ai reside as maiores falhas.

Dito isto, logo abaixo temos alguns tópicos sobre os benefícios que o desenvolvimento ágil e a sua cultura podem trazer para sua empresa e equipe de desenvolvimento.

Reduzindo os riscos

Como já sabemos, em qualquer projeto há uma série de riscos, prazos, orçamentos, aumento de escopo e um dos mais temidos – principalmente se você excedeu sua previsão e/ou orçamento – a entrega de software onde o cliente "teve o que pediu”, mas não o resultado não é o que ele queria porque as exigências não foram compreendidas em primeiro lugar. (Isso às vezes se disfarça de "mudanças nos requisitos.")
O desenvolvimento Ágil procura evitar esses problemas com entregas frequentes de software o que permite aos usuários de negócios a oportunidade de fornecer feedback com base em inspeção frequente das atividades. Isso permite a equipe fazer correções imediatas caso haja algum mal-entendido. A entrega frequente de software, mantém cronogramas e orçamentos em cheque.

 

O desenvolvimento ágil proporciona um ambiente de desenvolvimento sustentável

Geralmente os projetos de software impõem é difícil adequar a programação inicial. É preciso conhecer a equipe de desenvolvimento, sua habilidade e destreza na tecnologia a ser adotada e prever possíveis imprevistos. Quando um destes fatores é desconhecido (o que será a maioria esmagadora da vezes), o mais comum é termos as famosas horas extras.

É um fato que em Agile temos uma estimativa é óbvio que se trata de uma aproximação e não um número exato, mesmo assim existe uma série de problemas com o uso regular de horas extras, incluindo prováveis erros de programadores cansados, risco de rotatividade e o simples fato de que um modelo de horas extras constante não é sustentável a longo prazo.

 

Agile fortalecendo relacionamentos

O mecanismo do desenvolvimento ágil sugere uma constante troca de conhecimentos e diálogos entre a equipe. O diálogo contínuo e a capacidade de adaptar o produto ao negócio muda gradualmente a maneira de trabalho em uma equipe ágil. Em vez de todo mundo dividido por papéis funcionais, as equipes ágeis fazem o uso mais eficaz dos membros da equipe, sendo ditado pelas necessidades da equipe em cumprir seus compromissos.

O objetivo torna-se comum e é mais importante do que cada indivíduo trabalhando estritamente dentro de sua área de especialização. Isso quebra as barreiras entre as disciplinas funcionais, permitindo que a equipe chegue a níveis mais altos de produtividade.

 

Desenvolvimento ágil e a melhora contínua

O Desenvolvimento ágil requer de seus praticantes estar continuamente em estado de aprendizagem e adaptação para um desenvolvimento sustentável.

O desenvolvimento sustentável por sua vez fornece o tempo e energia necessários para que a equipe de desenvolvimento possa expandir seu conhecimento prático. Além disso, equipes ágeis realizam retrospectivas regulares no final de cada iteração para rever o que está funcionando bem e o que pode ser melhorado. Os membros da equipe avaliam o seu trabalho e o trabalho em equipe (ou a falta dela), bem como as práticas e técnicas para futuros ajustes na próxima iteração caso seja necessário.

 

Agile e adaptação as mudanças

Para se aproveitar as oportunidades, a capacidade de uma empresa em se adaptar e responder à mudança é fundamental. As práticas de desenvolvimento de software não devem ir contra as necessidades do negócio, forçando a empresa a escolher e aderir a um conjunto de características pré-determinadas que serão entregues meses ou anos mais tarde.
O desenvolvimento ágil acolhe e se adapta à mudança. Como o software é entregue em iterações curtas (medido em poucas semanas) de uma cadeia prioritária de recursos. Projetos com desenvolvimento ágil são capazes de se adaptar facilmente de acordo com as condições de negócios em constante mudança.

 

Desenvolvimento ágil aumenta a produtividade

Criar um software que atenda as necessidades do negócio requer envolvimento da equipe partilhando conhecimento e trabalhando em conjunto. O desenvolvimento ágil foca a atenção da equipe como um raio laser para fazer a entrega com as características de maior valor.

Como parte desta entrega, o desenvolvimento ágil vai além de usar equipes dirigidas que são na realidade nada mais do que uma coleção de indivíduos que trabalham em tarefas atribuídas. Equipes ágeis vão abraçar a colaboração no verdadeiro sentido da palavra, há objetivos comuns, conhecimentos partilhados, aprendizagem compartilhada, progresso compartilhado, e uma responsabilidade compartilhada pela equipe em cumprir os seus compromissos.
Outro ganho de produtividade vem da mecânica operacional quase autônoma, onde as equipes podem tomar decisões sem a necessidade de orientação gerencial contínua, o que acaba deixando os desenvolvedores mais engajados com o projeto.

.

Desenvolvimento ágil aborda as necessidades reais do negócio

Entre os desafios que todo projeto de software enfrenta a falta de realidade entre o projeto desenvolvido e completa satisfação das necessidades do negócio certamente é um dos principais pontos a se abordar. Como já foi esclarecido nos tópicos acima, o desenvolvimento ágil foca em tornar o processo mais dinâmico para que a qualquer momento possa serem realizadas mudanças a fim de refletir as corretas necessidades do negócio.


Author's profile picture

Vitor is a computer scientist who is passionate about creating software that will positively change the world we live in.

MVP Azure - Cloud Architect - Data science enthusiast


5 minutes to read