Mais conteúdo relacionado Semelhante a Sua equipe está preparada para atender um cliente ágil? (10) Sua equipe está preparada para atender um cliente ágil?1. JUGDAY * RSJUG.ORG * SUCESU-RS
Porto Alegre, RS, 24/10/2009
está
Sua equipe está preparada para
atender um cliente ágil?
Luiz Claudio Parzianello
parzianello@suryatec.com.br
http://parzianello.blogspot.com
Copyright © 2009 LUIZ C PARZIANELLO Slide 1 de 54
2. Quem sou eu?
CLÁ
LUIZ CLÁUDIO PARZIANELLO
http://parzianello.blogspot.com/
Assessoria e treinamento em Lean, Scrum e Extreme Programming
Palestrante em eventos nacionais e internacionais
Mestre em Engenharia Biomédica (Sistemas) pela USP
Engenheiro Eletricista (Eletrônica) pela PUCRS
+ 25 anos de experiência profissional em informática (todas as posições)
+ 11 anos atuando em Engenharia de Software
+ 6 anos de experiência com Metodologias Ágeis
Vice-Coord. do Grupo de Usuários de Métodos Ágeis da Sociedade dos
Usuários de Informática e Telecomunicações do RS (SUCESU-RS)
Atuou para organizações como Instituto do Coração (INCOR/HCFMUSP),
SCS Consulting (Citibank, EUA), BANRISUL, SICREDI, ThyssenKrupp
Elevadores, Refinaria Alberto Pasqualini (REFAP/Petrobrás), FAURGS,
FIERGS, Ministério do Planejamento (Angola), Neogrid, FUNTEC
(Argentina), Universidade Nacional de La Plata (Argentina), etc.
Copyright © 2009 LUIZ C PARZIANELLO Slide 2 de 54
3. O Manifesto Ágil
http://agilemanifesto.org/
Estamos descobrindo melhores formas de desenvolver software
fazendo e ajudando outras pessoas a fazerem o mesmo. Ao longo
deste trabalho, passamos a valorizar:
1. Indivíduos e interações mais que processos e ferramentas
2. Software que funciona mais que documentação abrangente
3. A colaboração com o cliente mais que a negociação de contratos
4. Responder à mudança mais que seguir um plano
Ou seja, mesmo que haja valor nos itens da direita, valorizamos ainda
mais os da esquerda.
Assinado por 17 gurus da área de software
Utah (EUA), fevereiro de 2001
Copyright © 2009 LUIZ C PARZIANELLO Slide 3 de 54
4. Prá
O Manifesto na Prática
http://pm.versionone.com/AgilePoster.html
http://pm.versionone.com/AgilePoster.html
Copyright © 2009 LUIZ C PARZIANELLO Slide 4 de 54
5. E se o cliente fosse ágil?
Copyright © 2009 LUIZ C PARZIANELLO Slide 5 de 54
6. Algumas regras para atender um
Cliente Ágil
Baseadas nos 12 princípios do Manifesto Ágil
http://agilemanifesto.org/principles.html
Copyright © 2009 LUIZ C PARZIANELLO Slide 6 de 54
7. Atendendo um Cliente Ágil
Nº
Regra Nº 1
Como fornecedor, sua maior prioridade será
satisfazer minhas necessidades através da entrega
rápida e contínua de software que agregue valor para
meus interesses de negócio.
“Não tente me convencer do quanto
sua equipe é incrivelmente encantadora
... Ao invés disso, mostre-me como sua
equipe irá transformar meu negócio
em algo incrível e encantador aos olhos
dos meus clientes!”
Copyright © 2009 LUIZ C PARZIANELLO Slide 7 de 54
8. Pensamento Enxuto
Valor é visto através dos olhos
daqueles que pagam pelo uso
e que se beneficiam com os
sistemas que desenvolvemos.
Desperdício é qualquer coisa que
deprecie os recursos no tempo,
esforço, espaço ou dinheiro sem
acrescentar valor ao cliente.
Copyright © 2009 LUIZ C PARZIANELLO Slide 8 de 54
9. Transformaç
A Transformação
C1 C2 AS IS
E1 S1 Um projeto é um
F1 D1
A1
A2
A4 A5
transformaç
processo de transformação!
E2 A3 S2
F2 D2
M1 M2
C1 C2 TO BE
E1
S1
F1 D1
A2
Onde você pode A1 A4 A5
E2 A3 S2
reclamaç
encontrar reclamações ... F2 D2
Onde você espera M1 M2
encontrar elogios ...
Copyright © 2009 LUIZ C PARZIANELLO Slide 9 de 54
10. Retorno de Investimento
Custo ROI
Investimento
Total
Agile
Waterfall
Time
Time
R1 R2 R3 R4 R5
Iní
Início do
Iní Final do Final da Break-
Break-even
Início do Final do Final da Break-
Break-even
Projeto Projeto Transiç
Transição
Transiç
Projeto Projeto Transição
Copyright © 2009 LUIZ C PARZIANELLO Slide 10 de 54
11. Atendendo um Cliente Ágil
Nº
Regra Nº 2
Como fornecedor, você deve estar preparado para
atender às mudanças de meus requisitos, durante
toda a duração do projeto.
Imediato
Próximo
Distante
Longínquo
Futuro
Copyright © 2009 LUIZ C PARZIANELLO Slide 11 de 54
12. No Mundo da Incerteza
Copyright © 2009 LUIZ C PARZIANELLO Slide 12 de 54
13. Me Engana que Eu Gosto!
Preciso de uma Não tenho a mínima Duvido! Você vai colocá-
estimativa de custo Não se preocupe, não la num plano e vai se
idéia! Ainda não
do seu projeto! vou considerá-la um esquecer que tivemos
levantei os requisitos
compromisso ... esta conversa. Depois,
com os usuários!
irá me despedir quando
estourar o orçamento!
Se você já Para saber O que você
Me dê um número ou Ok! Ele vai custar sabia quanto se estava
vou despedi-lo agora! acha de
US$ 10 milhões! É muito ia custar, por abaixo do US$ 500 mil?
caro! que me pediu previsto!
um número?
Copyright © 2009 LUIZ C PARZIANELLO Slide 13 de 54
14. Atendendo um Cliente Ágil
Nº
Regra Nº 3
Como fornecedor, você deve estar preparado para
entregar uma versão do produto de software em
perfeito funcionamento a cada uma ou quatro
semanas, de preferência, todos os dias.
Scrum
Mike Cohn [http://www.mountaingoatsoftware.com/scrum]
Copyright © 2009 LUIZ C PARZIANELLO Slide 14 de 54
15. O Fluxo de Trabalho
Visão Baseada em Grandes Lotes (Waterfall)
Copyright © 2009 LUIZ C PARZIANELLO Slide 15 de 54
16. O Fluxo de Trabalho
Fluxo Unitário de Criação
Visão Baseada em Pequenos Lotes (Just in Time)
Copyright © 2009 LUIZ C PARZIANELLO Slide 16 de 54
17. O Fluxo de Trabalho
… ou lenta eetumultuada?
… ou lenta tumultuada?
t33
nt
rriin
Sp
Sp
2
2
nt
iint
Spr
pr
S
Você prefere uma viagem t1
t1
Você prefere uma viagem riin
rn
ápida confortável …
rrápidaeeconfortáável… ??
confortá
confort Sp
Sp
Copyright © 2009 LUIZ C PARZIANELLO Slide 17 de 54
18. Atendendo um Cliente Ágil
Nº
Regra Nº 4
Como fornecedor, sua equipe de desenvolvimento
deve aceitar e incentivar a colaboração diária de meus
representantes de negócio, durante todo o projeto.
será
Por que será que ainda
precisamos desta ponte?
Karl E. Wiegers
More About Software Requirements
Microsoft Press, 2006
Copyright © 2009 LUIZ C PARZIANELLO Slide 18 de 54
19. Os Técnicos e “seus” Usuários
Té seus” Usuá
Copyright © 2009 LUIZ C PARZIANELLO Slide 19 de 54
20. Atendendo um Cliente Ágil
Nº
Regra Nº 5
Como fornecedor, você deve garantir a alocação de
profissionais motivados e um ambiente de trabalho
adequado para a realização de um processo criativo.
• Ambiente
• Conhecimento
• Habilidade
• Atitude
Copyright © 2009 LUIZ C PARZIANELLO Slide 20 de 54
21. Atendendo um Cliente Ágil
Nº
Regra Nº 6
Como fornecedor, você deve garantir a comunicação
direta de meus profissionais com sua equipe de
desenvolvimento, de preferência, de forma presencial,
mas aceitamos o uso de ferramentas de colaboração.
IMPACTO DA COMUNICAÇÃO
COMUNICAÇ
Palavras 7% Verbal
Sons 38 %
Não-Verbal
Fisiologia 55 %
Mehrabian and Ferris (1967) ¨Inference of attitutes
from nonverbal communication in two channels¨
Copyright © 2009 LUIZ C PARZIANELLO Slide 21 de 54
22. Comunicaç
A Comunicação Humana
Copyright © 2009 LUIZ C PARZIANELLO Slide 22 de 54
23. Atendendo um Cliente Ágil
Nº
Regra Nº 7
Como fornecedor, sua principal medida de desempenho
e progresso será “software em funcionamento”.
Copyright © 2009 LUIZ C PARZIANELLO Slide 23 de 54
24. No Mundo da Incerteza
Por que vários programadores que possuem:
Resposta:
Resposta:
A mesma capacitação técnica Conhecimento
As mesmas especificações de produto Conhecimento
Experiência
Experiência
O mesmo plano de desenvolvimento Inspiração
Inspiraçção
A mesma configuração dos computadores Inspiraç
Inspira
Criatividade
Criatividade
As mesmas ferramentas de desenvolvimento etc.
O mesmo ambiente de trabalho etc.
E a mesma alimentação (pizza!)
Irão produzir um código fonte diferente de seus colegas de profissão?
Copyright © 2009 LUIZ C PARZIANELLO Slide 24 de 54
25. Qualidade Objetiva
• Cloc
• Checkstyle
• PMD
• Emma
• ...
http://xradar.sourceforge.net/
Copyright © 2009 LUIZ C PARZIANELLO Slide 25 de 54
26. Codificaç
Padrões de Codificação
http://blogs.sun.com/geertjan/entry/checkstyle
Copyright © 2009 LUIZ C PARZIANELLO Slide 26 de 54
27. Codificaç
Maturidade na Codificação
http://www.javapassion.com/handsonlabs/javadebugpmd/
Copyright © 2009 LUIZ C PARZIANELLO Slide 27 de 54
28. Cobertura de Testes
http://www.mountainminds.com/products/eclemma/
Copyright © 2009 LUIZ C PARZIANELLO Slide 28 de 54
29. Testes de Unidade
http://p.blog.csdn.net/images/p_blog_csdn_net/erylee/
http://p.blog.csdn.net/images/p_blog_csdn_net/erylee/
p.blog
Copyright © 2009 LUIZ C PARZIANELLO Slide 29 de 54
30. Testes Funcionais
http://www.theautomatedtester.co.uk/
Copyright © 2009 LUIZ C PARZIANELLO Slide 30 de 54
31. Integraç Contí
Integração Contínua
Pode ajudar a reduzir
as suposições feitas
sobre o produto de
software mediante sua
reconstrução sempre
que uma mudança
ocorrer no sistema de
controle de versões do
código fonte.
Copyright © 2009 LUIZ C PARZIANELLO Slide 31 de 54
32. Integraç Contí
Integração Contínua
Copyright © 2009 LUIZ C PARZIANELLO Slide 32 de 54
33. Integraç Contí
Integração Contínua
Copyright © 2009 LUIZ C PARZIANELLO Slide 33 de 54
34. Atendendo um Cliente Ágil
Nº
Regra Nº 8
Como fornecedor, você deve garantir um ritmo
sustentável de qualidade e produtividade no processo
de desenvolvimento de software.
• Duração de tarefas
• Jornadas diárias
• Compartilhamento
• Substituições
• Expectativas
• Cobranças
Copyright © 2009 LUIZ C PARZIANELLO Slide 34 de 54
35. Métricas Ágeis
Tí
Comportamento Típico da Velocidade (Capacidade) de uma Equipe Ágil
David Starr (http://elegantcode.com/2008/01/24/on-sprint-planning-and-velocity/)
Copyright © 2009 LUIZ C PARZIANELLO Slide 35 de 54
36. Métricas Ágeis
Iteration Burndown Chart
Iteration Burndown Chart
Product Burndown Chart
Project Burndown Chart
160
120
100
80
Iterations
Source: Danube (ScrumWorks)
Copyright © 2009 LUIZ C PARZIANELLO Slide 36 de 54
37. Métricas Ágeis
Source: Danube (ScrumWorks)
Copyright © 2009 LUIZ C PARZIANELLO Slide 37 de 54
38. Métricas Ágeis
Daily Burndown Chart
Daily Burndown Chart
Source: Mike Cohn User Stories Applied for Agile Software Development, 2004
Cohn,
Copyright © 2009 LUIZ C PARZIANELLO Slide 38 de 54
39. Atendendo um Cliente Ágil
Nº
Regra Nº 9
Como fornecedor, você deve dar atenção permanente
à excelência técnica e ao bom design de produto.
http://www.jacoozi.com/
Copyright © 2009 LUIZ C PARZIANELLO Slide 39 de 54
40. Refactoring
http://claudiosvirgens.files.wordpress.com/
Copyright © 2009 LUIZ C PARZIANELLO Slide 40 de 54
41. Pair Programming
At Crisp we take Pair Programming very seriously...
As professional consultants we always adapt to our
customer's corporate culture. When in Rome...
Secret CCC convent (Crisp Code
Camp) captured by paparazzi...
Historians found evidence that
pair programming has been
around for longer than we
previously thought...
Copyright © 2009 LUIZ C PARZIANELLO Slide 41 de 54
42. Atendendo um Cliente Ágil
Nº
Regra Nº 10
Como fornecedor, você tem a obrigação de simplificar
o que deve ser feito a fim de diminuir a quantidade de
software necessário para atender minhas necessidades.
Standish Group (Chaos Report 2002)
http://www.poppendieck.com/
Copyright © 2009 LUIZ C PARZIANELLO Slide 42 de 54
43. Comunicaç
Comunicação x Complexidade
“É assim que eu
quero meu produto!”
“Ok! Entendi perfeitamente que
você deseja um balanço para
brincar com as crianças!”
Copyright © 2009 LUIZ C PARZIANELLO Slide 43 de 54
44. Atendendo um Cliente Ágil
Nº
Regra Nº 11
Como fornecedor, você deve garantir a formação de
uma equipe auto-organizada, pois é dos profissionais
que compõem essas equipes que costumam surgir as
melhores soluções técnicas e de negócio.
http://www.bestbrains.dk/
Copyright © 2009 LUIZ C PARZIANELLO Slide 44 de 54
45. Atendendo um Cliente Ágil
Nº
Regra Nº 12
Como fornecedor, você deve fazer com que sua equipe
reflita periodicamente à respeito de seus resultados,
investigando como ela e/ou minha empresa podem se
tornar mais eficientes e eficazes no atendimento das
necessidades.
Aprendizagem organizacional
Aprendizagem organizacional
contínua através do Kaizen!
contínua através do Kaizen!
Copyright © 2009 LUIZ C PARZIANELLO Slide 45 de 54
46. relaç
Como ficaria nossa relação?
Copyright © 2009 LUIZ C PARZIANELLO Slide 46 de 54
47. Cé
Uma Célula Remota
Testador (QA)
Testador (QA) Desenvolvedores
Desenvolvedores
Analista de
Analista de
Usuários-Chave
Usuários-Chave Negócios
Negócios
Fornecedor
Scrum Master
Scrum Master
Cliente
Analista
Analista
de Sistemas
de Sistemas
Copyright © 2009 LUIZ C PARZIANELLO Slide 47 de 54
48. Cé
Uma Célula Remota
Cliente Ágil
Cliente Ágil Fornecedor
Fornecedor
• Demandas de projeto SCRUM
• Demandas de produto
Célula Remota
• Demandas de suporte
Áreas de Negócio
• Especificação de Escopo
Área de Sistemas • Protótipos Visuais
• Informações de Negócio
• Soluções
Tecnológicas
• Sistemas de Informação
• Melhorias de Software
• Informações de Suporte
• Questionamentos
• Componentes de Software
• Releases de Produto
Integração Contínua é feita no cliente, XP
com SLA’s para níveis de maturidade em
relação à qualidade do código.
Copyright © 2009 LUIZ C PARZIANELLO Slide 48 de 54
49. O manifesto do
artesão de software
Copyright © 2009 LUIZ C PARZIANELLO Slide 49 de 54
50. Um Novo Manifesto
“Como aspirantes a Artesãos de Software estamos elevando o nível do
desenvolvimento de software profissional praticando e ajudando os outros a
aprenderem a arte do ofício Através deste trabalho, passamos a valorizar:
ofício.
Não somente um software que funciona,
mas também um software bem acabado
acabado;
Não somente responder à mudança,
mas também agregar valor constantemente
constantemente;
Não somente indivíduos e interações,
mas também uma comunidade de profissionais
profissionais;
Não somente a colaboração com o cliente,
mas também a formação de parcerias produtivas
formaç produtivas.
Ou seja, na busca dos itens da esquerda, descobrimos que
os itens da direita são indispensáveis.”
http://manifesto.softwarecraftsmanship.org
Copyright © 2009 LUIZ C PARZIANELLO Slide 50 de 54
51. Um Novo Manifesto
Artesão:
Artesão Pessoa que geralmente trabalha por conta
própria e utiliza técnicas que são conhecidas e
geralmente codificadas, em domínios geralmente
ligados à matéria.
Artista Aquele que cria, não somente através da
Artista:
matéria mas também da expressão física e
intelectual. Se em alguns domínios as técnicas são
conhecidas e codificadas, a inovação com que este
contribui para esse domínio é geralmente o traço
do artista.
Copyright © 2009 LUIZ C PARZIANELLO Slide 51 de 54
52. Um Novo Manifesto
O que realmente devemos esperar de
um artesão do software?
Uma pessoa que pratique com
domínio e paixão a arte do
desenvolvimento de software;
ARTESÃO = ARTE + TESÃO
Copyright © 2009 LUIZ C PARZIANELLO Slide 52 de 54
54. Muito obrigado!
Luiz Claudio Parzianello
parzianello@suryatec.com.br
http://parzianello.blogspot.com
http://www.slideshare.net/parzianello
http://www.scribd.com/parzianello
Copyright © 2009 LUIZ C PARZIANELLO Slide 54 de 54