Buscar

EC205 Cap 8.3 Processos Ágeis A2013 S2 - PA1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 49 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 49 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 49 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
Cap. 8.3 – Processos Ágeis 
EC205 – Engenharia de 
Software I 
Auto: Prof. Afonso Celso Soares 
Adaptado do material dos professores Guilherme A. B. Marcondes e Valeska P. P. Marcondes 
Baseado no livro: Engenharia de Software – Roger S. Pressman – Sexta Edição 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
Motivação 
• Na economia moderna, normalmente é difícil ou 
impossível prever como um sistema computacional se 
desenvolverá ao longo do tempo. 
 
• As condições (mercado, necessidades de usuários, 
acordos de competição, etc.) mudam muito rapidamente. 
 
• Em muitas situações, não se consegue definir totalmente 
os requisitos antes do projeto começar. 
 
• Os engenheiros de software devem ser ágeis o suficiente 
para responder a um ambiente de negócios variável. 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
Desenvolvimento Ágil 
Filosofia 
Diretrizes de 
Desenvolvimento 
Desenvolvimento Ágil 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
Desenvolvimento Ágil 
Filosofia 
Diretrizes de 
Desenvolvimento 
Desenvolvimento Ágil 
 Foco na satisfação do cliente. 
 
 Entregas rápidas e incrementais de releases. 
 
 Equipe de desenvolvimento pequena e altamente motivada. 
 
 Métodos informais. 
 
 Quantidade mínima de produtos de trabalho de engenharia. 
 
 Todo o desenvolvimento focado na simplicidade! 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
Desenvolvimento Ágil 
Filosofia 
Diretrizes de 
Desenvolvimento 
Desenvolvimento Ágil 
 Foco maior nas entregas de releases do que nas atividades 
de análise e projeto (embora não desencorajem essas 
atividades). 
 
 Foco na comunicação ativa e contínua os desenvolvedores 
e o cliente. 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
Manifesto para o Desenvolvimento Ágil: 
 
• Quando foi publicado? 
 
• Quem foi o líder? 
 
• Princípios básicos? 
 
 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
Manifesto para o Desenvolvimento Ágil: 
• Publicado em 2001. 
• Líder: Kent Beck. Ao todo 17 desenvolvedores. 
 
– indivíduos e interações X processos e ferramentas; 
– software funcionando X documentação bem feita; 
– colaboração com o cliente X negociação de contrato e 
– resposta às mudanças X seguir um plano. 
 
 
Desenvolvimento ágil pode trazer grandes benefícios, mas 
não é aplicável a todos os projetos, pessoas e situações. 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
O que é Agilidade? 
Comunicação mais fácil entre todos os 
envolvidos (equipe de desenvolvimento, 
pessoal de negócio, gerentes e cliente). 
Resposta efetiva a 
mudanças. 
Ênfase na entrega rápida de 
software operacional. 
Cliente como parte da equipe de 
desenvolvimento (eliminar os termos: nós 
“desenvolvedores” e eles “clientes”). 
Reconhecer que o planejamento é 
limitado e que o plano de projeto deve ser 
flexível. 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
12 Princípios 
A Aliança Ágil [1] define 12 princípios para se atingir 
agilidade: 
 
1. A maior prioridade é satisfazer o cliente por meio de 
entregas contínuas e rápidas. 
 
2. Mudanças nos requisitos são bem-vindas, não 
importando a fase de desenvolvimento em que o projeto 
se encontra. Processos ágeis mudam para buscar a 
vantagem competitiva dos clientes. 
 
 
[1]The Agile Alliance Home Page, http://www.agilealliance.org.home 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
3. Entrega frequente do software operacional (diversas 
releases), com preferência pelo menor período possível 
(algumas semanas ou no máximo meses). 
 
4. Desenvolvedores e especialistas no negócio devem 
trabalhar juntos diariamente ao longo do projeto. 
 
5. Desenvolver projetos com pessoas motivadas. 
Disponibilizar o ambiente e o suporte que elas precisam 
e confiar que farão o trabalho. 
 
12 Princípios 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
6. O método mais eficiente de garantir a troca de 
informação eficiente e efetiva é na conversa “cara-a-
cara” entre os membros da equipe. 
 
7. Software funcionando é a medida primária de 
progresso. 
 
8. Processos ágeis promovem desenvolvimento 
sustentável. Financiadores, desenvolvedores e 
usuários devem ser capazes de manter um ritmo 
constante indefinidamente. 
12 Princípios 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
9. Atenção contínua na agilidade em melhorar a 
excelência técnica e o bom projeto. 
 
10. Simplicidade é essencial. 
 
11. Os melhores requisitos, arquiteturas e soluções de 
projeto saem de equipes auto-organizadas. 
 
12. Em intervalos regulares, a equipe reflete como pode 
tornar-se mais efetiva, então o seu comportamento 
deve se ajustar de acordo. 
12 Princípios 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
Processo Ágil 
É difícil prever com antecedência as 
mudanças de requisitos e/ou de 
prioridades do cliente ao longo do projeto. 
É difícil prever quanto de projeto é necessário 
antes da construção comprovar que está 
adequado, pois projeto e construção estão 
interligados. 
Análise, projeto, construção e teste não 
são tão previsíveis (do ponto de vista de 
planejamento) quanto gostaríamos que 
fosse. 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
Processo Ágil 
Como tratar tanta 
falta de 
previsibilidade? 
Adaptabilidade 
Deve ser incremental. Feedback 
efetivo do cliente. 
Incrementos entregues em 
intervalos pequenos. 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
Fatores Humanos 
 
 
 
 
 
 
 
 
 
 
 
 
Competência 
Conhecimento compartilhado entre 
todos. 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
Fatores Humanos 
 
 
 
 
 
 
 
 
 
 
 
 
Competência 
Entregar o comprometido no prazo 
acertado. 
Foco Comum 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
 
 
 
 
 
 
 
 
 
 
 
 
Fatores Humanos 
Competência 
Equipe de desenvolvimento, cliente e 
gerentes de negócios. 
Foco Comum 
Colaboração 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
 
 
 
 
 
 
 
 
 
 
 
 
Fatores Humanos 
Competência 
Autonomia para tomar decisões. 
Foco Comum 
Colaboração 
Tomada de Decisão 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
 
 
 
 
 
 
 
 
 
 
 
 
Fatores Humanos 
Competência 
Aprender com os problemas. Não 
repetir. 
Foco Comum 
Colaboração 
Tomada de Decisão 
Solução de 
Problemas 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
 
 
 
 
 
 
 
 
 
 
 
 
Fatores Humanos 
Competência 
Foco Comum 
Colaboração 
Tomada de Decisão 
Solução de 
Problemas 
Respeito e 
Confiança Mútuos 
O todo maior do que a soma das 
partes. 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
 
 
 
 
 
 
 
 
 
 
 
 
Fatores Humanos 
Competência 
Foco Comum 
Colaboração 
Tomada de Decisão 
Solução de 
Problemas 
Respeito e 
Confiança Mútuos 
Equipe se organiza para atender aos 
compromissos. 
Auto-Organização 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
Modelos de Processos Ágeis 
• Quais são os modelos?w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
Modelos de Processos Ágeis 
• Alguns modelos de processos ágeis são: 
 
– XP – eXtreme Programming 
– ASD – Adaptative Software Development 
– DSDM – Dynamic Systems Development Method 
– Scrum 
– Crystal 
– FDD – Feature Driven Development 
– AM – Agile Modeling 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
Metodologia para pequenas e médias empresas. 
Boas práticas ao Extremo 
• Programação em pares 
• Testes unitários 
• Testes funcionais 
• Refactoring 
• O mais simples! 
• Metáforas 
• Integração contínua 
• O jogo do planejamento! 
eXtreme Programming - XP 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
Jogo do Planejamento 
Determinar rapidamente o escopo da 
próxima release combinando prioridades de 
negócios e estimativas técnicas; atualizar o 
plano. 
Pequenas releases 
Colocar o sistema em produção 
rapidamente, então entregue novas versões 
em um curto espaço de tempo. 
Metáfora 
Guiar todo o desenvolvimento utilizando 
uma história simples e compartilhada que 
descreva como o sistema funciona. 
 
eXtreme Programming – XP - Práticas 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
Projeto Simples 
Projetar o sistema tão simples quanto 
possível a qualquer momento. Assim que 
descobertas, as complexidades devem ser 
removidas. 
Teste 
Escrever testes unitários continuamente e 
os clientes escrevem os testes funcionais. 
Refactoring 
Reestruturar o sistema, sem mudar o seu 
comportamento, para remover duplicações, 
melhorar a comunicação, simplicidade e 
adicionar flexibilidade. 
eXtreme Programming – XP - Práticas 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
Programação em pares 
Escrever todo o código com dois 
programadores em uma máquina. 
Propriedade coletiva 
Qualquer um pode mudar qualquer código, 
em qualquer lugar do sistema, a qualquer 
hora. 
Integração contínua 
Integrar e construir o sistema muitas vezes 
no dia, sempre que uma tarefa é completada. 
eXtreme Programming – XP - Práticas 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
40 horas semanais Não trabalhar mais que 40 horas semanais. 
Cliente on-site 
Incluir um usuário real na equipe, que esteja 
disponível o tempo todo para responder 
questões. 
Padrões de codificação 
Escrever todo o código de acordo com 
regras, enfatizando a comunicação através 
do código. 
eXtreme Programming – XP - Práticas 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
eXtreme Programming - XP 
Estórias do usuário descrevem facilidades 
e funcionalidades. 
Cada estória é colocada em um cartão indexado. 
Equipe de desenvolvimento avalia cada 
estória e determina um valor (estimado 
em semanas de desenvolvimento). 
Planejamento 
Cada estória recebe um valor (prioridade – 
importância). 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
eXtreme Programming - XP 
Estórias que demorem mais do que 3 
semanas devem ser quebradas. 
Uma nova estória pode ser inserida a 
qualquer momento. Estórias podem 
ser mudadas. 
Após entrega da release, velocidade 
de desenvolvimento é avaliada. 
Planejamento 
Cliente e equipe de 
desenvolvimento decidem juntos as 
estórias da próxima release. 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
eXtreme Programming - XP 
Keep it Simple - KIS. 
O projeto é um guia de 
implementação da estória. 
Se é encontrada alguma dificuldade de projeto 
é elaborado um protótipo (Solução Spike). 
Projeto 
Cartões CRC (Classe-Responsabilidade-
Colaborador). Pensar o software orientado a 
objeto. Único produto de trabalho da fase. 
Poucos produtos de trabalho. Fácil de 
ser mudado. 
Refactoring. 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
eXtreme Programming - XP 
Inicia pelos testes unitários. 
Código feito com objetivo de passar 
no teste. 
Integração diária. Minimiza problemas 
de compatibilidade e interfaceamento. 
Codificação 
Teste imediato do código. Feedback instantâneo 
Pair Programming. Um pensa na lógica e outro nos 
padrões (por exemplo). Troca de papéis frequente. 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
eXtreme Programming - XP 
Automatização dos testes 
unitários.Realização de regressão. 
Testes de validação diários. 
Testes 
Testes de aceitação especificados pelo 
cliente. Derivados das estórias. 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
Scrum 
• O que significa este termo? 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
Scrum 
Companheiros de 
equipe trabalham 
juntos para mover 
a bola. 
Rugbi 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
 
 
 
 
 
 
 
 
 
 
 
 
Scrum - Princípios 
Pequenas Equipes 
de Trabalho 
Organizadas para maximizar 
comunicação, minimizar overhead e 
maximizar a troca de conhecimento. 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
 
 
 
 
 
 
 
 
 
 
 
 
Pequenas Equipes 
de Trabalho 
Adaptação de 
Processo 
Adaptar-se às mudanças técnicas e 
de negócio para garantir que o melhor 
produto possível será produzido. 
Scrum - Princípios 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
 
 
 
 
 
 
 
 
 
 
 
 
Pequenas Equipes 
de Trabalho 
Adaptação de 
Processo 
Incrementos 
Podem ser inspecionados, ajustados, 
testados, documentados e apoio para 
evolução do produto. 
Scrum - Princípios 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
 
 
 
 
 
 
 
 
 
 
 
 
Pequenas Equipes 
de Trabalho 
Adaptação de 
Processo 
Incrementos 
Divisão em 
Pequenos Pacotes 
O trabalho de desenvolvimento e as 
pessoas envolvidas são particionadas 
em pequenos pacotes. 
Scrum - Princípios 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
 
 
 
 
 
 
 
 
 
 
 
 
Pequenas Equipes 
de Trabalho 
Adaptação de 
Processo 
Incrementos 
Divisão em 
Pequenos Pacotes 
Teste e 
Documentação 
Constantes 
À medida que o produto é 
construído. 
Scrum - Princípios 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
 
 
 
 
 
 
 
 
 
 
 
 
Pequenas Equipes 
de Trabalho 
Adaptação de 
Processo 
Incrementos 
Divisão em 
Pequenos Pacotes 
Teste e 
Documentação 
Constantes 
Scrum - Princípios 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
Scrum 
Fonte: http://www.sadhanbiswas.com/myblog/tag/technology/ 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
Scrum 
Fonte: http://www.sadhanbiswas.com/myblog/tag/technology/ 
Lista priorizada de requisitos e facilidades 
do projeto que agregarão valor ao negócio. 
Itens podem ser incluídos a qualquer 
tempo, assim como as prioridades podem 
ser trocadas. 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
Scrum 
Fonte: http://www.sadhanbiswas.com/myblog/tag/technology/ 
Backlog que entra no Sprint. 
Sprint Backlog não sofre 
alterações. 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
Scrum 
Fonte: http://www.sadhanbiswas.com/myblog/tag/technology/ 
Desenvolvimento do 
incremento. 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
Scrum 
Fonte: http://www.sadhanbiswas.com/myblog/tag/technology/w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
Scrum 
Fonte: http://www.sadhanbiswas.com/myblog/tag/technology/ 
• Diárias e curtas - 15 minutos) 
• Três perguntas básicas. 
• O que foi feito desde a última reunião? 
• Quais obstáculos encontrados? 
• O que se planeja fazer antes da 
próxima reunião? 
•Porcos (comprometidos em cumprir as 
tarefas do dia) e Frangos (ouvintes). 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
Scrum 
Fonte: http://www.sadhanbiswas.com/myblog/tag/technology/ 
w
w
w
.i
n
a
te
l.
b
r 
Processos Ágeis 
Conclusão 
• Os principais processos ágeis utilizam a entrega do 
software por incremento, o que permite avaliar 
constantemente se o resultado está atendendo às 
expectativas e necessidades. 
• Os seus pontos chave são: 
– Equipes auto-organizadas; 
– Comunicação; 
– Colaboração; 
– Reconhecer que mudanças acontecem; 
– Ênfase na entrega rápida do software e 
– Principalmente, manter o sistema simples. 
• Dentre estes modelos, o Scrum tem sido o mais 
utilizado nas empresas.

Outros materiais