38
The D eveloper'sConference – 25 e 26 julho – Inscreva-se j ! á Os Ágeis e os Os Ágeis e os Perplexos Perplexos # Tendências em Metodologias # # Tendências em Metodologias # Jorge Diz - Globalcode Manoel Pimentel Medeiros - Visão Ágil

Os Ágeis e os Perplexos - Manoel Pimentel & Jorge Diz

Embed Size (px)

DESCRIPTION

 

Citation preview

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á

Os Ágeis e os Os Ágeis e os Perplexos Perplexos

# Tendências em Metodologias ## Tendências em Metodologias #

Jorge Diz - GlobalcodeManoel Pimentel Medeiros - Visão Ágil

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á

Sobre os Autores

Jorge Diz - Mestre em Engenharia Elétrica e Bacharel em Ciência da Computação, ambos pela UNICAMP. Com 25 anos de estrada na área de tecnologia da informação, boa parte deles em grandes empresas, ensina há 7 anos, 2 deles na Globalcode. Interessado atualmente em metodologias, testes e linguagens específicas de domínio. Fisgado pelo Java em 1999, certificado SCJP e SCWCD

Manoel Pimentel - É Engenheiro de Software, com mais de 15 anos na área de TI, atualmente trabalha com projetos Java pela Rhealeza(SP) e como Coach em metodologias pela Fratech Tecnologia(SP). É Diretor Editorial da Revista Visão Ágil, Possui as certificações CSM e CSP da Scrum Alliance e foi um dos pioneiros na utilização e divulgação de métodos ágeis no Brasil.Maiores informações em: http://manoelpimentel.blogspot.com

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á

Agenda

Objetivo:Debater as tendências em metodologias

no40o. aniversário da engenharia de

software

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á

Engenharia de Software, 40

A crise do software (meados dos ´60)

Convocação pela OTAN de uma conferência sobre “Engenharia de

Software” com 40 gurus de 11 paises.

Darmisch, Alemanha, outubro de 1968Roma, outubro de 1969

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á

Engenharia de Software, 40

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á

Engenharia de Software, 40

Assuntos discutidos:

- Linguagens de alto nível

- Terminais interativos- Métodos formais

- Gestão de projetos

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á

Institucionalização

Engenharia de Software, início dos ´90Conjunto de boas práticas aceito,

ensinado e avaliado.

Livro do Pressman 1st ed.: 1982SEI – CMU SW Capability Maturity Model:

Watts Humphrey, 1987

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á

The Chaos Report

1994:A consultoria The Standish Group publica

o 1o. “Relatório do Caos”

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á

E agora, José ?

Se a engenharia de software era a resposta, porque as coisas continuavam

dando errado

?

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á10

A direita: Faça mais !

As práticas da Engenharia de Software estão certas, mas não estão sendo usadas

=> Quem produz software precisa provar que segue as melhores práticas

“Não vamos jogar for a o bebê junto com a água do banho”

“Primeira lei da má gestão: se algo não está funcionando, faça mais desse algo”

Tom DeMarco, Slack, 2004

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á11

Glossário de direita

Contenção de defeitosMitigação de riscos

políticas, procedimentos, programasPSP, TSP, WBS

repetívelITIL, COBIT, Sox, governança

commitment, tailoring, capability(mil nomes) de requisitos

matriz de impactospré-planejar, planejar, re-planejar

Modelo-VWideband Delphi, CoCoMo, FPA,

pontos de funçãoCleanroom

SW -CM M , CM M I, M PS.br, m odelo de m aturidade, KPAs, PAs

SPI, SPIN, m elhoria de processo

evid ncia, n o conform idade, waiverê ã aderente ?É

institucionalizado

processo padr o, processo definidoãdesvio de processo

ger ncia s niorê êPM I, PM P, PM O, escrit rio de projetosó

Docum entar, registrar, evidenciar, m edir, verificar, revisar, inspecionar, auditar

Assessm ent, appraisal = eufem ism os para certifica oçã

baseline

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á12

Representante da Direita

Requisitos

An liseá

Desenho

Constru oçã

Teste

Entrega

M odelo em cascata(waterfall)

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á13

Mas qual o problema?

Planejamento (V rios M eses)á

Desenvolvimento (V rios M eses ou V rios Anos)á á

Teste(Dias)

Entrega

M odelo em cascata(waterfall)

Quantos docum entos foram gerados aqui?

Zip Teste?

Se tiver problem a?

E se n o est ã áaderente?

Estam os sendo produtivos?

E se atrasar?

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á14

A esquerda: Faça diferente !

Algo deve estar errado com o que achamos que conhecemos

=> Precisamos explorar metodologias diferentes

“Estas metodologias estão ai há muito tempo. Não têm se destacado por serem escandalosamente

bem-sucedidas. Muito menos por serem populares”Martin Fowler, “The New Methodology”, 2000

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á15

Glossário de esquerda

user Story / requisitos executáveistest|example|behavior - driven

developmentpair programming

velocity / timebox / burndown chartintegração contínua

domain-driven designagile draw

context-driven testingubiquitous language / metaphor

sustainable pace/ takt timechickens & pigs

reality driven

qualidade interna X externa

com unica o / feedbackçãpanning gam e, planning poker

refactoring

m uda, kanban, poka-yoke, kaizen, TPS

lean thinking, pensam ento enxuto

fluxo (M ih ly Cskszentm ih lyi)á í áescopo negocivelá

FDD, DSDM , OpenUP, XP

product backlogproduct owner, customer representative

scrumstand-up meeting

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á16

Cargo Cult

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á17

O Manifesto Ágil

Em 2001

Em um hotel nas montanhas do Colorado, alguns gurus de “esquerda” se juntaram

para discutir.

Resultado:O Manifesto Ágil

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á18

O Manifesto Ágil (Os gurus)

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á19

O Manifesto Ágil“Estam os descobrindo m elhores m aneiras de desenvolver software, fazendo software e ajudando outros a faz -lo.ê

Atrav s deste trabalho passam os a valorizar:é

Indivíduos e interações m ais que processos e ferram entas.S oftware que funciona m ais que docum enta o detalhada.çãColaboração do cliente m ais que negocia es contratuais.çõ

Responder às mudanças m ais que seguir um plano.

Isto , em bora haja valor nos itens do lado direito,én s valorizam os ó mais os do lado esquerdo.”

http://www.agilemanifesto.org 2001

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á20

O que é ser ágil?

A definição para a palavra ágil é “Que tem grande facilidade de se mover e mudar; Também lembra: ligeiro, leve e flexível.“

● Pense em seu projeto atual. Ele é ágil?

● Pode ser mais ágil?

● Se o objetivo dele mudar da noite pro dia, qual será o esforço necessário para adaptar-se ao novo objetivo?

● Se nada mudar, o projeto será um sucesso?

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á21

Você comeria toda essa carne?

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á22

Modelos Iterativos

Requisitos

An liseá

Desenho

Constru oçã

Teste

An liseá

Desenho

Constru oçã

Teste

Entrega

Increm ental An liseá

DesenhoConstru oçã

Teste

Vers o 1ã

Vers o 2ã

Requisitos

Evolucion rioá

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á23

Ciclo de Vida Iterativo

Definir os objetivos globais

Definir a abordagem global

Construir um plano iterativo grosseiro

Analisar e projetar a itera oçã

Im plem entar a itera oçã

Entregar para os usu riosá

Discutir e registrar li es aprendidasçõ

Definir a pr xim a itera oó çã

Avaliar os resultados

Plano 1

Plano n

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á24

Os 12 Princípios ÁgeisEntendendo o Manifesto Ágil:● Nossa maior prioridade é satisfazer o cliente através da

entrega antecipada e contínua de software com valor.

● Receber mudanças nos requisitos, mesmo tarde no desenvolvimento. Processos ágeis aproveitam a mudança para a vantagem competitiva do cliente.

● Entregar freqüentemente software que funciona, desde poucas semanas até poucos meses, com uma preferência pela menor escala de tempo.

● Pessoal de negócio e desenvolvedores devem trabalhar juntos efetivamente por todo o projeto.

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á25

Os 12 Princípios Ágeis● Construa projetos em torno de indivíduos motivados. Dê-lhes

o ambiente e o apoio necessários e confie neles para realizarem o trabalho.

● O método mais eficiente e eficaz de transmitir informação para e dentro da equipe de desenvolvimento é a conversação face-a-face.

● Software que funciona é a medida primordial de progresso.● Processos ágeis promovem o desenvolvimento sustentável.

Os patrocinadores, desenvolvedores e usuários devem ser capazes de manter um ritmo constante indefinidamente.

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á26

Os 12 Princípios Ágeis● Atenção contínua à excelência técnica e bom desenho

(design) elevam a agilidade.

● Simplicidade (a arte de maximizar a quantidade de trabalho não realizado) é essencial.

● As melhores arquiteturas, requisitos e desenhos (designs) emergem de equipes auto-organizadas.

● Em intervalos regulares a equipe reflete sobre como se tornar mais eficaz, e então ajusta seu comportamento de acordo.

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á27

Gerenciamento Ágil

A ntevis oã

E specular

L ista deF uncio nalid ades

E xplorar

A daptar

F echar

P lano deL ibe ra oç ã

F uncio nalid adesC om p le tad as

P rod utoF inal

AçãoAdaptativa

“A gile P roject M anagem e nt”Jim H ighsm ith, 2004

A ntevis oã

E specular

L ista deF uncio nalid ades

E xplorar

A daptar

F echar

P lano deL ibe ra oç ã

F uncio nalid adesC om p le tad as

P rod utoF inal

AçãoAdaptativa

“A gile P roject M anagem e nt”Jim H ighsm ith, 2004

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á28

Lean Thinking - Princípios> Elimine o Desperdício (Eliminate Waste)

> Crie Conhecimento (Create Knowledge )

> Produza com qualidade (Build Quality In)

> Crie comprometimento (Defer Commitment)

> Entregue rápido (Deliver Fast)

> Respeito as pessoas (Respect People)

> Melhore o sistema (Improve the System)

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á29

Modelagem Ágil

AgileDraw

Prototipação

M3 – Mind Map Modeling UML em Cores

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á30

Scrum - Fases> Pregame

> Planejamento> Desenho e alto nível da Arquitetura > Modelo Abrangente

> Game> Sprints (Modelagem incremental,

análise, desenvolvimento, Revisões e ajustes)

> Postgame> Fechamento (Agrupamento da

Documentação, Treinamento, Lições Aprendidas)

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á31

Scrum – Fluxo de Sprint

2 a 4semanas

24 horas

Lista de Espera (Backlog) do Produto,priorizada pelo Dono do Produto(Produc Owner)

Escopo da Corrida(Sprint)

Tarefasdetalhadaspela equipe

Incremento de Produto(pode ser liberado para uso)

ReuniõesDiárias

Necessidade( marcos, versões)

RevisãoRetrospectiva

Progresso

752 762664 619

304 264180

104200

100200300400500600700800900

5/3/20

02

5/5/20

02

5/7/2002

5/9/20

02

5/11/200

2

5/13/200

2

5/15/200

2

5/17/200

2

5/19/2

002

5/21/2

002

5/23/2

002

5/25/2

002

5/27/2

002

5/29/2

002

5/31/2

002

Data

Esf

orço

Res

tant

e (h

oras

)

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á32

Scrum - Papéis

Product OwnerProduct Owner

ScrumMasterScrumMaster

Time Time

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á33

FDD – Feature-Driven Development

Concep o e Planejam entoçã

Constru oçã

Desenvolverum M odeloAbrangente

Planejarpor

Feature

Construira Lista

de Features

Detalharpor

Feature

Construirpor

Feature

M ais conte do na form aú

M ais form a que conte doú

M odelo de Objetos

Pacotes de Trabalho

Requisitos

Produto

Plano deDesenvolvim ento

Fonte: Adail Muniz Retamal

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á34

Scrum + FDD

Fonte: Adail Muniz Retamal

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á35

XP – Extreme Programming

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á36

Comunicação - Kanban

NE

PendentesBacklog Iniciadas Inspe o/Testeçã Finalizadas

N N I

NN N

E N I

N N N

N N I

E N

N

N N

Item

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á37

Comunicando o Progresso Parking Lot

The Developer's Conference – 25 e 26 julho – Inscreva-se j!á38

Obrigado!

http://www.visaoagil.com