agilidade e qualidade: lados da mesma moeda
DESCRIPTION
Palestra do Heptaman no 1º Seminário Catarinense de Qualidade e Teste de Software, dia 19/09/2008, em Porto Alegre-RSTRANSCRIPT
Agilidade e Qualidade:Agilidade e Qualidade:Lados da Mesma MoedaLados da Mesma Moeda
Eng. Adail Muniz RetamalEng. Adail Muniz [email protected]@heptagon.com.br
19/09/2008
Engenharia de ProduçãoEngenharia de Produção
Processo de Produção
Idéias eNecessidades
Produto
Entendero que fazer
Pensarcomo fazer
Fazer
Verificar o que foi feito
Processo de Produção de Software
Requisitos
Produto
AnáliseDesenho(Design)
Construção
TestesUnitários
Testes deIntegração/Sistema
Testes deAceitação
Erro Erro Erro
2
Qualidade é Questão de Ângulo!Qualidade é Questão de Ângulo!
Expectativa
Resultado
Idéias eNecessidades
Produto
Especificação
3
Qualidade é Questão de Ângulo!Qualidade é Questão de Ângulo!
Idéias eNecessidades
Produto
ExpectativaQes
Qer
Qsr
Aviso: Esses vetores estão no espaço (3D)!
4
Efeito do Ângulo no TempoEfeito do Ângulo no Tempo
Idéias eNecessidades
Produto
Expectativa
Tempo
5
Este Mesmo Ciclo de Produção...Este Mesmo Ciclo de Produção...
Processo de Produção de Software
Requisitos
Produto
AnáliseDesenho(Design)
Construção
TestesUnitários
Testes deIntegração/Sistema
Testes deAceitação
Erro Erro Erro
Processo de Produção
Entendero que fazer
Pensarcomo fazer
Fazer
Verificar o que foi feito
Idéias eNecessidades
Produto
6
Pode Ser Executado Assim...Pode Ser Executado Assim...
Requisitos
Análise
Desenho
Construção
Teste
Análise
Desenho
Construção
Teste
Entrega
Incremental
Análise
DesenhoConstrução
Teste
Versão 1
Versão 2
Requisitos
Evolucionário
Requisitos
Análise
Desenho
Construção
Teste
Entrega
Em cascata
(waterfall)
7
O Que Mudar? A Realidade AtualO Que Mudar? A Realidade Atual
Gostamos de arquitetar
p/ o presente e p/ o futuro
(real ou imaginário)
Adotamos o ciclo
de vida em série
(cascata)
Queremos um forte
controle sobre o
escopo, prazo e custo
Devemos evitar
mudanças nos
planos
Detalhamos bem o
cronograma do projeto,
até ao nível das tarefas
Forçamos os clientes
a pedirem tudo o que
querem no início do
projeto
Os clientes pedem
tudo o que imaginam
que vão precisar
Exigimos estimativas
precisas para a
duração das tarefas
Estimativas são
tomadas como
compromissos
Os requisitos
devem ser
“congelados”
InflexibilidadeIncapacidade de
acompanhar as mudanças
Há pressão para se
cumprir as tarefas
no prazo prometido
O negócio e o
aprendizado
são dinâmicos
Lei de Parkinson,
Síndrome do
Estudante, Multitarefa
Há funciona-
lidades que não
agregam valor
O produto fica
inchado, complexo
e inflexível
Noção errônea de
valor gera conflitos
de prioridades
Os projetos atrasam Falta de Visibilidade
Não saber como está
o projeto/produto
Má QualidadeO produto não atende às
expectativas do clienteFalta de ConfiabilidadeNão poder contar com as
promessas da equipe
Para tentar cumprir
prazo e/ou custo,
corta-se escopo,
testes, documentação
8
Queremos um forte controle sobre o
escopo, prazo e custo
Gostamos de arquitetar
p/ o presente e p/ o futuro
(real ou imaginário)
Adotamos o ciclo
de vida em série
(cascata)Devemos evitar
mudanças nos
planos
Detalhamos bem o
cronograma do projeto,
até ao nível das tarefas
Forçamos os clientes
a pedirem tudo o que
querem no início do
projeto
Os clientes pedem
tudo o que imaginam
que vão precisar
Exigimos estimativas
precisas para a
duração das tarefas
Estimativas são
tomadas como
compromissos
Os requisitos
devem ser
“congelados”
InflexibilidadeIncapacidade de
acompanhar as mudanças
Há pressão para se
cumprir as tarefas
no prazo prometido
O negócio e o
aprendizado
são dinâmicos
Lei de Parkinson,
Síndrome do
Estudante, Multitarefa
Há funciona-
lidades que não
agregam valor
O produto fica
inchado, complexo
e inflexível
Noção errônea de
valor gera conflitos
de prioridades
Os projetos atrasam Falta de Visibilidade
Não saber como está
o projeto/produto
Má QualidadeO produto não atende às
expectativas do clienteFalta de ConfiabilidadeNão poder contar com as
promessas da equipe
Para tentar cumprir
prazo e/ou custo,
corta-se escopo,
testes, documentação
O projeto demora e custa
mais que o prometido, e
entrega menos e pior do
que se esperava
9
Quais Regras Devemos Usar?Quais Regras Devemos Usar?
• Orientação por visão e valor para o cliente– Requisitos mudam, à medida que se aprende– Resposta à mudança é essencial para o sucesso
• Desenvolvimento dirigido por funcionalidades– Função completa com valor para o cliente– Desenvolvidas e testadas rapidamente, e adaptadas
• Ciclo de vida iterativo e incremental– Plano de liberação, com ciclos de 2 a 4 semanas– Cada iteração gera funcionalidades completas e testadas,
potencialmente entregáveis
• Ambiente colaborativo– Equipe trabalha muito próxima– Documentação apenas o suficiente para suportar a iteração– Feedback freqüente, adaptação e aprendizado
10
Gestão Ágil de ProjetosGestão Ágil de Projetos
AntevisãoAntevisão
EspecularEspecular
Lista deFuncionalidades
ExplorarExplorar
AdaptarAdaptar
FecharFechar
Plano deLiberação
FuncionalidadesCompletadas
ProdutoFinal
Ação
Adaptativa
“Agile Project Management”
Jim Highsmith, 2004
11
ScrumScrum
8. Incremento de Produto(pode ser liberado para uso)
6. Dia
5. Iteração(2 a 4 sem.)4. Tarefas
detalhadaspela equipe
1. Visão
(RSI, marcos, versões)
2. Lista de Espera (Backlog) de funcionalidadesdo produto, priorizada pelo Dono do Produto
3. Escopo da Corrida(Sprint)
7. Reuniões Diárias (em pé)
9. Validação e Adaptação
12
FDD: Feature Driven DevelopmentFDD: Feature Driven Development
Concepção e Planejamento
Construção
Desenvolver
um Modelo
Abrangente
Planejar
por
Feature
Detalhar
por
Feature
Construir
por
Feature
Mais conteúdo na forma
Mais forma que conteúdo
Modelo de Objetos
Pacotes de Trabalho
Requisitos
Produto
Plano deDesenvolvimento
Progresso
Construir
a Lista de
Features
13
Quadro de TarefasQuadro de Tarefas
NNEE
PendentesBacklog
Fulano
Beltrana
Sicrano
Zé
J.J.
Iniciadas Inspeção/Teste Finalizadas
NN NN II
NN
NN NNEE NN II
NN NNNN NN
NN NN NN
NN NN II
EE
NN
NN
NN
NN NN
NN NN II
14
15
Perdas
Métricas, Estoques e PerdasMétricas, Estoques e Perdas
Idéias e Necessidades
Produto
AnáliseDesenho(Design)
Construção
TestesUnitários
Testes deIntegração/Sistema
Testes deAceitação
Erro Erro Erro
Matéria-Prima
RequisitosAlterações
Trabalho em Progresso
EspecificaçõesAlterações
ArquiteturaCenáriosAlterações
Trabalho em Progresso
Planos de TestesCenários Localizados
Códigoa testar
Planos de TestesCenários Gerais
Produto Acabado
Código prontop/ liberação
16
Práticas Ágeis de QualidadePráticas Ágeis de Qualidade
• Ciclos Curtos (Time Box) ou Fluxo Contínuo• Test Driven Requirements/Development• Domain Driven Design• Feature Driven Development• Testes Unitários• Integração e Testes Contínuos• Refactoring• Colaboração Entre Desenvolvedores
– Programação em Pares– Revisão por Pares e Inspeções
• Cliente/Dono do Produto mais Próximo• Retrospectivas
17
Principais Benefícios da Gestão ÁgilPrincipais Benefícios da Gestão Ágil
• Inovação Contínua– Entregar de acordo com os requisitos atuais do cliente
• Adaptabilidade do Produto– Entregar de acordo com os requisitos futuros do cliente
• Cronogramas Reduzidos de Entrega– Satisfazer janelas de mercado
– Melhorar o Retorno Sobre o Investimento (RSI)
• Adaptabilidade das Pessoas e Processos– Responder rapidamente às mudanças no produto e no
negócio
• Resultados Confiáveis– Suportar o crescimento e a lucratividade do negócio
18
Receitas de AgilidadeReceitas de Agilidade
• Focar na Qualidade
• Reduzir (ou limitar) o Trabalho em Progresso
• Equilibrar a Demanda com relação ao Ganho (Vazão)
• Priorizar
• Crédito Extra: Reduzir a variação no processo e no seu fluxo
• Entregar um fluxo estávelde software com valor e com sucesso, por
• Fortalecer equipescolaborativas, confiantese motivadas;
• Responder ao feedback e adaptar à mudança, e
• Construir com qualidadedesde o início
19
David AndersonAgileManagement.Net
Karl ScotlandAvailagility
OID: Inovação e Implantação Organizacional
CAR: Análise e Prevenção de Defeitos
5: EmOtimização
4: Gerenciado
Quantitativam.
3: Definido
2: Gerenciado
Melhoria
Contínua doProcesso
Gerência
Quantitativa
Padronização
do Processo
Gerência
Básica de
Projetos
QPM: Gerenciamento Quantitativo de Projeto
OPP: Performance do Processo Organizacional
RD: Desenvolvimento de RequisitosTS: Solução TécnicaPI: Integração de ProdutosVER: VerificaçãoVAL: ValidaçãoOPF: Foco no Processo OrganizacionalOPD: Definição do Processo OrganizacionalOT: Treinamento OrganizacionalIPM: Gerência Integrada de ProjetoRSKM: Gerência de RiscosDAR: Análise e Tomada de Decisão
REQM: Gerência de RequisitosPP: Planejamento de ProjetoPMC: Monitoramento e Controle de ProjetoSAM: Gerência de Acordos com FornecedoresMA: Medição e AnálisePPQA: Garantia da Qualidade do Processo e do ProdutoCM: Gerência de Configuração
1 :Inicial
Áreas de ProcessosNível Foco Produtividade
Qualidade
Risco
Retrabalho
Agile CMMIAgile CMMIScrum + FDD
20
Agilidade É Alinhamento!Agilidade É Alinhamento!
Idéias eNecessidades
Produto
ExpectativaQes
Qer
Qsr
21
Agilidade É Alinhamento!Agilidade É Alinhamento!
Expectativa
Resultado
Idéias eNecessidades
Produto
Especificação
22
Aviso aos Navegantes!Aviso aos Navegantes!
Vale do Desespero
Pro
du
tivi
dad
e
Tempo
Ganho
Antigo
Status quoCaos
Prática &
Integração
Novo
Status quo
Catalisadorp/ mudança
Idéiatransformadora
Modelo de Mudança deVirgínia Satir
23
Obrigado!Obrigado!
Adail Muniz RetamalAdail Muniz [email protected]@heptagon.com.br
24
Nikolai AlbuquerqueNikolai [email protected]@innovit.com.br