Gestao Ágil com FDD (BorCon2007) - Manoel Pimentel
-
Upload
manoel-pimentel-medeiros -
Category
Technology
-
view
925 -
download
1
description
Transcript of Gestao Ágil com FDD (BorCon2007) - Manoel Pimentel
10/07/2007
Gestão Ágil de ProjetosGestão Ágil de Projetoscom FDDcom FDD
Manoel Pimentel MedeirosManoel Pimentel Medeiroshttp://manoelpimentel.blogspot.comhttp://manoelpimentel.blogspot.com
10/07/2007 2© 2007
Sobre o palestrante:Sobre o palestrante:
É Engenheiro de Software, com 15 anos na área de TI, atualmente trabalha como Agile Coach para importantes empresas da área de serviço, indústria e bancária.
Também é Diretor Editorial da Revista Visão Ágil e da InfoQ Brasil, 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.
E já escreveu para importantes portais e revistas (nacionais e internacionais)
ligados ao desenvolvimento de software.
Maiores informações em: http://manoelpimentel.blogspot.com
Manoel Pimentel Medeiros, CSP
10/07/2007 3© 2007
ConteúdoConteúdo
Processos de Produ oçãEstrat gias de Desenv.éAgilidade
O M anifesto gil e os 12 ÁPrincpiosíDesafios aos Projetos
Gest o gil de Projetosã Á
Desafios
Ciclos de Vida
FDD
FDD e M 3
FDD e Scrum
FDD e CCPM
Se o de Perguntas e çãRespostas
10/07/2007 4© 2007
Processo de ProduçãoProcesso de Produção
Processo de ProduçãoId ias eé
Necessidades
Produto
Entendero que fazer
Pensarc omo fazer
Fazer
Verificar o que foi feito
Processo de Produção de Software
Requisitos
Produto
An liseá Desenho(Design)
Construçoã
TestesUnit riosá
Testes deIntegra o/Sisteçã
m a
Testes de
Aceitação
Erro Erro Erro
10/07/2007 5© 2007
Estratégias de Estratégias de DesenvolvimentoDesenvolvimento
Requisitos
Análise
Desenho
Construção
Teste
Entrega
Em cascata(waterfall)
Requisitos
Análise
Desenho
Construção
Teste
Análise
Desenho
Construção
Teste
Entrega
Increm ental
Análise
DesenhoConstrução
TesteVersão 1
Versão 2
Requisitos
Evolucion rioá
10/07/2007 6© 2007
O Que É Agilidade?O Que É Agilidade?
a.gi.li.da.de sf (lat agilitate)1. Qualidade do que gil.é á2. Desem bara o, ligeireza, presteza de m ovim entos.ç3. M obilidade, perspic cia, vivacidade. á
Geralm ente associa-se Agilidade com :
– Rapidez, Flexibilidade, Leveza
– Resum o: Habilidade para m udar
10/07/2007 7© 2007
AgilidadeAgilidade
M ais do que sim plesm ente dim inuir a quantidade de docum enta o e de processos, tam b m s o aspectos çã é ãim portantes da agilidade:
– O foco nas pessoas e suas intera esçõ– A capacita o de indivduos para tom ar decis es rapidam enteçã í õ– A adapta o de seus pr prios processosçã ó
“Agilidade a é habilidade para criar e responder m udan a, para lucrar num à çam biente turbulento de neg cios.”ó
“Agilidade a é habilidade para equilibrar flexibilidade e estabilidade.”
Jim Highsmith, “Agile Software Development Ecosystems”, 2002
10/07/2007 8© 2007
O Manifesto ÁgilO 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.
Software 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.agilem anifesto.org 2001
10/07/2007 9© 2007
Cuidado com o Cuidado com o Manifesto RadicalManifesto Radical
“[O M anifesto gil] n o pode ser interpretado com o Á ãindicando que ferram entas, processo, docum entos, contratos ou planos s o desprez veis. H um a trem enda ã í ádiferen a entre algo ser m ais ou m enos im portante que çoutro, e ser desprez vel.”í– Ferram entas s o crticas para acelerar o desenvolvim ento e reduzir ã ícustos
– Contratos s o vitais para iniciar as rela es desenvolvedor-clienteã çõ– Docum enta o auxilia a com unica oçã çã– Entretanto, os itens esquerda s o os m ais cruciaisà ã– Sem indivduos h beis, software funcionando, intera es fortes com í á çõclientes e rapidez de resposta m udan a, a entrega do produto à çser quase im possvelá í
Jim Highsmith, 2004
10/07/2007 10© 2007
Processo ÁgilProcesso Ágil
Um processo gil se:é á– Capacita a organiza o a responder facilm ente m udan açã à ç– Entrega c digo funcionando ao m ercado m ais rapidam enteó(do que com outros m todos – atuais ou anteriores)é
– Produz c digo funcionando de alta qualidadeó– Aum enta a produtividade
– Aum enta a satisfa o do clienteçã– Fornece um am biente de alta satisfa o com oçãtrabalho para um a equipe bem m otivada
Caractersticas:í– Iterativo e Increm ental
– Auto-organizador e Em ergenteKen Schwaber
David Anderson
10/07/2007 11© 2007
Os 12 Princípios ÁgeisOs 12 Princípios Ágeis
Nossa m aior prioridade satisfazer o cliente atrav s da é éentrega antecipada e contnua de software com valor.íReceber m udan as nos requisitos, m esm o tarde no çdesenvolvim ento. Processos geis aproveitam a m udan a á çpara a vantagem com petitiva do cliente.
Entregar freq entem ente software que funciona, desde üpoucas sem anas at poucos m eses, com um a prefer ncia é êpela m enor escala de tem po.
Pessoal de neg cio e desenvolvedores devem trabalhar ójuntos diariam ente por todo o projeto.
10/07/2007 12© 2007
Os 12 Princípios Os 12 Princípios Ágeis Ágeis (cont.)(cont.)
1. Construa projetos em torno de indivduos m otivados. D -í êlhes o am biente e o apoio necess rios e confie neles para árealizarem o trabalho.
2. O m todo m ais eficiente e eficaz de transm itir inform a o é çãpara e dentro da equipe de desenvolvim ento a éconversa o face-a-face.çã
3. Software que funciona a m edida prim ordial de progresso.é4. Processos geis prom ovem o desenvolvim ento á
sustent vel. O s patrocinadores, desenvolvedores e áusu rios devem ser capazes de m anter um ritm o áconstante indefinidam ente.
10/07/2007 13© 2007
Os 12 Princípios Os 12 Princípios Ágeis Ágeis (cont.)(cont.)
1. Aten o contnua excelncia t cnica e bom desenho çã í à ê é(design) elevam a agilidade.
2. Sim plicidade (a arte de m axim izar a quantidade de trabalho n o realizado) essencial.ã é
3. As m elhores arquiteturas, requisitos e desenhos (designs) em ergem de equipes auto-organizadas.
4. Em intervalos regulares a equipe reflete sobre com o se tornar m ais eficaz, e ent o afina e ajusta seu ãcom portam ento de acordo.
10/07/2007 14© 2007
Ciclo de Vida I terativoCiclo de Vida I terativo
Definir os objetivos globais
Definir a abordagem global
Construir um plano iterativo grosseiro
Analisar e projetar a iteração
Implementar a iteração
Entregar para os usuários
Discutir e registrar lições aprendidas
Definir a próxima iteração
Avaliar os resultados
Plano 1
Plano n
10/07/2007 15© 2007
Ciclo de Vida doCiclo de Vida doGerenciamento Ágil de ProjetosGerenciamento Ágil de Projetos
Antevis oã
Especular
Lista deFuncionalidades
Explorar
Adaptar
Fechar
Plano deLibera oçã
FuncionalidadesCom pletadas
ProdutoFinal
AçãoAdaptativa
“Agile Project M anagem ent”Jim Highsm ith, 2004
10/07/2007 16© 2007
Resumo do Ciclo doResumo do Ciclo doGerenciamento Ágil de ProjetosGerenciamento Ágil de Projetos
Antevisão– Determ inar a vis o do produto e o escopo do projeto (o que?), a ã
com unidade do projeto (quem ?) e com o a equipe trabalhar junta (com o?)áEspecular– “Conjecturar algo baseado em fatos ou inform a es incom pletos”çõ– Desenvolver um plano de libera o baseado em funcionalidades, com çã
m arcos e itera es, para entregar a vis oçõ ãExplorar– Entregar funcionalidades testadas, num curto perodo de tem po, buscando í
constantem ente reduzir o risco e a incerteza do projeto
Adaptar– Rever os resultados entregues, a situa o atual e o desem penho da equipe, çã
e adaptar quando necess rioáFechar– Concluir o projeto, passar adiante os principais aprendizados e celebrar
10/07/2007 17© 2007
Principais Objetivos Principais Objetivos de Negócio da GAPde Negócio da GAP
Inova o Contnuaçã í– Entregar de acordo com os requisitos atuais do cliente
Adaptabilidade do Produto
– Entregar de acordo com os requisitos futuros do cliente
Cronogram as Reduzidos de Entrega
– Satisfazer janelas de m ercado
– M elhorar o Retorno Sobre o Investim ento (RSI)
Adaptabilidade das Pessoas e Processos
– Responder rapidam ente s m udan as no produto e no neg cioà ç ó
Resultados Confiveisá– Suportar o crescim ento e a lucratividade do neg cioó
10/07/2007 18© 2007
Princípios Guias da GAPPrincípios Guias da GAP
Utilizar entrega iterativa de
funcionalidade
Entregar valor
para o cliente
Encorajar a excelência
técnica
Entrega do Produto
Construir equipes
adaptativas
Encorajar a exploração
Simplificar
Liderança-Colaboração
10/07/2007 19© 2007
Planejamento Planejamento em Camadasem Camadas
Entrega
Produto
Portfolio
Estratégia
Iteração
Dia
Geralmente feitos pela equipe de projeto
Geralmente feitos pela gerência superior
10/07/2007 20
FDDFeature Driven Developm ent
10/07/2007 21© 2007
Origem da FDDOrigem da FDD
1997-1998, Singapura
Contexto: Desenvolvim ento de umgrande sistem a de em pr stim osépara um banco internacional
Anteriorm ente, ap s 2 anos de consultoria, 3.500 p ginas ó áde casos de (in)uso e um m odelo de objetos com centenas de classes, foi avaliado com o im possvelíDecis o: Im planta o das m etodologias de OO AD de Peter ã çãCoad e de ger ncia de projetos de Jeff De LucaêResultado: 15 m eses ap s a contrata o da dupla, 2.000 ó çãfeatures entregues por um a equipe de 50 pessoas
10/07/2007 22© 2007
Concepção e Planejamento
Construção
FDDFDDFeature Driven DevelopmentFeature Driven Development
Desenvolverum ModeloAbrangente
Planejarpor
Feature
Construira Lista
de Features
Detalharpor
Feature
Construirpor
Feature
Mais conteúdo na forma
Mais forma que conteúdo
Modelo de Objetos
Pacotes de Trabalho
Requisitos
Produto
Plano deDesenvolvimento
10/07/2007 23© 2007
Gestão Ágil de Projetos
Principais Principais Disciplinas EnvolvidasDisciplinas Envolvidas
Concepção e Planejamento
Construção
Análise OO PlanejamentoDecomposição Funcional
Projeto OO Programaçãoe Teste OO
Engenhariade Requisitos
Desenvolvimento de Requisitos
Gerênciade Requisitos
Gerênciade Configuração
10/07/2007 24© 2007
Características da FDD Características da FDD
Fornece a estrutura suficiente para equipes m aiores
Enfatiza a produ o de software de qualidadeçãEntrega resultados freq entes, tang veis e funcionaisü íRealiza trabalho significativo desde o in cio, antes de ítornar-se altam ente iterativa
Fornece inform a o de estado e progresso de form a çãsim ples e com preens velíAgrada a clientes, gerentes e desenvolvedores
10/07/2007 25© 2007
As Melhores As Melhores Práticas da FDDPráticas da FDD
M odelagem de objetos do dom nioíDesenvolvim ento por feature
Posse individual de classe (c digo)óEquipes de features
Inspe esçõBuilds regulares
G erenciam ento de configura oçãRelat rio/visibilidade de resultadosó
10/07/2007 26© 2007
O Porquê de O Porquê de Cada ProcessoCada Processo
Desenvolver um M odelo Abrangente– M odelagem dos Processos de Neg cio (BPM )ó– An lise Orientada por Objetos (OO A)áConstruir a Lista de Features– Decom posi o FuncionalçãPlanejar por Feature– Plano de Desenvolvim ento
– Prioridade, Depend ncia, Distribui o de Trabalhoê çãDetalhar por Feature– Projeto O O (OOD), Estudo Detalhado
Construir por Feature– Program a o OO (OOP)çã– Inspe o, Testes, Integra oçã çã
10/07/2007 27© 2007
O Que é O Que é Feature Feature ??
Funcionalidade (ou caracterstica)íPequena o suficiente para ser im plem entada nom xim o em 2 sem anasáOferece valor para o cliente
M apeia passos em um a atividade de neg cioó– Pode ser um passo de um caso de uso
– s vezes pode ser o pr prio caso de usoÀ óConceito m uito pr xim o ao de um requisito funcionalóM odelo: <ação> <resultado> <objeto>– Calcular o total de um a venda– Autorizar uma transação com cartão de um cliente– Enviar uma nota fiscal para um cliente
10/07/2007 28© 2007
FBS: Feature FBS: Feature Breakdown StructureBreakdown Structure
Sistema ouAplicação
Área de Negócio Área de Negócio Área de Negócio
Atividade de Negócio
Atividade de Negócio
Atividade de Negócio
Atividade de Negócio
Atividade de Negócio
Atividade de Negócio
Atividade de Negócio
Atividade de NegócioFuncionalidade
Funcionalidade
10/07/2007 29© 2007
Estimativas ÁgeisEstimativas Ágeis
FuncionalidadesDesejadas
Estimar otamanho
Estimar aduração Cronograma
Escolher unidade:• Pontos por função /
funcionalidade / história• Dias ideais
Dias / horas
Usar escalas não-lineares:• Fibonnacci: 1, 2, 3, 5, 8, 13, ...• Exponencial: 1, 2, 4, 8, 16, ...E
scop
o
Tempo
Esc
opo
Tempo
Esc
opo
Tempo
Identificar restrição
Aplicar fator de duração
21 4 8 16
Tarefa dereferência
Poker doPlanejamento
10/07/2007 30© 2007
Principais PapéisPrincipais Papéis
Gerentede Projeto
ArquitetoChefe
Especialistasno Domínio
Gerente deDesenvolvimento
ProgramadoresChefes
Proprietáriosde Classes
10/07/2007 31© 2007
Visão ArquiteturalVisão Arquitetural
Apresentação(Visões e Controladores de Interface)
Negócio(Domínio do Problema)
Persistência Interface comoutros sistemas
10/07/2007 32© 2007
UML em Cores e o DNC - UML em Cores e o DNC - Domain Neutral ComponentDomain Neutral Component
Padr o para an lise OOã áQuatro arqu tipos:é–M om ento-Intervalo–Papel–Pessoa-Lugar-Coisa–Descri oçã
As cores adicionam um fator sem ntico ao m odeloâDim inui a varia o no çãprocesso de m odelagem
Padroniza o entendim ento
–Equipe de Neg cioó–Equipe de TI
10/07/2007 33© 2007
M3 - M ind Map ModelingM3 - M ind Map Modeling
10/07/2007 34© 2007
Medindo o ProgressoMedindo o Progresso
No ciclo iterativo (processos 4 e 5), o progresso m edido com base éem 6 m arcos (milestones) bem definidos
A cada etapa cum prida, o percentual respectivo agregado ao total éde progresso da feature
Es tudo D irig ido S obre o Domínio
1%
Des enho(Projeto)
40%
Ins peç ão doDes enho
3%
C odific aç ão
45%
Ins peç ão doC ódig o10%
Promoç ãoao B uild
1%
Nº 4: Detalhar por Feature Nº 5: Construir por Feature
DM
AC LF PPF
DPF C PF
10/07/2007 35© 2007
Monitorando as FeaturesMonitorando as Features
Legenda: Atividade em andamento Requer atenção Completada Não iniciada
Status: Não mais necessária (será feita diretamente no cadastro do cliente)VSARRegistrar a opção de pagamento preferida por um cliente19
Status: SM ficou doente (previsão de retorno: 01/03
06/0302/0328/0217/0216/0216/0215/0211/0210/02ASHMReceber um pagamento por um serviço18
20/0319/0317/0313/0310/0308/03VSAREnviar uma fatura para um cliente17
06/0302/0328/0217/0216/0216/0215/0210/0210/02ASSM
HMCalcular o custo total das peças usadas num serviço16
06/0302/0328/0217/0216/0216/0215/0211/0210/02ASSM
ARRegistrar uma lista de peças utilizadas num serviço15
06/0302/0328/0217/0216/0216/0215/0211/0210/02ASARRegistrar um serviço realizado num carro14
09/0209/0208/0208/0207/0207/0205/0205/0204/0204/0201/0201/02VSHMIncluir um novo cliente na lista de clientes13
06/0302/0328/0217/0216/0216/0215/0210/0210/02ASHMAgendar um serviço para um carro12
Real.Plan.Real.Plan.Real.Plan.Real.Plan.Real.Plan.Real.Plan.
BuildInsp. Cod.Codif.Insp. DesignDesignEst. Dirig.D.C.P.C.DescriçãoId
10/07/2007 36© 2007
Reportando o ProgressoReportando o Progresso
Mês/Ano
Porcentagem Completada:
Prazo de Entrega:Completada
Mês e Ano para entrega
Status da Atividade:
MA
Barra de Progresso
Em andamento
Requer atenção (ex.: atraso)
Completada
Nome daAtividade
de Negócio(nº features)
75%Ainda não iniciada
Iniciais PC
10/07/2007 37© 2007
Legenda: Em andamento Atenção Completada Barra de Progresso Não iniciada
Relatório de Progresso Relatório de Progresso ((Parking LotParking Lot))
Gerenciamento de Vendas de Produtos (VP) – 34%
Entrada dePedidos
(33)
Fev 2006
PC-1
Controle deContratos
(13)
Abr 2006
Venda deProdutos
(22)
Nov 2005
PC-1
Envio deProdutos
(19)
Mar 2006
PC-1
10%
Entrega deProdutos
(10)
Abr 2006
PC-3
30%
Relatórios deVendas
(14)
Dez 2005
75%99% 3%
Ger. Contas de Clientes (CC) – 90%
Análise dePropostas de
Contas(23)
Nov 2005
95%
Registro deTransaçõesdas Contas
(30)
Dez 2005
82%
Aberturade NovasContas
(11)
Nov 2005
100%
Gerenciamento de Estoque (GE) – 94%
Definição deUnidades de
Estoque(26)
Nov 2005
100%
Movimentaçãode Mercadorias
(19)
Jan 2006
82%
PC-3
Aceite deRequisições
de Movimento(18)
Dez 2005
97%
PC-3
PC-2 PC-1
PC-2 PC-2 PC-2 PC-3
SistemaComercial
(238)
Abr 2006
65%
10/07/2007 38© 2007
Visibilidade do ProjetoVisibilidade do Projeto
Diagrama de Fluxo Acumulado
Legenda:
Não iniciada Em andamento Completada
Tempo (semanas)
Feat
ures
10/07/2007 39© 2007
Lean Production Lean Production Exemplo de Quadro de ProgressoExemplo de Quadro de Progresso
NE
PendentesBacklog
Fulano
Beltrana
Sicrano
Zé
J.J.
Iniciadas Inspeção/Teste Finalizadas
N N I
N
N NE N I
N NN N
N N N
N N I
E
N
N
N
N N
N N I
10/07/2007 40© 2007
Exemplos de KanbansExemplos de Kanbans
Início: Fim:
ID: Resp.:
Descrição:
Início:
Estimativa de retorno:
ID: Resp.:
Motivo:
RN12 Sic
18/06 09:15
VN: A
Fórmula de cálculo do imposto: I = ValorBruto * Aliquota
Aliquota -> parâmetro AI3Classe -> VendaTela -> pgVenda
Cartão de tarefa normal (amarelo)ou emergência (rosa)
Cartão de impedimento (azul)
Est.:4
RN12 Sic
19/06 9:00
18/06 11:30
Classe Venda está sendo alteradapor outra tarefa
10/07/2007 41© 2007
Scrum e FDDScrum e FDD
10/07/2007 42© 2007
Quem Usa FDD?Quem Usa FDD?
10/07/2007 43© 2007
ReferênciasReferências
http://www.heptagon.com .br
http://www.axm agno.com /
• http://m anoelpim entel.blogspot.com
10/07/2007 44© 2007
AgradecimentoAgradecimento
Principal Divulgador da FDD no Brasil
Adail Muniz “Heptaman”
http://www.heptagon.com .br
© 2007
Perguntas???Perguntas???
http://m anoelpim entel.blogspot.com
Developer Network Brasil
– http://dn.codegear.com /br
• Artigos
• Videos
• Com unidades no Brasil
Blog da CodeGear
– http://blogs.codegear.com
© 2007
Obrigado !!!!Obrigado !!!!
http://m anoelpim entel.blogspot.com
Developer Network Brasil
– http://dn.codegear.com /br
• Artigos
• Videos
• Com unidades no Brasil
Blog da CodeGear
– http://blogs.codegear.com