Escolar Documentos
Profissional Documentos
Cultura Documentos
Engenharia de Software I
4. Indivíduos motivados.
8. Excelência técnica.
9. Simplicidade.
11. Equipe reflete sobre como se tornar mais efetiva, então sintoniza e ajusta adequadamente
seu comportamento.
Manifesto Ágil – Como os times ágeis agregam valor
Consideração4 da usabilidade
12 Fonte: XXXXXX 70%
Fonte: Livro-texto.
Extreme Programming (XP)
Princípios Básicos:
Simplicidade.
Comunicação.
Feedback.
Coragem.
Extreme Programming (XP)
As 12 Práticas:
Histórias de Cenários de
usuário testes
Metáforas Plano de
do sistema liberação
Próxima Última
iteração versão
Estimativas
incertas
Estimativas
Riscos confidenciais
Fonte: Livro-texto.
Extreme Programming (XP) – Desvantagens do Processo
Mudança cultural.
Interatividade
Cultura: time multidisciplinar, time autogerenciável, entrega de valor, cliente parte do time,
entregas contínuas e colaboração.
SCRUM – Ciclo de Vida
Reunião diária
do time
2-4
semanas
Potentially
Sprint shippable
Product backlog product
backlog
increment
Fonte: Livro-texto.
SCRUM – Conceitos
O Product Backlog representa uma lista com todos os requisitos priorizados e ordenados de
acordo com o valor que representam para o cliente e negócio.
Uma Review Meeting é uma reunião ao final do sprint para o cliente realizar o aceite
do incremento.
Requisito
1 Jô
Quadro
Kanban Atividade
5 Lilica
Impedido
Atividade
1
José
Fonte: Livro-texto
140
120
100
80 Ideal
60 Realizada
40
Gráfico 20
Burndown 0
1 2 3 4 5 6
Dia Fonte: Livro-texto
ICONIX
É um modelo ágil dirigido por casos de uso, que utiliza prototipação desde o início e
diagramas da UML.
É um processo mais simples que o processo unificado, sem perder a simplicidade do XP.
ICONIX – Ciclo de Vida
Revisão dos
requisitos Projeto
Software
pronto
Fonte: Livro-texto
ICONIX – Passo a passo
O SCRUM é um dos modelos ágeis mais utilizados no mercado. Qual das opções abaixo se
refere a uma atividade do método SCRUM?
a) Gerente de projetos.
b) Reuniões de diárias e de revisão.
c) Diagrama de classes.
d) Dirigido por casos de uso.
e) Protótipo de interface desde o início.
Resposta
O SCRUM é um dos modelos ágeis mais utilizados no mercado. Qual das opções abaixo se
refere a uma atividade do método SCRUM?
a) Gerente de projetos.
b) Reuniões de diárias e de revisão.
c) Diagrama de classes.
d) Dirigido por casos de uso.
e) Protótipo de interface desde o início.
Feature Driven Development (FDD)
Pode ser utilizado em conjunto com o SCRUM, em que o FDD seja o processo de
desenvolvimento e o SCRUM de gerenciamento.
Feature Driven Development (FDD) – Processos Básicos
Design ou
projeto
Inspeção do
design
Codificação
(sugere-se o TDD)
Processo FDD
Testes
cíclico e incremental
(sugere-se o TDD)
Integração
Inspeção de
código
Build completo
(entregável)
Fonte: Livro-texto.
Feature Driven Development (FDD)
Vantagens:
Modelagem orientada a objetos.
Desenvolvimento incremental.
Equipes pequenas.
Inspeção para garantir a qualidade.
Integração contínua.
Desvantagem:
Desenvolvedor é incentivado como único responsável pelo módulo que desenvolve.
Adaptative Software Development (ASD)
Principais características:
É incremental;
Ciclos de 4 a 8 semanas;
Cliente sempre presente durante o processo;
Pode ser usado para sistemas grandes;
Utiliza técnica de reunião JAD (Joint Application Development) para o
desenvolvimento de aplicações.
Adaptative Software Development (ASD) – Ciclo de Vida
Aprender
Fonte: Livro-texto.
Adaptative Software Development (ASD)
Vantagens:
Desenvolvimento orientado a riscos.
Desenvolvimento baseado em componentes.
Equipes pequenas.
Prazos prefixados (time-boxed).
Boa tolerância a mudanças.
Desvantagens:
Pouco levantamento de requisitos.
Dynamic System Development Method (DSDM)
Equipes pequenas;
Design e
construção
(iteração)
Fonte: Livro-texto
Dynamic System Development Method (DSDM)
Vantagens:
Desenvolvimento incremental.
Usuário sempre envolvido.
Equipe DSDM autorizada a tomar decisões.
Foca na entrega frequente do produto.
“Construa certo, antes de construir corretamente”.
Testes são integrados ao ciclo de vida.
Desvantagens:
Requisitos são acompanhados em alto nível.
Depende de autonomia para tomada de decisões.
Interatividade
FDD, ASD e DSDM são métodos ágeis que precedem ao Manifesto Ágil de 2001, mas já
propõem uma série de boas práticas recomendadas pelo Manifesto. Das características abaixo,
qual alternativa contém práticas comuns aos três métodos?
FDD, ASD e DSDM são métodos ágeis que precedem ao Manifesto Ágil de 2001, mas já
propõem uma série de boas práticas recomendadas pelo Manifesto. Das características abaixo,
qual alternativa contém práticas comuns aos três métodos?
Difere dos demais métodos ágeis por ser uma família de metodologias e não apenas uma.
Vantagens:
Ênfase no processo de comunicação da equipe.
Especificações e modelos são informais.
Utiliza casos de uso da UML.
Usa incrementos regulares de um mês.
Método é pouco definido para permitir adaptações.
Desvantagens:
Informalidade pode gerar dúvidas em projetos maiores.
Flexibilidade de adaptação pode gerar falhas.
Test Driven Development (TDD)
Não é método de testes, mas sim um método de desenvolvimento, criado por Kent
Beck em 2003.
Primeiro o desenvolvedor cria casos de testes para uma melhoria ou nova funcionalidade.
Adicionar um teste:
Escrever um teste baseado na especificação.
Faz o desenvolvedor focar nos requisitos.
Na primeira execução os testes devem falhar, pois o código não está pronto.
Escrever o código:
Construir o código para passar nos testes escritos e automatizados.
Todos os testes devem passar com sucesso.
Test Driven Development (TDD) – Ciclo de Desenvolvimento
Refatorar o código:
Melhoria do código escrito.
Refazer os testes após alterações.
Repetir tudo:
Iniciando outro teste, o ciclo é repetido.
Incorpora requisitos e novos testes até ficar 100% correto.
Usar a integração contínua para reversão.
Test Driven Development (TDD)
Vantagens:
Processo incremental.
Especificações e modelos são informais.
Testes unitários efetivos.
Aumento da produtividade em alterações.
Desvantagens:
Sem especificações não se constrói.
A criação de testes automatizados podem gerar atrasos no
tempo de construção.
É um modelo ágil.
Modelagem Ágil
Permite que cada equipe defina o que é suficiente para o cliente e para o desenvolvimento.
Modelagem Ágil – Ciclo de Vida
Sem Com
nenhuma excesso de
modelagem modelagem
Design
Arquitetura
Necessidades Códigos
Banco de dados
Requisitos Testes
Transações
Análise
Implementação
Faz com que os
Frequentemente resulta esforços
em retrabalho quando o de desenvolvimento
software demonstra ser Extremos caminhem
mal projetado jamais lentamente
são bons
Fonte: Livro-texto
Modelagem Ágil – Objetivos
Lidar com a questão de incluir modelos aos métodos ágeis, tornando-os mais formais.
O Test Driven Development (TDD) é um método que tem como característica principal:
O Test Driven Development (TDD) é um método que tem como característica principal: