Buscar

Aula 4 Metodologia Ágil Conceitos

Prévia do material em texto

CONCEITOS DE DESENVOLVIMENTO ÁGIL
As características do Desenvolvimento Ágil, você saberia dizer quais são? E porque devemos
segui-las é fundamental para o sucesso?
O crescimento dos métodos ágeis é uma realidade. O mercado se tornou muito dinâmico. E
isso exige agilidade (habilidade de mudar de direção) das organizações.
Porém, nem tudo são rosas. Se tem algo negativo para destacar nesse crescimento rápido é o
“atropelamento” que existe dos valores e princípios dos Métodos Ágeis.
Mudar o mindset das pessoas é algo que realmente não é fácil. E está cada vez mais comum
empresas adotando o ágil como um processo ou ferramenta, enquanto na verdade é necessário ter o
mindset ágil para adotar e viver os valores ágeis.
As 10 principais características do desenvolvimento ágil
01. Ter o envolvimento real do usuário final
Se você tem utiliza qualquer método ágil, seja ele Scrum, Kanban ou Lean Startup, o seu
usuário final deve estar envolvido. Afinal de contas é pra ele que você e seu time estão trabalhando,
concorda?
Eu sei, é quase impossível ter ele presente no dia-a-dia. Assim ter um representante fiel, com
autonomia, conhecedor do mercado e das necessidades dos usuários, vai ser NECESSÁRIO.
Ter o cliente ou usuário final envolvido de verdade no processo é para mim uma das
principais características do desenvolvimento ágil.
02. Time de Desenvolvimento deve ser Empoderado
Um time de desenvolvimento ágil deve ser capaz superar qualquer desafio que venha a
surgir. Mas para isso devemos dar ao time todas condições e conhecimentos necessário para tal
desafio.
Ter um time empoderado é essencial para o sucesso de qualquer aplicação ágil. Um time de
desenvolvimento DEVE ser capaz de tomar as suas decisões e essas devem ser respeitadas. Vou
tentar sem claro: Se seu time estimou, acredite. Se seu time definiu a solução técnica, confie.
O time é o CORAÇÃO de qualquer método ágil, é ele que vai ser capaz de aprender a como
fazer da melhor maneira, é ele, que vai evoluir continuamente através dos erros cometidos e lições
aprendidas.
Resumindo, seu time precisa “apenas” de um objetivo e de ter capacidade de chegar lá. O
caminho ele vai descobrir enquanto percorre. E a cada vez que qualquer gestor tentar interferir, na
verdade ele está é tirando o foco do seu time.
O time deve ser e se sentir empoderado, assim você está dando um passo grande na direção
correta.
03. Entregue pouco, mas entregue sempre
Como se come um elefante? Pedaço a pedaço. Simples assim.
No desenvolvimento ágil ter entregas frequentes é vital para o sucesso do projeto ou
produto. É através de entregas frequentes que vai existir feedback e através dele as correções
assertivas de rota.
Quanto falamos de entregar com frequência, não estamos falamos de estocar software pronto
para homologação e sim de entregar para seu usuário final experimentar o que foi feito.
Eu sei que é entregar a todo momento é um grande complicador. Então, se organize e
MINIMIZE o tempo que algo fica em desenvolvimento, organizar pequenas releases pode ser uma
boa saída. Mas, cuidado, não exagere no tamanho das releases.
04. Uma peça de cada vez
Se existe uma característica do desenvolvimento ágil é o FOCO. E essa deve ser um
característica do seu time também.
Em outras palavras, tudo que ele começa deve ser terminado, antes que outra atividade se
inicie. Se você acha que estou falando das atividades do sprint, você acertou.
Comece a terminar e pare de começar
Essa é uma característica que vai fazer a diferença no seu dia-a-dia, assim como no do seu
time. Porque é onde se trabalha focado em ter progresso. E progresso em métodos ágeis é
software/produto PRONTO.
Pode parece bobagem, mas fazer uma peça de cada vez é algo que POUCOS times fazem e é
um comportamento que é muito pouco fomentado pelo líderes e gestores.
Eu penso assim, se um time não atua junto nos mesmos itens, porque chama-los de time?
Obviamente, em alguns momento iremos ter atividades em paralelo, mas um das
características do desenvolvimento ágil é reduzir o número de atividades em progresso.
05. Seja SIMPLES
Já ouviu falar sobre o Principio de Pareto? Ela afirma que, para muitos eventos,
aproximadamente 80% dos efeitos vêm de 20% das causas. Ou seja, se levarmos para o
desenvolvimento ágil, podemos afirmar que 80% do resultado (valor) vem de 20% do esforço.
Já parou pra pensar nisso? Que 80% do resultado vai vir de 20% do esforço. Para
exemplificar isso, vou contar uma pequena história.
Algum tempo atrás, eu era Scrum Master de um projeto, e em um determinado momento o
cliente queria uma funcionalidade de pesquisa de cliente por estado. Lembro bem que quando ele
foi apresentar para o PO as suas ideias a primeira história que existia era: Cadastro e Edição de
Estados.
Bom, pare pra pensar, porque Cadastro e Edição de Estados? Será que o Brasil sofre
alterações assim a ponto de ser necessário um CRUD de estados?
Perceba que esse é um exemplo clássico de que ser simples vai ser um diferencial. Nesse
caso dos estados, nos acabamos fazendo uma tabela simples no BD para ter os estados, algo bem
mais simples. Que poderia ser ainda mais simples, como um JSON por exemplo.
Enfim, o que você precisa entender que é, ser SIMPLES é o que vai impulsionar os
resultados de um projeto ou produto. Nos gostamos de inventar muito, de criar soluções
mirabolantes, enquanto na verdade o valor estar em ser simples e entregar valor.
Logo, uma das principais características do desenvolvimento ágil é prover soluções
SIMPLES.
06. Tenha Qualidade no que faz
Tem uma frase que diz: Teste cedo e sempre.
Esse deve ser o lema de qualquer time ágil, devemos SEMPRE garantir a qualidade. Caso
contrário você e seu time não irão sobreviver muito tempo.
Essa característica passa pelo que chamo de Cultura da Qualidade.
Resumindo, um time ágil deve pensar em qualidade o tempo todo. Ou seja, ao fazer um
código, ele deve ser feito com qualidade, ao escrever um estória, ela deve ser feita com qualidade e
até mesmo ao desenvolver um teste.
A caraterística que seu time deve ter aqui é: Garantir sempre a qualidade e o sempre é
sempre mesmo.
07. Melhore continuamente e sempre
Melhoria contínua é fazer hoje melhor do que ontem, mesmo que hoje tenha sido melhor do que
ontem.
É exatamente esse o pensamento que qualquer time ágil deve ter, sempre melhorar. Quando
falamos de melhoria contínua, no fundo estamos falando sobre ser inquieto e estar sempre buscando
oportunidades de melhoria.
Existe um problema em times que alcançam o sucesso, que é, cair de rendimento. Isso
acontece por que o time se acomoda e para de evoluir. Times ágeis devem ser o contrário, nunca
estão 100% satisfeitos e sempre vão atrás de melhorar, em qualquer aspecto.
Sem dúvida uma das principais características do desenvolvimento ágil é a melhoria
contínua.
08. Viva com métricas
Um dos pilares do scrum é a inspeção, eu particularmente não o considero só do Scrum,
considero de qualquer método ágil.
Inspecionar é necessário em qualquer processo de melhoria contínua e as métricas vão criar
a oportunidade da inspeção.
Logo, tenha métricas, mas métricas que agreguem valor ao seu processo e principalmente ao
seu time.
Eu gosto de comparar um time sem métrica, com um carro sem farol em uma estrada a noite,
ele pode até chegar no objetivo, mas com certeza irá encontrar muito mais buracos na pista.
09. Automatize as coisas chatas
Existe uma verdade no desenvolvimento de software, que é: São nas tarefas mais simples e
chatas que acontecem os maiores problemas.
Por isso, seu time deve ser capaz de automatizar tudo que julgar necessário. Até porque
ninguém merece, ficarfazendo teste de regressão de 893 itens ao final de cada incremento de
produto pronto.
Seguindo até um pouco a linha do Management 3.01, onde o Jurgen Appelo coloca as
pessoas como uma das principais chaves de sucesso de um projeto. Ele afirma, que fazer atividades
chatas vai acabar desmotivando o seu time, mais cedo ou mais tarde. Além de fazer ele perder seu
final de semana.
Posso afirmar que uma das características do desenvolvimento ágil é ter a cultura da
automatização e até mesmo de DevOps.
10. Colaboração entre Time e Stakeholders é essencial
 
Colaboração com o cliente mais que negociação de contrato.
Somente essa frase já deveria ser o suficiente, já que é um dos valores do Manifesto Ágil,
concorda?
1 Management 3.0 é um modelo de gestão que tem como base o pensamento complexo. Ao invés de focar hierarquias
e cargos, existe a prioridade na maneira como as pessoas se comportam e se relacionam.
Mas vamos lá, a colaboração entre time e stakeholders deve ser natural e consistente, uma
vez que em Métodos Ágeis os requisitos deve ser leves e a mudança deve ser aceita naturalmente e
como resultados de software entregue.
Ter o requisito leve, torna essencial ao colaboração entre as pessoas.
Se um dos dois não existem, é bem possível que você esteja vivendo no mundo das extensas
documentações onde as mudanças de escopo são dolorosas ao invés de serem benéficas.
Um das principais características do desenvolvimento ágil é a colaboração entre todos os
envolvidos no projeto e/ou produto.
Referência: http://www.metodoagil.com/caracteristicas-do-desenvolvimento-agil/

Continue navegando