Buscar

Prévia do material em texto

Isabella Fonseca
Desenvolvimento de Aplicações Web 
 Gerenciamento de Projetos de 
Aplicações Web
Isabella Fonseca
Unidade II - Métodos e 
framework ágeis 
Métodos e framework 
ágeis
Métodos e Framework Ágeis
Fonte: https://www.versionone.com/agile-101/agile-methodologies/
Muito se fala 
sobre 
ser assim…
Fonte: https://realtimeboard.com/blog/choose-
between-agile-lean-scrum-kanban/#.WVL_acZ2pmA
Enquanto 
outros 
assim 
definem…
Métodos e Framework Ágeis
Métodos e Framework Ágeis
O que 
importa é…
http://agilelion.com/agile-kanban-cafe/agile-and-lean-influences-where-did-kanban-scrum-
scrumban-come-from
Métodos e Framework Ágeis - Origem
Fonte: http://www.stateofagile.versionone.com/
Métodos e Framework Ágeis - Distribuição
Métodos e Framework Ágeis - Características
Fonte: https://www.slideshare.net/kurtsolarte/sdc-sydney-2011solarte
Métodos e Framework Ágeis - Características
Fonte: https://
pt.slideshare.ne
t/tptman/agile-
lean-and-in-
between
Métodos e Framework Ágeis - Timeline
Scrum
Scrum é um framework organizacional para 
desenvolvimento de equipes produtivas com 
foco em boas práticas de liderança. É 
implementado para entregar resultados esperados 
de forma mais efetiva, sendo esse trabalho 
executar estratégias de venda, entregar melhores 
campanhas de marketing ou construir melhores 
produtos, sejam eles de software ou não.
Scrum
Uso fora da TI
http://www.agile247.pl/wp-content/uploads/2017/04/versionone-11th-annual-state-of-agile-report.pdf
Características do Scrum
• Simples 
• 13 regras 
• Descrito em 16 páginas 
• Extensível e pouco prescritivo 
• Utilizado para desenvolvimento de novos produtos 
“Pode construir o produto errado mais rápido!!”
Pilares do Scrum
Transparência
Inspeção
Adaptação
• Comprometimento. 
• Foco. 
• Sinceridade. 
• Respeito. 
• Coragem. 
Valores do Scrum
Papéis do Scrum
• Product Owner 
• Scrum Master 
• Development Team
XP
Valores do XP
Comunicação Simplicidade
Feedback Coragem
Respeito
Papéis do XP
•Coach. 
•Cliente. 
•Programadores. 
•Testadores.
Práticas do XP
O desenvolvimento é feito em iterações semanais. 
No início da semana, desenvolvedores e cliente 
reúnem-se para priorizar as funcionalidades. O cliente 
identifica prioridades e os desenvolvedores as 
estimam. Como o escopo é reavaliado semanalmente, 
o projeto é regido por um contrato de escopo 
negociável. Ao final de cada semana, o cliente 
recebe novas funcionalidades, completamente 
testadas e prontas para serem postas em produção.
XP - Jogo do Planejamento
A liberação de pequenas versões funcionais 
do projeto auxilia muito no processo de aceitação 
por parte do cliente, que já pode testar uma parte 
do sistema que está comprando.
XP - Pequenas versões
Procura facilitar a comunicação com o cliente 
se adaptando a realidade dele. Conceitos são 
alinhados através desta técnica. É preciso traduzir 
as palavras do cliente para o significado que ele 
espera dentro do projeto. 
XP - Metáfora
Tem como foco construir códigos fáceis de 
se entender e de serem alterados. Significa 
manter o design simples desde o início e 
melhorá-lo continuamente, ao invés de tentar 
deixá-lo perfeito desde o início e então congelá-
lo.
XP - Projeto Simples
A equipe de desenvolvimento é formada 
pelo cliente e pela equipe de 
desenvolvimento. 
Comunicação!
XP - Time Coeso
São testes construídos pelo cliente em 
conjunto de analistas e testadores, para aceitar 
um determinado requisito do sistema. 
XP - Teste de Aceitação
Trabalhar com qualidade, buscando ter 
ritmo de trabalho saudável, sem horas extras. 
Há uma busca constante de trabalho motivado. 
Para isto o ambiente de trabalho e a motivação 
da equipe devem estar sempre em harmonia.
XP - Ritmo sustentável
Reuniões em pé para não se perder o foco 
nos assuntos, produzindo reuniões rápidas, 
apenas abordando tarefas realizadas e tarefas a 
realizar pela equipe.
XP - Reuniões em pé
O código fonte não tem dono e ninguém 
precisa solicitar permissão para poder 
modificar o mesmo. O objetivo com isto é fazer 
a equipe conhecer todas as partes do sistema. 
XP - Propriedade coletiva de código
A dupla é formada por um iniciante na linguagem/
negócio e outra pessoa funcionando como um instrutor. 
Como é apenas um computador, o novato é que fica à 
frente fazendo a codificação, e o instrutor acompanha 
ajudando a desenvolver suas habilidades (o contrário 
também é interessante). Desta forma o programa 
sempre é revisto por duas pessoas, evitando e 
diminuindo assim a possibilidade de erros. Com 
isto busca-se sempre a evolução da equipe, 
melhorando a qualidade do código fonte gerado. 
XP - Programação em par
A equipe de desenvolvimento precisa estabelecer 
regras para programar e todos devem seguir 
estas regras. 
XP - Padrão de Codificação
É um processo que permite a melhoria 
contínua da programação, com o mínimo de 
introdução de erros e mantendo a 
compatibilidade com o código já existente. 
Refatorar melhora a clareza do código, divide-o 
em módulos mais coesos e de maior 
reaproveitamento, evitando a duplicação de 
código-fonte -> maximização do reuso 
XP - Refatoração
Primeiro crie os testes automatizados e 
depois crie o código para que os testes 
funcionem. Esta abordagem é complexa no 
início, pois vai contra o processo de 
desenvolvimento de muitos anos. Testes de 
regressão, por exemplo, são essenciais para que 
a qualidade do projeto seja mantida -> Maior 
segurança para se efetuar refatorações. 
XP - Desenvolvimento orientado a testes
Sempre que produzir uma nova funcionalidade, 
nunca esperar uma semana para integrar à versão 
atual do sistema. Isto só aumenta a possibilidade 
de conflitos e a possibilidade de erros no código 
fonte. Integrar de forma contínua permite 
saber o status real da programação.
XP - Integração contínua
Scrum e XP
“Ambos Scrum e Extreme 
Programming (XP) pregam 
que a equipe complete 
alguma parte palpável de 
trabalho que seja entregável 
ao fim de cada iteração. 
Essas iterações são pensadas 
para serem curtas e com 
espaço de tempo definido.” 
Mike Cohn
Lean
Maximizar o valor do cliente 
enquanto minimizando 
desperdícios.
Lean
Kaizen = é uma palavra Japonesa utilizada para 
indicar a melhoria a longo prazo de algo ou alguém 
- melhoria contínua. 
O primeiro passo do Lean Manufacturing é mapear o 
processo e entender onde há desperdícios. O 
kaizen é inserido neste contexto como base de uma 
prática de melhoria sistêmica. 
Lean - Kaizen
1.Elimina desperdício para maximizar valor 
2.Empoderar o time: não focar em 
microgerenciamento, respeito ao time para que 
tomem decisões e sejam produtivos 
3.Entregar o mais rápido possível para maximizar o 
ROI através de iterações curtas e feedback 
constante 
Lean - Princípios que focam em 7 conceitos centrais
4. Otimizar o todo: ver além do que as partes de 
um projeto e enxergar como está alinhado a 
organização. 
5. Construir qualidade constantemente 
6. Decidir o mais tarde possível 
7. Amplificar aprendizagem dos envolvidos no 
processo
Lean - Princípios que focam em 7 conceitos centrais
Jidoka- primeiro tear com parada automática
https://www.citisystems.com.br/jidoka/
Parar e notificar anormalidades! Acertos de qualidade 
feitos o mais cedo possível, ao longo do processo: “fazer 
certo da primeira vez”.
Lean - Stop the line
• Cultura “Stop-the-Line”- Acertos de qualidade 
feitos o mais cedo possível, ao longo do 
processo: “fazer certo da primeira vez”. 
•Preocupação com as Falhas 
•Relutância em Simplificar Motivos de Falhas 
•Compromisso em Aprender com os Erros 
•Reverência à Expertise Técnica
Lean - Stop the line
● Eliminação de inventário (estoques 
intermediários) criados em nome da “economia de 
escala” de Taylor. 
● Otimização holística do processo e não de suas 
partes. Trabalhadores aptos no processo como um 
todo (e não em sub-processos ou atividades) – 
adaptaçãorápida da linha de produção para cada 
nova situação ou problema. 
Lean - Just in time (JIT)
Lean - 7 desperdícios
Fonte: https://pt.linkedin.com/pulse/os-7-
desperd%C3%ADcios-do-lean-daniel-nobre
Lean - Desperdícios ocultos
Fonte: https://www.citisystems.com.br/7-desperdicios-producao/
Lean Development - Desperdícios
Kanban
Lean e Kanban - história
Fonte: https://www.slideshare.net/DigitalCatapultDevelopmentPractices/
agile-scrum-lean-kanban-in-a-flash
• Objeto Kanban: Cartão sinalizador. 
• Sistema Kanban: Sistema de fluxo de entrega que 
controla a quantidade de trabalho em progresso usando 
sinais visuais. 
• Método Kanban: Método para definição, gerenciamento 
e melhoria de serviços que entregam trabalho do 
conhecimento, como serviços profissionais, indústria 
criativa e desenho de produtos de software.
Kanban
Kanban - 3 princípios básicos
Fonte: http://www.stateofagile.versionone.com/
• Visualizar fluxo de trabalho. 
• Limitar trabalho em progresso. 
• Gerenciar fluxo. 
• Tornar políticas explícitas. 
• Implementar laços de feedback. 
• Melhorar colaborativamente, evoluir experimentalmente.
Kanban - práticas centrais
Ponto de compromisso - ponto em um sistema kanban onde é estabelecido o compromisso de se 
entregar um item de trabalho.
Ponto de entrega - ponto no sistema kanban onde o item de trabalho é considerado completo.
Kanban - Visualizar o fluxo de trabalho
Através do quadro, expõe métricas de 
velocidade, gargalos, filas, variabilidade e 
desperdício. Com isso, incentiva discussões 
sobre melhorias e equipes as promovem 
rapidamente nos processos. Estuda o tempo de 
ciclo necessário para entregar um produto. 
Modifica o comportamento e incentiva maior 
colaboração no trabalho. Promove consenso 
entre trabalhadores e colaboradores.
Kanban - Transparência
Work in Progress (WIP) – número de itens de trabalho dentro de um 
sistema sendo considerado em um determinado ponto no tempo.
Lead Time – tempo de um item de trabalho entre os pontos de compromisso 
e entrega.
Kanban - Visualizar o fluxo de trabalho
Na execução do fluxo, as vezes, ocorre algum tipo de 
conflito.É demandado um controle empírico por meio 
de transparência, inspeção e adaptação. 
Gargalos, onde o fluxo é restringido por um sub-
processo em particular, e bloqueadores, onde há 
dependências com outros serviços, são importantes 
para tomar nota e gerenciar.
Kanban - Gerenciar fluxo
Kanban - Gerenciar fluxo
WIP
•WIP está intimamente ligado a entrega 
orientada a valor 
•WIP alto é RUIM!! E representa um grande risco 
de itens não finalizados a serem entregues ao 
cliente! 
•E… por isso, é bom limitar WIP!!
Kanban - tornar políticas explícitas
Kanban - implementar laço de feedback
http://brodzinski.com/2013/07/cumulative-flow-diagram.html
Kanban - CFD
Scrum e Kanban
http://agilelion.com/agile-
kanban-cafe/agile-2-0-
embracing-lean-and-rise-
ultra-light-methods
Scrum e 
Kanban
São ambos altamente adaptativos, sendo o 
Scrum mais prescritivo que Kanban -> Scrum 
lhe dá mais restrições. Por exemplo, o Scrum 
prescreve o uso de iterações de duração fixa, o 
Kanban não. Prevê equipes multifuncionais, não 
obrigatórias no Kanban. Além de preescrever 3 
papéis – PO, Scrum Master e Scrum Team, o 
Kanban não determina seu time.
Scrum e Kanban
Únicas restrições Kanban: Visualize Seu Fluxo de 
Trabalho e Limite Suas Atividades em 
Andamento. 
O raciocínio comum tanto em Scrum quanto em 
Kanban é: menos é mais! Então, na dúvida, 
comece com menos!
Scrum e Kanban
Scrum e Kanban
https://realtimeboard.com/
blog/choose-between-
agile-lean-scrum-kanban/
#.WVL_acZ2pmA
Scrum e 
Kanban
Por fim…
https://agilespy.files.wordpress.com/2013/12 lean_agile_process_toolkits_980x688.png
Métodos e Framework Ágeis
Uso de técnicas combinadas
http://www.agile247.pl/wp-content/uploads/2017/04/versionone-11th-annual-state-of-agile-report.pdf
Uso de formas de acompanhamento combinadas
http://www.agile247.pl/wp-content/uploads/2017/04/versionone-11th-annual-state-of-agile-report.pdf
Doing Agile
Vs. 
Being Agile
From 
Agile2012
Sobre utilizar técnicas e ferramentas ágeis
www.knowledgebridgepartners.com/
Sobre mudar seu mindset…
•Ter o cliente sempre por perto (de verdade!) 
•Envolver os stakeholders significa que ele 
irá validar frequentemente e não somente ao 
final de iterações, por exemplo, ou mesmo ao 
final do projeto :( 
•Entender o que ele realmente quer para que a 
entrega de valor seja melhor planejada e 
entregue mais cedo possível
Being Agile
•Ter entregas regulares e prontas para serem 
validadas. 
•Não adianta entregar um incremento com 
coisas “por fazer" 
•Obter feedback real constante e aprender 
com os erros 
•Fazer reuniões de retrospectivas que tenham 
ações concretas para a melhoria contínua
Being Agile
•Ter coragem de dizer sempre a verdade sobre: 
•Cronogramas atrasados e irreais 
•Prazos não factíveis 
•Não ter conhecimento sobre algo que você tem 
que resolver e pedir ajuda! 
•Equipe realmente comprometida com o projeto 
e não somente com sua reputação! 
•Todos auxiliam em tudo! Entendem o objetivo 
e pensam no todo!
Being Agile
•Criar tarefas objetivas e pequenas para que 
sejam terminadas mais rápido (Melhor 
monitoramento, WIP baixo e feedback imediato) 
•Focar nas tarefas a serem executadas -> não 
adianta achar que multitasking é efetivo
Being Agile
•Experimentar novas formas de fazer - inspecionar 
e adaptar 
•Alternar papéis, alterar documentos, reunião, 
fluxos, etc 
•Demonstrar algo pronto ao final de cada iteração, 
algo que possa ser usado. 
•Todo mundo deve saber de tudo. A saturação da 
comunicação acelera o trabalho. 
Being Agile
•Fazer uma reunião por dia. Verificar o trabalho da 
equipe e ver o que pode ser feito para aumentar a 
velocidade (e criar plano de ação para isso). 
•Simplicidade: para ser ágil, é necessário simplificar 
processos, seja de definição, de aprovação, etc. 
•Reflexão frequente e adaptação: como a mudança é 
uma constante no mundo digital, é importante refletir 
constantemente sobre os esforços, ajustando-os quando 
necessário.
Being Agile
•Lembrar que sucesso de um projeto não é atender ao 
famoso triângulo "escopo, prazo e custo" e sim, atender aos 
objetivos do cliente!
• Mudar a forma como cada um enxerga o seu cliente, o 
negócio dele e a própria capacidade real de entregar 
software de valor agregado.
Como disse Steve Denning, "Delighting Customers”
Being Agile

Mais conteúdos dessa disciplina