Interpretando os princípios ágeis: Parte 1

Princípios Ágeis

Este ano comemoramos os 15 anos do manifesto ágil. Com o passar do tempo, a adoção de metodologias ágeis cresceu em larga escala mas ainda assim é comum encontrarmos pessoas que adotam práticas, sem compreender plenamente os princípios que as originaram. Por isso, proponho aqui no blog uma revisão dos 12 princípios que originaram os métodos ágeis.

Para quem está começando nesse mundo, o manifesto ágil é uma declaração de valores do desenvolvimento ágil de software, criada por um grupo pessoas que estavam mudando as práticas do mercado, pois queriam mais que tudo entregar software de valor para os seus clientes.

Hoje os métodos ágeis já estão bastante disseminados, e várias são as metodologias, frameworks e ferramentas de desenvolvimento consideradas ágeis. Sabemos que os métodos ágeis vieram para ficar, e que geram mudanças impactantes na forma como entregamos software, e em como nos relacionamos melhor como clientes e fornecedores.

Mas mais do que metodologias ou frameworks, ser ágil é um mindset, uma forma de se trabalhar com foco no valor gerado pelo nosso processo de desenvolvimento de software, para o nosso cliente! E para entendermos este mindset, nada melhor do que resgatarmos os princípios por trás do manifesto ágil.

Em uma série de 12 postagens, vamos explorar cada um dos princípios que norteiam o manifesto.

Princípio: A satisfação do cliente

“Nossa maior prioridade é satisfazer o cliente através da entrega contínua e adiantada de software com valor agregado”

Hoje vamos falar do primeiro princípio do manifesto, que trata da satisfação do cliente.

A prioridade foi, é e sempre será satisfazer o cliente: Aquele que patrocina o projeto. Ele paga, então é para ele o produto (software ou não) que construímos.

Mas o pessoal por trás do movimento ágil de desenvolvimento de software percebeu que a forma tradicional de trabalho, com grandes entregas após longos ciclos de desenvolvimento, muito frequentemente não satisfazia o cliente. Pois pouco ou nada agregava de real valor para este. Isso precisava mudar.

Nos processos de desenvolvimento ditos tradicionais, o cliente pedia um software, que entrava em um grande pipeline de documentação de requisitos, análise e projeto, programação, testes e implantação, onde todos achavam que estavam cumprindo com os objetivos, que eram descritos em volumosas documentações que pouca gente lia ou entendia. Na prática, quando o software desenvolvido chegava na mão do cliente, percebia-se a grande disparidade entre DEMANDA x NECESSIDADE x REALIDADE. O que o cliente recebeu não era o que ele achou que precisava, e o que ele realmente precisava não era aquilo que ele pediu. A imagem abaixo ilustra de forma muito divertida este cenário:

A compreensão dos requisitos no ciclo de desenvolvimento de software.
A compreensão dos requisitos no ciclo de desenvolvimento de software.

O movimento ágil percebeu que para enfrentar este problema precisaria encurtar drasticamente o tempo de entrega de versões do software para o cliente, de forma a permitir que todos os envolvidos no processo de desenvolvimento pudessem inspecionar os resultados produzidos, aprendendendo com os erros, e implementar as adaptações de processo e produto necessárias, criando um processo de melhoria contínua.

Esta mudança de processo oferece diversos benefícios. Veja alguns:

  • O cliente na maioria das vezes não possui perfil de analista, e no início de um projeto nunca sabe exatamente o que precisa. Um ciclo de entrega de software contínuo diminui drasticamente o retrabalho em virtude de falhas na definição dos requisitos. Nos ciclos curtos, cliente e analistas enxergam cedo as falhas de definição do produto, e interagem continuamente para resolvê-las. É a inspeção e adaptação do produto na prática.
  • Da mesma forma, as falhas de processo também são identificadas ao término dos ciclos curtos de desenvolvimento, pois ao término de cada etapa, o software é demonstrado ao cliente e, preferencialmente, também utilizado em seu ambiente de produção. Aqui ocorre inspeção e adaptação do processo de desenvolvimento, e todo o time atua para implementar melhorias.
  • Na medida que se coloca software em produção continuamente, já nos primeiros ciclos se gera valor para o negócio do cliente. Desenvolver software custa caro, e as metodologias de desenvolvimento ágeis apoiam a redução drástica do tempo de retorno do investimento (ROI), sendo uma excelente alternativa para o negócio.

Assim percebemos claramente por que a entrega contínua de software com valor agregado foi eleito pelo grupo por trás do manifesto ágil como um dos seus doze princípios. A satisfação do cliente é maximizada tanto pelo constante alinhamento do que de fato gera valor de negócio para o cliente, como também sobre o aspecto econômico, uma vez que o software é desenvolvido mais rápido, através da eliminação de desperdícios no ciclo de desenvolvimento, e é rapidamente colocado em produção e utilizado pelo cliente.

Ferramentas e práticas que apoiam este princípio:

  • Métodos desenvolvimento iterativo, como o Kanban e Scrum.
  • Técnicas de concepção e construção de MVPs de sistemas, como o Direto ao Ponto.
  • Técnicas de descrição de requisitos na linguagem do negócio, como User Stories.
  • Prática de deploy contínuo, através da automação das etapas de build, testes, integração e deploy de sistemas.

E você, que outras ferramentas ou práticas sugere que são alinhadas a este princípio ágil?

Você encontra a explicação dos quatro valores e a relação completa dos 12 princípios do manifesto ágil na página Manifesto Ágil.

Anúncios

Um comentário sobre “Interpretando os princípios ágeis: Parte 1

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s