47
Para equipes não tão ágeis

FDD para equipes não tão ágeis

Embed Size (px)

DESCRIPTION

É notável que a F.D.D. (Feature Driven-Development) é uma das metodologias ágeis que mais se aproxima do modelo tradicional, pois concentra uma boa parte da sua energia em etapas de planejamento, onde muitas outras não possuem um foco tão explicito. A ideia é mostrar a todos, como esta metodologia proporciona uma adaptação mais suave dos modelos tradicionais aos modelos agilistas.

Citation preview

Page 1: FDD para equipes não tão ágeis

Para equipes não tão ágeis

Page 2: FDD para equipes não tão ágeis

AGENDA

• Introdução• FDD Overview• Estudo de caso• Referências• Contatos

Page 3: FDD para equipes não tão ágeis

Introdução

Vamos começar....

Page 4: FDD para equipes não tão ágeis

Sua empresa é assim ?

Page 5: FDD para equipes não tão ágeis

Cheia de burocracia

Page 6: FDD para equipes não tão ágeis

A comunicação é ineficiente entre equipes

Page 7: FDD para equipes não tão ágeis

Mudanças organizacionais são sempre complicadas

Page 8: FDD para equipes não tão ágeis

Algumas acham que fazer software é como uma linha de montagem

Page 9: FDD para equipes não tão ágeis

Foco no planejamento antecipado do projeto

Page 10: FDD para equipes não tão ágeis

Projetos com documentações excessivas

Page 11: FDD para equipes não tão ágeis

Acabam ficando pesados e custosos para se manter

Page 12: FDD para equipes não tão ágeis

A qualidade e as boas práticas de desenvolvimento acabam ficando esquecidas.

Page 13: FDD para equipes não tão ágeis

Aumentando o risco do projeto e o seu insucesso

Page 14: FDD para equipes não tão ágeis

Você até pensa em mudar, mas acaba esbarrando no modelo de gestão da empresa.

Page 15: FDD para equipes não tão ágeis

Você até gostaria de fazer diferente

Page 16: FDD para equipes não tão ágeis

Mas mudanças são sempre complicadas

Page 17: FDD para equipes não tão ágeis

E acaba se sentindo preso a uma estrutura engessada

Page 18: FDD para equipes não tão ágeis

Como mudar, qual caminho escolher ?

Page 19: FDD para equipes não tão ágeis

Feature Driven-Developement (F.D.D)

Combina as melhores práticas do gerenciamento ágil de projetos, mas com nível mínimo de processo definido para modelagem de software.

Page 20: FDD para equipes não tão ágeis

Lema: Resultados freqüentes, tangíveis e funcionais.

Page 21: FDD para equipes não tão ágeis

Um pouco da história

• Criada em 1997 num grande projeto em Java para o United Overseas Bank, em Singapura.

• Seus criadores eram Peter Coad e Jeff De Luca.

• Foi publicada em 1999, no livro Java “Modeling in Color with UML”, de Peter Coad, Eric Lefebvre e Jeff De Luca.

• Em 2002, Stephen Palmer e John Mac Felsing publicaram o livro “A Pratical Guide to Feature Driven Development”, com a versão completa, atualizada e comentada da metodologia.

Page 22: FDD para equipes não tão ágeis

Principais características

Resultados úteis a cada duas semanas ou menos

Page 23: FDD para equipes não tão ágeis

Desenvolvimento orientado a Features

Blocos bem pequenos de funcionalidades valorizadas pelo cliente, chamados de Features

Page 24: FDD para equipes não tão ágeis

Planejamento detalhado na etapa inicial e guiado para medição

Jeff De LucaPrincipais características

Page 25: FDD para equipes não tão ágeis

Principais características

Parking Lot Chart

Page 26: FDD para equipes não tão ágeis

Monitoramento detalhado dentro do projeto, com resumos de alto nível para clientes e gerentes.

Principais características

Page 27: FDD para equipes não tão ágeis

Principais características

Fornece uma forma de saber, dentro dos primeiros 10% de um projeto, se o plano e a estimativa são sólidos.

Page 28: FDD para equipes não tão ágeis

1. D.M.A2. C.L.F.3. P.P.F.

Fases do F.D.D.

4. D.P.F.5. C.P.F.

Page 29: FDD para equipes não tão ágeis

Desenvolver Modelo Abrangente

Conjunto de técnicas para entendimento do domínio de negócio em questão. Seu resultado é um modelo de objetos de alto nível, que guiará a equipe durante os ciclos de construção.

Page 30: FDD para equipes não tão ágeis

Modelo de classes

Page 31: FDD para equipes não tão ágeis

Decomposição funcional do modelo de domínio, em três camadas típicas: áreas de negócio, atividades de negócio e funcionalidades.

Construir Lista de Funcionalidades

Page 32: FDD para equipes não tão ágeis

Planejar por Feature

Nesta fase realiza-se a estimativa das funcionalidades, assim como suas dependências. O resultado é um plano de desenvolvimento, com os pacotes de trabalho na seqüência apropriada para a construção.

Page 33: FDD para equipes não tão ágeis
Page 34: FDD para equipes não tão ágeis

Detalhar por Feature

Nesta fase a equipe detalha os requisitos e outros artefatos para codificação de cada funcionalidade, incluindo testes e inspeção de design.O resultado é o modelo de domínio mais detalhado e classes stubs prontas para codificar.

Page 35: FDD para equipes não tão ágeis

Construir por Feature

Nesta fase cada classe stub (Esqueleto) é preenchida, testada e inspecionada, gerando como resultado um incremento do produto ou uma feature pronta.

Page 36: FDD para equipes não tão ágeis

Visão geral do ciclo da F.D.D.

Page 37: FDD para equipes não tão ágeis

Estudo de Caso

Page 38: FDD para equipes não tão ágeis

Cenário em 2008:• Complexidade alta;• Iniciou o desenvolvimento em 2008;• Levou cerca de 4 meses para ser feita a análise inicial;• Desenvolvimento executado por equipe terceirizada;• Problemas encontrados:

– Nenhuma entrega para o usuário;– Documentação não foi respeitada pelo fornecedor;– Conhecimento com equipe externa (terceirizada);

Estudo de Caso – Projeto X

Page 39: FDD para equipes não tão ágeis

Estudo de Caso – Projeto X

Cenário em 2009:• Projeto teve seu desenvolvimento

internalizado;• Sem metodologia de desenvolvimento;• Problemas encontrados:– Comunicação ineficiente;– Sem entrega parcial para o usuário;– Conhecimento do negócio com equipe externa

(terceirizada);

Page 40: FDD para equipes não tão ágeis
Page 41: FDD para equipes não tão ágeis

Estudo de Caso – Projeto X

Cenário em 2010:• Necessidades de mudanças• Ampliação da equipe de desenvolvimento

interna;• Absorver o conhecimento técnico;• Implementação de grandes features, porém

com entregas freqüentes;• Criar/utilizar uma metodologia adequada a

empresa;

Page 42: FDD para equipes não tão ágeis

Estudo de Caso – Projeto X

RUP FDD XP

Quero Controle

Equipes grandesRigor Obrigatório

Quero apenas o ProcessoSuficiente.

Escalável para Equipes Médias e Pequenas

Quero Liberdade

Equipes Pequenas

Page 43: FDD para equipes não tão ágeis

Estudo de Caso – Projeto X

Alguns resultados da FDD na equipe:• Integração da equipe – Formação dos times• Entendimento do projeto – Criação do Modelo

Abrangente• Analise de negócio e requisitos – Adaptação da WBS

para FBS• Mudança da visão tradicional para o ágil dos

envolvidos no projeto.• Entregas freqüentes de features para o cliente.• Entrega da primeira release

Page 44: FDD para equipes não tão ágeis

Resultados obtidos no projeto:• Maior segurança para empresa, acostumada

com o modelo tradicional;• Documentação necessária feita pela equipe;• Entendimento do negócio por todos os

envolvidos no projeto;• Aceitação da cultura Ágil, dando abertura para

outras metodologias;

Estudo de Caso – Projeto X

Page 45: FDD para equipes não tão ágeis

+

+=

Page 46: FDD para equipes não tão ágeis

Referências

Alguns links:• FDD – www.featuredrivendevelopment.com• Heptagon – www.heptagon.com.br• Visão ágil – visaoagil.wordpress.com• GUFDD – http://br.groups.yahoo.com/group/gufdd/• FDD em uma casca de banana -

http://amagno.blogspot.com/2007/04/fdd-em-uma-casca-de-bananas.html

• Blog do Abu – http://blogdoabu.blogspot.com

Page 47: FDD para equipes não tão ágeis

Contatos

Alexandre Rosa Email – [email protected] - @javalex

Everton Lentez Email – [email protected]

Guilherme Pinter Email – [email protected]