o desafio de implantar métodos ágeis em uma organização com processo tradicional maduro

23
O desafio de implantar mtodos geis em uma organizao 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 Pdua Paula Filho

Upload: eduardohabib

Post on 07-Jul-2015

422 views

Category:

Technology


1 download

DESCRIPTION

As metodologias ágeis propõem uma nova abordagem para o desenvolvimento de software onde os gastos excessivos com formalismo são eliminados, ao mesmo tempo em que priorizam o bom relacionamento com as pessoas que participam do projeto, a adaptação às mudanças e as atividades prioritárias para o usuário final. Esta palestra, relata uma experiência de desenvolvimento e evolução de um processo que combina práticas do Scrum e do XP em uma organização que utilizava o processo tradicional, mostrando as dificuldades e os benefícios obtidos na migração de um processo tradicional para o ágil.

TRANSCRIPT

Page 1: 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

Page 2: O desafio de implantar métodos ágeis em uma organização com processo tradicional maduro

Agenda

Contextualização

Motivadores para adoção de métodos ágeis

Descrição dos projetos

Resultados e lições aprendidas

Conclusões

Page 3: O desafio de implantar métodos ágeis em uma organização com processo tradicional maduro

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

Page 4: O desafio de implantar métodos ágeis em uma organização com processo tradicional maduro

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

Page 5: O desafio de implantar métodos ágeis em uma organização com processo tradicional maduro

Contextualização

Page 6: O desafio de implantar métodos ágeis em uma organização com processo tradicional maduro

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.

Page 7: O desafio de implantar métodos ágeis em uma organização com processo tradicional maduro

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)

Page 8: O desafio de implantar métodos ágeis em uma organização com processo tradicional maduro

O processo Synergia-Ágil

SCRUM + práticas XP

Processo inicialmente aplicado em 2 projetos

piloto

– Amadurecimento do processo

– Antecipação de problemas

Page 9: O desafio de implantar métodos ágeis em uma organização com processo tradicional maduro

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).

Page 10: O desafio de implantar métodos ágeis em uma organização com processo tradicional maduro

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

Page 11: O desafio de implantar métodos ágeis em uma organização com processo tradicional maduro

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

Page 12: O desafio de implantar métodos ágeis em uma organização com processo tradicional maduro

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

Page 13: O desafio de implantar métodos ágeis em uma organização com processo tradicional maduro

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

Page 14: O desafio de implantar métodos ágeis em uma organização com processo tradicional maduro

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

Page 15: O desafio de implantar métodos ágeis em uma organização com processo tradicional maduro

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

Page 16: O desafio de implantar métodos ágeis em uma organização com processo tradicional maduro

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

Page 17: O desafio de implantar métodos ágeis em uma organização com processo tradicional maduro

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

Page 18: O desafio de implantar métodos ágeis em uma organização com processo tradicional maduro

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

Page 19: O desafio de implantar métodos ágeis em uma organização com processo tradicional maduro

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 ...

Page 20: O desafio de implantar métodos ágeis em uma organização com processo tradicional maduro

Resultados P3

Maior aderência ao processo.

Práticas XP adotadas efetivamente

Criação de um Checklist de perguntas a serem

feitas ao PO

Page 21: O desafio de implantar métodos ágeis em uma organização com processo tradicional maduro

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

Page 22: O desafio de implantar métodos ágeis em uma organização com processo tradicional maduro

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.

Page 23: O desafio de implantar métodos ágeis em uma organização com processo tradicional maduro

Obrigado!

Eduardo Habib ([email protected])

twitter.com/eduardohabib