Professional Documents
Culture Documents
Modelo Ágil
de
Desenvolvimento de
Software
LOURENÇO MARCOS & JOSÉ ALEXANDRE
18/03/2010
... CAOS
6
18/03/2010 José Alexandre &
Lourenço Marcos
O Manifesto Ágil
O que é isso?
– Um manifesto que criticava alguns mitos/práticas da
engenharia de software e da gerência de projetos
adotadas por abordagens tradicionalistas
– Foi assinado por 17 pessoas envolvidas com
desenvolvimento de software, dentre eles consultores e
programadores experientes
http://www.agilemanifesto.org 2001
18/03/2010 José Alexandre & 10
Lourenço Marcos
Os 12 Princípios do Manifesto Ágil
12 princípios por traz do Manifesto Ágil
– Satisfazer o cliente
– As mudanças são bem vindas
– Entrega periódica de funcionalidade
– Todos juntos
– Indivíduos Motivados
– Conversas face a face
– Medida primária é o software trabalhado
– Manter um ritmo constante sempre
– Atenção contínua, excelência técnica e bom projeto
– Simplicidade
– Equipes auto-organizáveis ou auto-gerenciáveis
– Reflexão de melhoria regularmente
18/03/2010 José Alexandre & 11
Lourenço Marcos
Pessoas X Tecnologia?
Ações
Objetivo Necessidades
Vontades
Foco nos
indivíduos e
interações
Ter um ambiente
• Não é possível ter
de projeto eficaz foco em ambos!
Conflito?
e eficiente
Foco nos
processos e
ferramentas
• Um projeto necessita de • Processos são essenciais para padronização,
mecanismos de controle monitoramento, medição e controle
• Padronização leva à reutilização, • Ferramentas automatizam partes do processo, facilitam
que aumenta a produtividade e a padronização, aumentam a produtividade e permitem
diminui os erros a coleta automática de medidas
Ações
Objetivo Necessidades
Vontades
Indivíduos
amparados por
processos e
Ter um ambiente
ferramentas
de projeto eficaz
apropriadas,
e eficiente
otimizando
suas
interações
Ações
Objetivo Necessidades
Vontades
Ações
Objetivo Necessidades
Vontades
Excesso de
mudanças
Prioridades
mutáveis
Recursos
sobrecarregados
Recursos não
disponíveis
Atrasos
Retrabalho
A B C
A B C
or aper P
or aper P
or aper P
A B C
A B C A B C A B C
or aper P
or aper P
or aper P
or aper P
or aper P
or aper P
or aper P
or aper P
or aper P
A
B
C
Tempo da
Segurança
tarefa
Tempo
25
18/03/2010 José Alexandre &
Lourenço Marcos
XP – EXtreme Programming
Começou a engatinhar 1987 e a se estruturar
em 1996 com o projeto C3 da Chrysler
Criado pro Kent Beck, que utilizou pela
primeira vez em conjunto as práticas que
formam a estrutura do Extreme
Programming nesse projeto da Chrysler
26
18/03/2010 José Alexandre &
Lourenço Marcos
XP – EXtreme Programming
Valores:
Comunicação
Simplicidade
Feedback
Coragem
Abordagem Incremental
27
18/03/2010 José Alexandre &
Lourenço Marcos
A quem se destina o – XP ?
Grupos de 2 a 10 programadores
Projetos de 1 a 36 meses (calendário)
De 1000 a 250 000 linhas de código
Papéis:
Programadores (foco central)(sem hierarquia)
“Treinador” ou “Técnico” (coach)
“Acompanhador” (tracker)
Cliente
28
18/03/2010 José Alexandre &
Lourenço Marcos
XP – EXtreme Programming
12 Práticas
Planejamento • Refatorar
Entregas • Propriedade
Frequêntes Coletiva
Metáfora • Integração
Projeto Simples Contínua
Testes • 40 horas
Programação em semanais de
pares trabalho
• Cliente presente
• Padronização do
18/03/2010 José Alexandre &
Lourenço Marcos
Código 29
SCRUM
O nome é originado da organização de uma
equipe de Rugby para o reinicio da partida.
31
18/03/2010 José Alexandre &
Lourenço Marcos
SCRUM
Quais são os papeis envolvidos?
Scrum Team
Scrum Master
32
18/03/2010 José Alexandre &
Lourenço Marcos
SCRUM
Papel do Product Owner
Conhece o produto e as
necessidades do cliente
Representa o cliente
Define os requisitos do
produto, bem como sua
importância e urgência
É responsável pelo retorno
do investimento
33
18/03/2010 José Alexandre &
Lourenço Marcos
SCRUM
Papel do Scrum Master
É o líder servidor
Responsável por
remover os
impedimentos do time
Por remover
interferências externas
E por garantir o uso
correto do Scrum
Ensina Scrum aos
envolvidos
34
18/03/2010 José Alexandre &
Lourenço Marcos
SCRUM
Papel do Scrum Team
Fazem parte do Scrum team
todos os desenvolvedores,
arquitetos, analistas, ... que
participam do projeto
O time é auto-gerenciável e
multifuncional ou
multidisciplinar (pessoas
com diferentes aptidões)
Decidem junto com o PO o
que entra no Sprint
E são responsáveis pelas
estimativas de esforço
35
18/03/2010 José Alexandre &
Lourenço Marcos
Resumo
Quem faz?
Engenheiros de software e outros interessados no projeto
trabalham juntos em uma equipe ágil . uma equipe ágil
enfatiza a comunica;’ao e colaboração entre todos que a
compõem
Por que e importante?
O ambiente moderno de negócios que cria sistemas
baseado em computador e produto software é apressado e
sempre mutável. A engenharia ágil apresenta uma
alternativa razoável para a engenharia de software
convencional para certas categorias de software e certos
tipos de projetos de software. As pesquisas mostram que
este modelo entrega rapidamente sistemas bem-sucedido.
36
18/03/2010 José Alexandre &
Lourenço Marcos
Resumo
Quais são os passos?
Clientes e engenheiro de software que têm adotado a filosofia ágil tem a mesma
impressão - o único produto de trabalho realmente importante e um - incremento
de software operacional que é entregue ao cliente na data combinada.
37
18/03/2010 José Alexandre &
Lourenço Marcos
Onde Aprender Mais?