Apresentacao UNA

Post on 19-Jun-2015

1.197 views 0 download

description

Apresentação para o ciclo de palestras sobre metodos ageis da UNA

Transcript of Apresentacao UNA

Metodologias ÁgeisMetodologias ÁgeisXP / SCRUMXP / SCRUM

André Luiz Peron Martins LannaAndré Luiz Peron Martins Lanna

Previsão: 35 minutos.Previsão: 35 minutos.

Breve histórico da Engenharia Breve histórico da Engenharia de softwarede software

• Anos 60 e 70: crise do softwareAnos 60 e 70: crise do software• 1968: Conferência NATO1968: Conferência NATO• Engenharia de Software:Engenharia de Software:

– Abordagem sistemática e disciplinadaAbordagem sistemática e disciplinada– Desenvolvimento, operação e Desenvolvimento, operação e

manutenção de software.manutenção de software.– Processos, métodos, ferramentas.Processos, métodos, ferramentas.– Estudo das abordagens descritas acima. Estudo das abordagens descritas acima.

40 anos mais tarde...40 anos mais tarde...• Problemas persistem:

– Projetos cancelados– Estouro de prazos e

orçamentos– Qualidade questionável

Resultados 2000

Sucesso 28%

Falha 23%

Finalizado 49%

Fonte: Relatório CHAOS 2000, Standish Group

Qualidade de softwareQualidade de software

• Foco no produto Foco no produto vs.vs. foco no foco no processo.processo.

• Considerada sob diferentes Considerada sob diferentes pontos de vista:pontos de vista:– Precisão de esforço.Precisão de esforço.– Conformidade às especificações. Conformidade às especificações. – Adequação ao uso. Adequação ao uso. – Expectativa dos clientes. Expectativa dos clientes.

Qualidade de software Qualidade de software (cont.)(cont.)

• Benefícios:Benefícios:– Aumento: Aumento:

• Confiabilidade,Confiabilidade,• Nível de reuso,Nível de reuso,• Valor agregado,Valor agregado,• Satisfação do cliente, etc...Satisfação do cliente, etc...

– Redução:Redução:• Número de defeiros, Número de defeiros, • Retrabalho, Retrabalho, • Tempo de entrega, Tempo de entrega, • Custos, etc... Custos, etc...

Métodos “pesados”Métodos “pesados”

• Foco na especificação prévia do produto Foco na especificação prévia do produto em desenvolvimento. em desenvolvimento.

• Orientado à documentação.Orientado à documentação.

• Geralmente averso à aceitação de Geralmente averso à aceitação de mudanças.mudanças.

Métodos ágeisMétodos ágeis

• Novas propostas para lidar com a atual complexidade Novas propostas para lidar com a atual complexidade e mutabilidade de software.e mutabilidade de software.

• Manifesto ágil (valores):Manifesto ágil (valores):– Indivíduos e iteraçõesIndivíduos e iterações sobre processos e ferramentas. sobre processos e ferramentas. – Software funcionandoSoftware funcionando sobre documentação compreensiva.sobre documentação compreensiva. – Colaboração do clienteColaboração do cliente sobre negociação de contrato. sobre negociação de contrato. – Resposta à mudançaResposta à mudança sobre seguir um plano.sobre seguir um plano.

Métodos ágeis (cont.)Métodos ágeis (cont.)

• Aliança ágil espera de um processo de software: Aliança ágil espera de um processo de software: – Satisfazer o cliente através de entrega contínua e Satisfazer o cliente através de entrega contínua e

rápida de software de valorrápida de software de valor– Aceitar mudanças em requisitos ainda que em Aceitar mudanças em requisitos ainda que em

momentos tardios do desenvolvimentomomentos tardios do desenvolvimento– Cliente e desenvolvedores devem trabalhar juntos Cliente e desenvolvedores devem trabalhar juntos

diariamentediariamente– Utilizar a comunicação face-a-face como o método Utilizar a comunicação face-a-face como o método

mais eficiente e efetivo de fluxo de informaçõesmais eficiente e efetivo de fluxo de informações– Utilizar como medida principal de progresso do Utilizar como medida principal de progresso do

projeto o software funcionandoprojeto o software funcionando– Assumir simplicidade para todos os aspectos do Assumir simplicidade para todos os aspectos do

projetoprojeto

(e(eXXtreme treme PProgramming)rogramming)

XP - IntroduçãoXP - Introdução

• Foco na satisfação do cliente.Foco na satisfação do cliente.

• Trabalho em equipe e colaborativo. Trabalho em equipe e colaborativo. – Envolvimento do cliente. Envolvimento do cliente.

• Equipes auto-gerenciáveis. Equipes auto-gerenciáveis.

• Ambientes adequados ao desenvolvimento.Ambientes adequados ao desenvolvimento.

• Alta produtividade.Alta produtividade.

XP - EstruturaXP - Estrutura

• ValoresValores– Objetivos de longo prazo.Objetivos de longo prazo.– Critérios para obter sucesso no projeto. Critérios para obter sucesso no projeto.

• PrincípiosPrincípios– Sustentam os valores e os tornam concretos.Sustentam os valores e os tornam concretos.– Guias para decisões durante o desenvolvimento do Guias para decisões durante o desenvolvimento do

projeto.projeto.

• PráticasPráticas– Estruturam as atividades de desenvolvimento, de Estruturam as atividades de desenvolvimento, de

olho nos princípios e nos valores.olho nos princípios e nos valores.

XP - PapéisXP - Papéis

• ProgramadorProgramador

• ClienteCliente

• TestadorTestador

• Tracker Tracker (acompanhador)(acompanhador)

• Coach (Técnico)Coach (Técnico)

Vs.

XP - ConclusõesXP - Conclusões

• 4 valores principais: 4 valores principais: – ComunicaçãoComunicação– SimplicidadeSimplicidade– FeedbackFeedback– CoragemCoragem

• Projeto desenvolvido por meio de releases Projeto desenvolvido por meio de releases (meses) e iterações (semanas)(meses) e iterações (semanas)

• Acompanhamento do progresso através de Acompanhamento do progresso através de métricas e compartilhado com a equipe.métricas e compartilhado com a equipe.

Estrutura do Scrum

Planejamento em ScrumPlanejamento em Scrum• Planejar = dialogar!• Backlog priorizado e

estimado• Todos podem contribuir

Planejamento em Scrum Planejamento em Scrum (cont.)(cont.)

Planejamento em Scrum (cont.)Planejamento em Scrum (cont.)

Monitorar o SprintMonitorar o Sprint

• Gráficos compartilhados com Gráficos compartilhados com toda a equipe:toda a equipe:– Sprint Burn-downSprint Burn-down– Product Burn-downProduct Burn-down– Gráfico de velocidadeGráfico de velocidade– (...)(...)

Scrum - ConclusõesScrum - Conclusões

• Equipes homogêneas.Equipes homogêneas.

• Importância do product backlog.Importância do product backlog.

• Estimativas / métricas.Estimativas / métricas.

• Decomposição do trabalho.Decomposição do trabalho.

• Priorização de conflitos.Priorização de conflitos.

ConclusõesConclusões

• Implantar métodos ágeis é acima de Implantar métodos ágeis é acima de tudo mudar o comportamento da tudo mudar o comportamento da equipe.equipe.

• Ter coragem em assumir Ter coragem em assumir responsabilidades e mudanças. responsabilidades e mudanças.

• Trabalhar de modo cooperativo (sem Trabalhar de modo cooperativo (sem hierarquias aparentes). hierarquias aparentes).

• Equipes capazes de auto-Equipes capazes de auto-organizarem.organizarem.

• Realizar os trabalhos de olho na Realizar os trabalhos de olho na satisfação do clientesatisfação do cliente

Muito obrigado!Muito obrigado!

??andre.lanna@gmail.comandre.lanna@gmail.com

twitter.com/andreperontwitter.com/andreperon