Sunteți pe pagina 1din 21

Metodologias ágeis

Christopher Felix
Leomar Eslabão
Leonardo Perleberg
A Essência do Agile
 A busca por estar sempre à frente no mercado
pode fazer com que a empresa perca um pouco da
essência do Agile

 Vanilla Agile
Manifesto ágil

 Estamos descobrindo maneiras melhores de desenvolver software, fazendo-o


nós mesmos e ajudando outros a fazerem o mesmo. Através deste trabalho,
passamos a valorizar:
 Indivíduos e interações mais que processos e ferramentas
 Software em funcionamento mais que documentação abrangente
 Colaboração com o cliente mais que negociação de contratos
 Responder a mudanças mais que seguir um plano
 Ou seja, mesmo havendo valor nos itens à direita, valorizamos mais os itens à
esquerda.
Nossa maior prioridade é satisfazer o cliente, através da entrega adiantada e contínua de
software de valor.

Aceitar mudanças de requisitos, mesmo no fim do desenvolvimento. Processos ágeis se adequam


a mudanças, para que o cliente possa tirar vantagens competitivas.

Entregar software funcionando com frequência, na escala de semanas até meses, com
preferência aos períodos mais curtos.

Pessoas relacionadas à negócios e desenvolvedores devem trabalhar em conjunto e diariamente,


durante todo o curso do projeto.

Princípios Construir projetos ao redor de indivíduos motivados. Dando a eles o ambiente e suporte
necessário, e confiar que farão seu trabalho.

por trás do O Método mais eficiente e eficaz de transmitir informações para, e por dentro de um time de
desenvolvimento, é através de uma conversa cara a cara.

manifesto Software funcional é a medida primária de progresso.

Processos ágeis promovem um ambiente sustentável. Os patrocinadores, desenvolvedores e

ágil
usuários, devem ser capazes de manter indefinidamente, passos constantes.

Contínua atenção à excelência técnica e bom design, aumenta a agilidade.

Simplicidade: a arte de maximizar a quantidade de trabalho que não precisou ser feito.

As melhores arquiteturas, requisitos e designs emergem de times auto organizáveis.

Em intervalos regulares, o time reflete em como ficar mais efetivo, então, se ajustam e
otimizam seu comportamento de acordo.
Scrum

 O Scrum é um dos frameworks ágeis mais utilizados no mundo por equipes de


desenvolvimento de software, e isso se deve à facilidade de compreensão e
possibilidade de aplicação a qualquer projeto. Isso já chama a atenção das
empresas que estão utilizando o Scrum para a gestão de TI, administração da
empresa e demais projetos que necessitem de uma abordagem ágil.
 Dentro do Scrum os papéis de cada um são muito bem divididos, isso melhora
a integração da equipe e evita que alguém não entenda quais são as suas
responsabilidades.
 Durante a aplicação do scrum, todas as tarefas são realizadas de forma
simples e sem reuniões demoradas.
Design Sprint

 O Design Sprint está mais relacionado com um prazo de tempo, com geração
de ciclos para a execução de tarefas estratégicas da organização. Lançado
pelo Google, é inspirado no Sprint, outra metodologia ágil.
 Por meio dela, você consegue testar qualquer ideia em até 40 horas, sem
chegar a produzir o produto a ser testado. Assim, consegue avaliar se é algo
viável ou não, sem gastar semanas de desenvolvimento, encurtando prazos e,
caso não seja viável, é possível abandonar a sugestão ou modificar os
parâmetros necessários o quanto antes para realizar um novo teste.
 Essa é uma metodologia cujo foco está no seu usuário, sendo constituído de
forma interativa, prática e colaborativa. Ele une elementos do Design
Thinking e da metodologia Sprint.
Design Sprint
 No primeiro dia da Sprint, seu time vai
exteriorizar tudo o que eles sabem sobre a
ideia.
 No segundo dia, todo mundo rabiscando as
ideias. As pessoas vão trabalhar
individualmente colocando as soluções
para aquele problema/ideia no papel.
 No terceiro dia há uma reunião para filtrar
as ideias, refiná-las, e no fim do dia
escolher uma única ideia que vocês irão
prototipar.
 No quarto dia é o dia de prototipar a ideia
escolhida, onde a equipe deve se organizar
desde cedo e trabalhar de forma rápida e
ágil, pois a ideia é montar um protótipo
até o final do dia.
 No quinto dia o protótipo é apresentado
aos usuários onde eles podem opinar o que
ficou bom e o que deve ser alterado, onde
no fim do dia há uma reunião para discutir
o feedback do usuário.
Desenvolvimento de software Lean
(enxuto)
 A filosofia da produção enxuta foi popularizada na década de 1990 pela
abordagem japonesa de fabricação de automóveis (Toyota).
 O desenvolvimento de software é uma forma de desenvolvimento de produto,
por isso a técnica do desenvolvimento enxuto, aplicado à produção de um
produto, pode ser utilizada para aprimorar a sua produção.
 Porém para a sua aplicação não basta copiar práticas, é necessário primeiro
entender seus princípios fundamentais e após adequar as práticas
ao ambiente de produção.
 Lean é um princípio ágil cujo foco é cortar a "gordura" do processo de
software, focando na eliminação de desperdícios.
7 princípios do desenvolvimento Lean de
software
 1 - Eliminar Desperdícios
 2 - Incluir a Qualidade no Processo
 3 - Criar Conhecimento
 4 - Adiar Decisões e Comprometimentos
 5 - Entregar o quanto antes
 6 - Respeitar as Pessoas e "Empower" a equipe
 7 - Otimizar o Todo
Princípio #1 – Eliminar desperdícios
Desperdícios: tudo aquilo que não agrega valor para cliente final
e que não são percebidos pelo cliente.
Taiichi Ohno (toyota) dizia: "Tudo que estamos fazendo é olhar
para a linha de tempo do momento em que o cliente nos faz o
pedido até o momento que recebemos o dinheiro. E estamos
reduzindo a linha de tempo ao removermos os desperdícios de
acréscimos sem valor".
Exemplo: passos extras, processo pesado e rígido, burocracia,
documentação que nunca vai ser lida, que está na prateleira
juntando poeira - não necessária, etc.
Outro tipo de desperdício são trabalhos parcialmente prontos,
tudo que começa e não termina, funcionalidades extras que não
serão utilizadas, etc.
Princípio #2 – Qualidade embutida
 Qualidade é inegociável. Entregue qualidade intrínseca e explícita aos seus
clientes, se eles perceberem isso, significa que foi uma entrega de qualidade.
 Um produto possui integridade percebida quando o cliente o experimenta e
diz: Isso! Era exatamente isso que eu queria! Software com integridade possui
boas arquiteturas, possuem um alto nível de usabilidade e facilidade de uso,
são fáceis de dar manutenção, de adaptar e de estender.
 Dicas:
 Não verificar a qualidade só no final, verificar durante todo processo e
também toda equipe testa!
 Quanto antes um problema é verificado mais barato ficará
 Foco na prevenção, não na verificação no final do processo - Ao invés de se
esforçar para gerenciar defeitos, evite-os.
 "Logar" defeitos é desperdício, corrija-os imediatamente.
Princípio #2 – Qualidade embutida

 Práticas sugeridas para promover a qualidade:


 4 quadrantes de teste
 TDD - Test Driven Development
 Refactoring
 Integração contínua
 Code review / code inspection
 Standards
 Testes contínuos e automatizados
Princípio #3 – Criar conhecimentos

 Um processo de desenvolvimento concentrado em criar conhecimento esperará


que o projeto evolua durante a codificação e não desperdiçará tempo
sedimentando-o prematuramente.

 Práticas sugeridas para promover o conhecimento:


 Ciclos de feedback e inspeções e adaptações;
 Desenvolvimento iterativo;
 Equipes pequenas e cross-functional;
 Treinamentos e Mentoring;
 Criação e utilização de standards, guidelines e qualquer outro artefato;
 Code Reviews;
 Meios de compartilhamento de informações como um Blog ou Wiki;
(STEFFEN, 2011)
Princípio #4 – Adiar decisões /
compromissos
 O principal conceito deste princípio é diminuir as incertezas retardando as decisões até que possam
serem feitas com base em acontecimentos mais firmes, previsíveis e conhecidos.
 Decisões tardias tendem a ser mais acertadas porque as melhores decisões são feitas baseadas em
fatos, e não em suposições ou especulações.
 Uma estratégia chave para adiar decisões/comprometimentos quando desenvolvendo um sistema
complexo e com muitas incertas é usar a capacidade e práticas que permitam abraçar as mudanças
tardiamente.
 Isso não quer dizer que todas as decisões devam ser adiadas, mas sim que a maioria das decisões
possam ser reversíveis, podendo ser retomadas e modificadas.

 Práticas sugeridas para adiar compromissos:


 Iterações
 Planning meetings (reuniões de planejamento)
 Behaviour/Feature Driven Development (Desenvolvimento orientado a comportamentos/recursos)
 Outros
Princípio #5 – Entregar rápido

 Sem entregas rápidas não é possível colher feedback.


 Sem entregas rápidas não é possível aprender com erros. Velocidade na
entrega garante que o cliente receberá o que ele precisa hoje e não o que ele
precisava ontem.
 A moral da história: Precisamos descobrir como entregar softwares tão rápido
que os clientes não tenham tempo de mudar de ideia.
 Práticas sugeridas:
 Pull System - Kanban
 Iterações
 Seja simples
Princípio #6 – Respeitar as pessoas

 Envolver os desenvolvedores nos detalhes das decisões técnicas é fundamental para o


atingimento da excelência.
 Dicas:
 Um ambiente que favoreça o desenvolvimento das pessoas.
 Uma empresa que respeita as pessoas, assim as pessoas irão respeitar a empresa

 O Software produzido é como um espelho da equipe de desenvolvimento.


 Para que as pessoas possam assumir responsabilidades, se sentir motivados e atuar como uma
equipe eles precisam de confiança e de respeito.

 Práticas sugeridas para promover o empowering do time:


 Auto-gestão
 Trabalho em equipe
 feedback
Princípio #7 – Otimizar o todo

 O desenvolvimento de software é lendário por sua tendência de


subotimização.

 Otimizar desde o começo até o final:


 Satisfação do Cliente + Entendimento das suas necessidades
 Para tornar o seu processo ágil, pense Lean!
Mas lembre-se Lean requer uma mudança da cultura e dos hábitos
organizacionais para que esta possa usufruir das melhorias de performance
que um processo enxuto pode proporcionar.

 É UMA MUDANÇA DE MENTALIDADE E COMPORTAMENTO !


Referências
 POPPENDIECK, Mary; POPPENDIECK, Tom. Implementando o
desenvolvimento Lean de software: do conceito ao dinheiro. Porto Alegre:
Bookman, 2011.
 STEFFEN, Juliana Berossa. Lean para desenvolvimento de Software. Afinal, o
que é isto? 2011. Disponível
em https://www.ibm.com/developerworks/community/blogs/rationalbrasil/entry
/lean_para_desenvolvimento_de_sw_o_que__c3_a9_isso_afinal12?lang=en avaliado
em 15/out./2019.
 Manifesto ágil 2001. Disponível em https://www.manifestoagil.com.br avaliado
em 16/out./2019.
 NASCIMENTO, Ana. O que é metodologia Agile e quais tendências você deve ficar
atento? 2019. Disponível em https://gaea.com.br/o-que-e-metodologia-agile-e-
quais-tendencias-voce-deve-ficar-atento/ avaliado em 16/out./2019
 JUNIOR, Luiz Fernando Duarte. Tendências de software 2019 – parte 3 2019.
Disponível em https://bossabox.com/blog/tendencias-de-software-2019-
3/ avaliado em 16/out./2019
 TEIXEIRA, Fabricio. Google Design Sprint: como funciona e como aplicar no seu
projeto 2015. Disponível em https://brasil.uxdesign.cc/google-design-sprint-
como-funciona-e-como-aplicar-no-seu-projeto-279107363659 avaliado em
16/out./2019
Referências
 DUARTE, Luiz. A Essência do Agile. Disponível
em https://www.luiztools.com.br/post/a-essencia-do-agile/ avaliado em
15/out./2019
 Tendências de software 2019 – Parte 3. Disponível
em https://bossabox.com/blog/tendencias-de-software-2019-3/ avaliado em
15/out/2019

S-ar putea să vă placă și