Desenvolvimento ágil de software

26
Desenvolvimento Ágil de Software Diógenes Walison de Araujo @diogeneswaraujo #AgiDC

description

Palestra ministrada durante o primeiro seminário AgiDC

Transcript of Desenvolvimento ágil de software

Page 1: Desenvolvimento ágil de software

Desenvolvimento Ágil de Software

Diógenes Walison de Araujo

@diogeneswaraujo

#AgiDC

Page 2: Desenvolvimento ágil de software

Desenvolvimento de software é um

knowledge work

Page 3: Desenvolvimento ágil de software

PlanejamentoNegociaçãoPriorização

AnáliseProgramação

TesteImplantação

SuporteManutenção

PesquisaEvoluçãoCriação

Page 4: Desenvolvimento ágil de software

Incerteza é inevitável em projetos de software

Desenvolvimento de software é processo inventivo e com

alto índice de mudança

Page 5: Desenvolvimento ágil de software

Modelo Cascata (Waterfall)

Limitações

Exige a definição em detalhes dosrequisitos nos estágios inicias doprocesso, dificultando a resposta amudança

Dificuldade de apresentar o estadoatual do projeto para cliente, versão dosistema somente nos estágios finais doprocesso

Ciclo bloqueante

Pontos Fortes

Documentação produzida em cada fase do ciclo

Page 6: Desenvolvimento ágil de software

Modelo evolucionário e iterativo

Pontos Fortes

AdaptativoEntregas rápidas para o clienteEngajamento dos usuários do sistema no processo de desenvolvimentoFeedback contínuo

Limitações

Não suporta contratos baseado em especificaçãoMudança contínua no software

Page 7: Desenvolvimento ágil de software

Metodologias tradicionais

EVO – Evolutionary Project Management

UP – Unified Process

RUP – Rational Unified Process

Page 8: Desenvolvimento ágil de software

Estrutura das metodologias

Ciclo de Vida

Atividades

Artefatos

Pápeis

Boas práticas

Page 9: Desenvolvimento ágil de software

Porque novas abordagens ?

Page 10: Desenvolvimento ágil de software

Burocrática e prescritiva

Abordagem preditiva

Documentação abrangente

Orientado a processo

Orientado a ferramenta

Page 11: Desenvolvimento ágil de software

Eliminar desperdício

Page 12: Desenvolvimento ágil de software

Utilizar maior parte do tempo para o

desenvolvimento e teste do software

Page 13: Desenvolvimento ágil de software

Responder rapidamentea mudança

Page 14: Desenvolvimento ágil de software

Novos Métodos

DSDM - Dynamic Solutions Delivery Model

XP – Extreme Programming

Adaptive Software Development

Scrum

Crystal

FDD - Feature Driven Development

Lean Development

Kanban

Page 15: Desenvolvimento ágil de software

Movimento Ágil de Desenvolvimento de Software

- Fevereiro 2001, Utah – USA

- Representantes de XP, Scrum, DSDM, ASD, Crystal, FDD, Pragmatic Programming

- Alternativas para processos dirigidos ao documentação extensiva e processos rigorosos

- Manifesto Ágil e Princípios Ágil

Page 16: Desenvolvimento ágil de software

Manifesto para Desenvolvimento Ágil de Software

Indivíduos e interações mais que processos e ferramentas

Software em funcionamento mais que documentação abrangente

Colaboração com o cliente mais que negociação de contratos

Responder a mudanças mais que seguir um plano

Page 17: Desenvolvimento ágil de software

12 Princípios do Manifesto Ágil#1 Satisfazer o cliente através da entrega

contínua e adiantada de software com valor agregado

#2 Mudanças nos requisitos são bem-vindas, mesmo tardiamente no desenvolvimento

#3 Entregar frequentemente software funcionando

#4 Pessoas de negócio e desenvolvedores devem trabalhar em conjunto por todo o

projeto

#5 Construa projetos em torno de indivíduos motivados

#6 O método mais eficiente e eficaz de transmitir informações é através de conversa

face a face

#7 Software funcionando é a medida primária de progresso

#8 Os patrocinadores, desenvolvedores e usuários devem ser capazes de manter um

ritmo constante

#9 Contínua atenção à excelência técnica e bom design

#10 Simplicidade é essencial

#11 As melhores arquiteturas, requisitos e designs emergem de equipes auto-organizáveis

#12 Em intervalos regulares, a equipe reflete sobre como se tornar mais eficaz e então

refina e ajusta seu comportamento de acordo

Page 18: Desenvolvimento ágil de software

Práticas Ágeis

By Samuel Crescêncio

Page 19: Desenvolvimento ágil de software

Métodos ágeis são

adaptivos ao

invés de preditivo

Page 20: Desenvolvimento ágil de software

Métodos ágeis são orientados a pessoas ao invés de orientado a

processo

Page 21: Desenvolvimento ágil de software

Agilidade é a habilidadede criar e responder a

mudança,afim de produzir ganhos

em um ambiente de negócio

Page 22: Desenvolvimento ágil de software

Para se tornar Ágilé preciso :

TransparênciaComunicação

GestãoAlinhamentoAprendizado

Page 23: Desenvolvimento ágil de software

Perguntas

Page 24: Desenvolvimento ágil de software

Ser ágil depende de

Page 25: Desenvolvimento ágil de software

Obrigado !