Post on 21-Jul-2015
Melhoria de processos em métodos ágeis: não é o que
você está pensando!
Rafaela Mantovani FontanaAgile Tour – Campinas – Outubro/2014
Professora da UFPR Setor de Educação Profissional e Tecnológica Tecnologia em Análise e Desenvolvimento de
Sistemas
Doutoranda na PUCPR Grupo de Pesquisa em Engenharia de Software Orientadora Profa. Dra. Sheila Reinehr Área de pesquisa: Métodos Ágeis
Interação indústria-academia
http://goo.gl/Sj1QyP
Quem sou
rafaela.m.fontana@gmail.com 2
Gerência de RequisitosGerência de Projetos
MediçãoGarantia da QualidadeGerência de Portfólio de ProjetosGerência de ConfiguraçãoAquisição
Gerência de Projetos - evoluçãoGerência de Reutil izaçãoGerência de Recursos HumanosDefinição de Processo OrganizacionalAvaliação e Melhoria do Processo Organizacional
VerificaçãoValidaçãoProjeto e Construção do ProdutoIntegração do ProdutoDesenvolvimento de Requisitos
Gerência de RiscosDesenvolvimento para ReutilizaçãoGerência de Decisões
Gerência de Projetos - evolução
GF
ED
CB
A
Melhoria de Processos na Engenharia de Software
rafaela.m.fontana@gmail.com 3
Gerência de RequisitosGerência de Projetos
MediçãoGarantia da QualidadeGerência de Portfólio de ProjetosGerência de ConfiguraçãoAquisição
Gerência de Projetos - evoluçãoGerência de Reutil izaçãoGerência de Recursos HumanosDefinição de Processo OrganizacionalAvaliação e Melhoria do Processo Organizacional
VerificaçãoValidaçãoProjeto e Construção do ProdutoIntegração do ProdutoDesenvolvimento de Requisitos
Gerência de RiscosDesenvolvimento para ReutilizaçãoGerência de Decisões
Gerência de Projetos - evolução
GF
ED
CB
A
Melhoria de Processos na Engenharia de Software
rafaela.m.fontana@gmail.com 4
Melhoria de Processo para Métodos Ágeis
rafaela.m.fontana@gmail.com 5
Up
Contexto
6
15 anos do Manifesto Ágil
Desenvolvimento ágil de software já se tornou main stream
em muitas regiões no mundo
No Brasil, o tempo de adoção de métodos ágeis nas
empresas é de 1 a 5 anos
Em menos de 50% dos seus projetos
As empresas estão amadurecendo suas
práticas
O entendimento da maturidade ajuda a
entender os caminhos possíveis e o que
esperar da evolução das práticas ágeis
rafaela.m.fontana@gmail.com
Maturidade Ágil: o que é?http://goo.gl/SE8fgT
rafaela.m.fontana@gmail.com 7
EQUIPE
Equipe EXPERIENTE que colabora nos projetos,
comunica-se e compromete-se; auto organiza-se em um
ritmo de trabalho sustentável; compartilha
conhecimento
PRÁTICAS
... padroniza e melhora
continuamente suas práticas
ágeis
ENTREGAS
... gera resultados para o cliente e para a gerência
REQUISITOS
... permite que os requisitos
mudem
PRODUTO
... gerencia código fonte e testes,
utilizando ferramentas, métodos e métricas; possui infraestrutura
para agilidade
CLIENTE
... cuida do cliente e da
qualidade do software
Maturidade Ágil: como?http://goo.gl/YEKz6h
rafaela.m.fontana@gmail.com 8
69%
28%
3%
Um modelo de maturidade
ágil seria útil?
Sim Não Branco
Sim, é útil:
Para ajudar no reconhecimento
das transformações ágeis
Para ajudar como um guia
Para definir agilidade
Para auxiliar no início da adoção
Não, não é útil:
A maturidade é muito
dependente do contexto
Não existe um modelo para
todas as organizações
Um modelo limitaria os valores
ágeis e a criatividade
Sistemas o quê?
rafaela.m.fontana@gmail.com 9
Sistemas Complexos Adaptativos
Legitimate Network Shadow Network
Equipes ágeis se auto-organizam!
Gerenciamento deve sentir e
dar forma à ordem emergenteCriatividade e inovação
somente à beira-do-caos
Ambidestria organizacional:
alinhamento e flexibilidade
simultaneamente
VÍDEO
Maturidade ágil: como?
rafaela.m.fontana@gmail.com 10
Pessoas...
... trabalhando de forma alinhada e adaptável
simultaneamente por meio de experimentação
para...
... busca de resultados progressivos de melhoria (que
podem ser alcançados de várias formas) em:
EQUIPE ENTREGASPRÁTICAS REQUISITOS PRODUTO CLIENTE
Resultados Progressivos para evolução das PRÁTICAS
rafaela.m.fontana@gmail.com 11
PRÁTICAS Aprendizado
Ágil
• Seguir um método
ágil by the book
• Treinamentos:
cuidado com os
disfuncionais
• Coaching
Sensemaking
dos
processos de
trabalho
• Organizar os processos de
desenvolvimento
• Customização dos métodos
ágeis de acordo com o
contexto e experiência
prévia
• Utilizar as reuniões de
retrospectiva para discutir e
melhorar o processo
Decisões “pés-
no-chão”
• Usar WBS, reportes de
status de trabalho,
métricas simples
• Cuidado com filas e work
in progress
Resultados Progressivos para evolução da EQUIPE
rafaela.m.fontana@gmail.com 12
EQUIPEEquipe
responsiva
Pouco
comprometimento
com as práticas ágeis
Pouca iniciativa
Necessidade de
comando e controle
Equipe
confiante
• Pessoas se
conhecem, existe
amizade e confiança
• Pessoas são proativas
em suas tarefas
• Veem o valor das
práticas ágeis
• Auto-organização
Equipe assertiva
• Define políticas de
proteção à equipe
• Mantém ritmo de trabalho
sustentável
• Pessoas opinam e mudam
o processo de trabalho
• Equipes mistas, pequenas
e co-localizadas
Resultados Progressivos para evolução das ENTREGAS
rafaela.m.fontana@gmail.com 13
ENTREGASFinalização de
código
frequente
• Planejar Sprints para
terminar código
• Não entregar no fim
da Sprint
• Tamanho das Sprints
é variável
Entregáveis
frequentes
esperados
• Incluir o teste na Sprint
• Integração por
funcionalidade
• Identificar o minimum
releasable product
• Cuidado com trabalho
extra na Sprint
Entregas
frequentes
esperadas
• Integração diária
• Tentar entregar no fim
da Sprint
• Arquitetura flexível
• Prototipar requisitos e
arquitetura
Entregas
frequentes
definidas
• Entregar no fim da
Sprint, sem atrasos
• “Experiment systems”:
feedback do uso do
sistema em tempo real
Resultados Progressivos para evolução dos REQUISITOS
rafaela.m.fontana@gmail.com 14
REQUISITOSColeta de
requisitos
• Documentação
detalhada de
requisitos
• “Sprint de análise”
• Cuidado com
funcionalidades extras!
Descoberta de
requisitos
• Definição iterativa de requisitos
• Definição de estórias de
usuários
• Iniciar a codificação sem os
requisitos completos
• Cuidado com funcionalidades
que “aparecem” no meio das
Sprints
Qualidade de
requisitos
• Melhora da definição
dos requisitos, seja
qual for
• Buscar equilíbrio entre
requisitos do cliente
(funcionalidades) e
requisitos da equipe
(qualidade)
Resultados Progressivos para evolução do PRODUTO
rafaela.m.fontana@gmail.com 15
PRODUTO Código fonte de
alto-nível
Capricho no
código
Minimizar débito
técnico
Programação aos
pares
Padrões
Consciência das
falhas
Ok, eu entrego bugs,
então vamos planejar a
correção nas Sprints
Fazer testes, seja como for
Software
entregue
de alto-nível
Definir arquitetura (é uma
entrega de valor para os
desenvolvedores)
Fazer testes de unidade,
de integração, de
regressão
Automatizar integração
Codificação
eficiente
Test-driven development
Automação, automação,
automação: ferramentas
simples e para o que
adiciona valor
Resultados Progressivos para evolução do relacionamento com o CLIENTE
rafaela.m.fontana@gmail.com 16
CLIENTE Equipe conhece
o cliente
• Entender o negócio do
cliente
• Entender a demanda
Cliente conhece
a equipe
Cliente conhecer o
processo de trabalho
da equipe
Cliente acompanhar o
desenvolvimento
Cliente
confiante
Cliente saber que a
equipe vai entregar
Cliente respeitar os limites
da equipe
Cliente
dependente
A equipe ajudar na
definição de valor
para o cliente
Hipóteses, não
requisitos
Amadurecimento Ágil
rafaela.m.fontana@gmail.com 17
PRÁTICAS
ENTREGAS
EQUIPE
REQUISITOS
PRODUTO
CLIENTE
Aprendizado ágil Sensemaking dos
processos de trablaho
Decisões “pés no chão”
Equipe responsiva Equipe confiante Equipe assertiva
Finalização de código
frequente
Entregáveis frequentes
esperados
Entregas frequentes
esperadas
Entregas frequentes
definidas
Coleta de requisitos Descoberta de requisitos Qualidade de requisitos
Código fonte de alto-nível Consciência das falhas Software entregue de alto-nível Codificação eficiente
Equipe conhece o cliente Cliente conhece a equipe Cliente confiante Cliente dependente
PR
OG
RES
SIV
E O
UT
CO
MES
FR
AM
EW
OR
K
Take-home messages
Maturidade vem com experiência
Múltiplas threads de melhoria: práticas, equipe, entregas, requisitos, produto, cliente
Defina os resultados que espera alcançar e experimente até conseguir Falhar é parte do processo de melhoria Alinhamento e flexibilidade simultaneamente
Melhoria de processos contínua: de preferência em cada reunião de retrospectiva
Pessoas são a chave para a transformação e amadurecimento ágil
rafaela.m.fontana@gmail.com 18
Perguntas? Comentários? Sugestões?
Feedback
Obrigada!
rafaela.m.fontana@gmail.com 19