Gerenciamento ágil e o aprendizado a partir de indicadores ágeis project lab
O desafio de implantar métodos ágeis em uma organização com processo tradicional maduro
-
Upload
eduardohabib -
Category
Technology
-
view
424 -
download
1
description
Transcript of O desafio de implantar métodos ágeis em uma organização com processo tradicional maduro
O desafio de implantar
metodos ageis em uma
organizacao com processo
tradicional maduro
Synergia – Departamento de ciência da Computação da Universidade Federal de Minas Gerais
Eduardo Borges
Raquel Lara
Eduardo Habib B. Maia
Clarindo Pádua
Wilson de Padua Paula Filho
Agenda
Contextualização
Motivadores para adoção de métodos ágeis
Descrição dos projetos
Resultados e lições aprendidas
Conclusões
Contextualização
UFMG
Escolas Institutos
ICB ICEx
Departamento Estatística
Departamento Química
Departamento Computação
SYNERGIA
Departamento Física
Departamento Matemática
IGC
Outros
FUNDEP
Contextualização
Synergia: Laboratório de Engenharia de
Software da UFMG/Brasil
– Equipe de cerca de 50 pessoas
– Desenvolvimento de software
• Instituições públicas
• Fundações
• Empresas privadas
Processo formal baseado no Praxis
Contextualização
Contextualização
Forte investimento em qualidade
– Formalismo nas especificações
– Revisões, inspeções e testes
Cultura de forte valorização de processos
– Especificações formais de requisitos
– Modelagem e documentação detalhadas
– Alto investimento em revisões, inspeções e testes
Resultados excelentes no controle e qualidade do
produto.
Motivações para adoção de métodos ágeis
Ciclo de desenvolvimento longo
– 9 meses para desenvolver uma funcionalidade
– Mais de um ano para um produto ser entregue
Dificuldade para lidar com alterações em requisitos
Forte divisão de papéis
– Análise, desenho, implementação e testes
Alto custo dos projetos
– 6 inspeções formais por requisito (50% do custo)
O processo Synergia-Ágil
SCRUM + práticas XP
Processo inicialmente aplicado em 2 projetos
piloto
– Amadurecimento do processo
– Antecipação de problemas
Descrição dos projetos piloto (1/2)
Projetos:
– P1:
• Software front-end para algoritmos de otimização.
– P2:
• Plataforma colaborativa de criação de conteúdo.
Características comuns:
– Desenvolvimento interno.
– Produtos de pequeno porte.
– Incertezas (adoção de novas tecnologias).
P2
P1
Descrição dos projetos piloto (2/2)
Preparação s1 s2 s3 s4
s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13
4 sprints de 4 semanas
4 sprints de 4 semanas 9 sprints de 2 semanas
Equipe de 10 integrantes
(estudantes de graduação)
Scrum
Master Product
Owner
Mentor
Técnico
2 meses
Equipe de 6 integrantes
(experientes no processo anterior)
Scrum
Master Product
Owner
Mentor
Técnico
Consultor de
Usabilidade
Resultados – P1
Scrum Master era um papel desempenhado
pelo Mentor.
– Alterado a partir da segunda Sprint
Produtividade muito baixa na primeira Sprint
– Inexperiência da equipe
– Autogerenciamento não funcionou muito bem
Testador externo ao time forneceu uma visão
imparcial sobre o produto
Resultados – P1
2 Residentes tiveram a iniciativa de se desligarem do
programa
Avaliação de práticas XP
– Programação em pares, Prototipação, Integração
contínua
– TDD na prática não foi aplicada até a 3º Sprint.
Avaliação e feedback ao fim do desenvolvimento
Resultados – P2
Dificuldade de trocar a especificação formal
pela colaboração com o PO
– Introdução da pré-validação com o PO no
conceito de pronto
Dificuldade de desenvolver a arquitetura ao
longo do projeto (e não a priori)
– Tecnologia nova e desconhecida pela equipe
– Muito retrabalho
Resultados – P2
Dificuldade de desenvolver em pequenos
incrementos
– Dificuldade em dimensionar o esforço que
caberia nas Sprints
Burdown da primeira e da última Sprint
Resultados – P2
Medidas tomadas para melhorar o planejamento
das Sprints
– Introdução do uso de Story Points
– Redução do tamanho das Sprints
– Maior rigor no aceite das histórias de usuário
Dificuldade gerada devido à instabilidade do
escopo e incertezas de prazo
– Definição do Produto Mínimo Viável demorou
várias Sprints
Resultados – P1 e P2
Scrum – maior aderência. Benefícios
observados:
– Visibilidade de progresso
– Entusiasmo e comprometimento da equipe e
dos interessados no projeto
– Foco nas funcionalidades de maior valor
XP – algumas práticas não foram adotadas nos
2 projetos, sendo as mais relevantes:
– TDD
– P2: Programação em pares
Resultados – lições aprendidas
Ambos: problemas de qualidade interna de código
– P1: equipe inexperiente
– P2: dificuldade em lidar com o desenho incremental
P1: Metodologia contribuiu para integração e comprometimento da equipe
– Integrantes com baixo desempenho ou comprometimento saíram voluntariamente
P2: Dificuldade para mudar o paradigma
– Trocar especificação formal por comunicação direta
– Desenvolver em pequenos incrementos • Redução das sprints foi benéfica
Descrição dos Projetos migrados (1/2)
Projetos:
– P3:
• Software front-end para algoritmos de otimização
e mais genérico do que P1
• Equipe inexperiente
– P4: Software front-end de grande porte em
manutenção evolutiva
• Equipe mais experiente
• Arquitetura estável
• Produto muito grande
P4
P3
Descrição dos Projetos migrados(2/2)
Preparação
10 sprints de 2 semanas
10 sprints de 2 semanas
Equipe de 8 integrantes
(estudantes de graduação)
Scrum
Master Product
Owner
Mentor
Técnico
1 mês
Equipe de 10 integrantes
(experientes no processo anterior)
Scrum
Master Product
Owner
Consultor de
Usabilidade
s5 s6 s7 s8 s9 s10 s1 s2 s3 s4
s5 s6 s7 s8 s9 s10 s1 s2 s3 s4 ...
Resultados P3
Maior aderência ao processo.
Práticas XP adotadas efetivamente
Criação de um Checklist de perguntas a serem
feitas ao PO
Resultados P4
Dificuldades
– Especialização.
– Saída de pessoas chave do projeto
– Entendimento sobre o autogerenciamento
Equipe motivada.
Programação em pares adotada em casos
específicos
Melhor difusão do conhecimento
Problemas encontrados com mais antecedência
Conclusões
Não foi simples adotar métodos ágeis
– Cultura de processos dificultou bastante
Apesar das dificuldades, em todos os projetos
foram percebidos benefícios da adoção
Resultados levaram o laboratório a decidir pela
transição para métodos ágeis em novos
projetos
– Adoção atingiu 100% dos projetos em
set/2013.