Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 / 21 Modelos ágeis FDD/ASD/DSDM 2 / 21 FDD (Feature Driven Development – Desenvolvimento Guiado por Características) 3 / 21 FDD (Feature Driven Development) Entre as metodologias ágeis que existiam antes do manifesto ágil, o FDD “Feature Driven Developement” é uma delas. Concebido originalmente por Jeff de Luca, o FDD surgiu em Singapura, entre os anos de 1997 e 1999. 4 / 21 FDD (Feature Driven Development) O FDD surgiu a principio como um modelo prático de processos para engenharia de softwares orientado a objetos, depois esse modelo foi melhorado e adaptado para ser aplicado a projetos de softwares de tamanho moderado e grande. 5 / 21 FDD (Feature Driven Development) O FDD busca o desenvolvimento por funcionalidade, ou seja, por um requisito funcional do sistema. O FDD atua muito bem em conjunto com o Scrum, pois o Scrum atua no foco do gerenciamento do projeto e o FDD atua no processo de desenvolvimento. 6 / 21 FDD (Feature Driven Development) No contexto do FDD, uma característica é uma função valorizada pelo cliente que pode ser implementada em duas semanas ou menos. A ênfase na definição de característica fornece os seguintes benefícios: ● Características são pequenos blocos de funcionalidades passíveis de entrega; ● Podem ser organizadas em agrupamento hierárquico relacionados ao negocio; ● É um incremento de software passível de entrega do FDD, a equipe desenvolve características operacionais a cada duas semanas; ● Como características são pequenas, suas representações de projeto e de código são mais fáceis de serem inspecionadas. ● Planejamento de projeto, cronogramação e monitoração são guiados pela hierarquia de característica em vez de por um conjunto de tarefas de engenharia de software. 7 / 21 FDD (Feature Driven Development) O FDD possui cinco processos básicos: ● Desenvolvimento de modelo abrangente (Análise orientada por objetos); ● Construção de lista de funcionalidades (Decomposição funcional); ● Planejar por funcionalidade (Planejamento incremental); ● Detalhe por funcionalidade (Desenho orientado a objetos); ● Construção por funcionalidade (Programação e teste orientado a objetos). 8 / 21 FDD (Feature Driven Development) 9 / 21 FDD (Feature Driven Development) Segundo a metodologia, o percentual de tempo gasto em cada etapa é: ● Levantamento do domínio da aplicação = 1%; ● Projeto = 40%; ● Inspeção do projeto = 3%; ● Desenvolvimento = 45%; ● Inspeção do código = 10%; ● Integração = 1%. 10 / 21 FDD (Feature Driven Development) Melhores práticas (boas práticas) com o FDD: ● Modelagem Orientada a Objetos do Domínio; ● Desenvolvimento por funcionalidade; ● Classe proprietária, ou seja, a unidade é feita individualmente, evitando-se assim conflitos na equipe; ● Equipes de recursos: são equipes pequenas, destinadas a desenvolver recursos necessários ao projeto, de forma secundária; ● Inspeção é realizada constantemente para garantir a boa qualidade do código e do projeto; ● Gerenciamento de configuração; ● Integração contínua para demonstrar constantemente as funcionalidades ao cliente e; ● Visibilidade de progressos e resultados. 11 / 21 ASD- (Adaptative Software Development- Desenvolvimento Adaptativo de Software) 12 / 21 ASD- (Adaptative Software Development) O DAS ou ASD foi proposto como uma técnica para a construção de softwares complexos. O DAS se concentra na colaboração humana e na auto-organização da equipe. 13 / 21 ASD- (Adaptative Software Development) Essa mudança seria necessária devido ao enfoque diferente dos dois ciclos: o primeiro considera a estabilidade no ambiente de negócios, enquanto o segundo foca em ambientes de incerteza e de grande mudança – visão comum a todos os métodos ágeis. Planejamento Tradicional Planejamento Com ASD Planejar Projetar Construir Especular Colaborar Aprender 14 / 21 ASD- (Adaptative Software Development) 15 / 21 ASD- (Adaptative Software Development) Especulação: o projeto é iniciado e o planejamento de um ciclo adaptativo é conduzido. Planejamento do ciclo adaptativo usa informações de iniciação do projeto, a declaração de missão é feita pelo cliente,as restrições do projeto e requisitos básicos são definidos e também é definido a quantidade de ciclos que serão realizados. Colaboração: Pessoal motivado trabalha junto de um modo que multiplica seus talentos e resultados criativos além de seus números absolutos. Aprendizado:A medida que os membros da equipe DAS começam a desenvolver os componentes que fazem parte de um ciclo adaptativo,a ênfase esta tanto no aprendizado quando no desenvolvimento do ciclo. 16 / 21 ASD- (Adaptative Software Development) Para que o desenvolvimento seja realmente adaptativo é necessário que esse novo ciclo tenha as seguintes características: ● Enfoque na missão: fazer com que a equipe tenha um objetivo definido e permitindo que sejam feitas decisões com maior embasamento. ● Baseado em características: o objetivo é entregar resultados mais palpáveis ao cliente, ao invés de outras formas de produtos (como, por exemplo, documentação). ● Iterativo: a construção deve focar na evolução do produto. 17 / 21 ASD- (Adaptative Software Development) ● Períodos fechados (time-boxes): a equipe deve ter um objetivo definido em um determinado período, priorizando e decidindo para que seja entregue o combinado no prazo adequado. ● Dirigido a riscos: é necessário analisar e avaliar os riscos do projeto continuamente, assim como em um desenvolvimento em espiral. ● Tolerante a mudanças: incorporar as mudanças que forem aparecendo durante o projeto, para que o sistema tenha maior valor ao cliente. 18 / 21 DSDM(Dynamic Systems Development Method – Metodo de desenvolvimento dinâmico de sistemas) 19 / 21 DSDM- (Dynamic Systems Development Method) O DSDM é uma abordagem ágil de desenvolvimento de software que que se conceitua mais como um arcabouço* do que um método, é na criação de protótipos que evoluem para o sistema, utilizando para isso a colaboração muito próxima do cliente. Para construir e manter sistemas que satisfazem às restrições de prazos apertadas por meio do uso de prototipagem incremental em um ambiente controlado de projeto. * Estrutura / framework 20 / 21 DSDM- (Dynamic Systems Development Method) Existem algumas técnicas principais que são usadas durante a execução de um projeto usando DSDM: ● Time-boxes: definição de um período fixo para a execução do projeto, colocando até datas de entrega. Com isso, caso haja alguma funcionalidade que não possa ser implementada durante o período estipulado, ela deve ser feita após o desenvolvimento em si (antes da fase de pós-projeto). ● MoSCoW: regra básica para a priorização de requisitos durante o período de desenvolvimento. A idéia fundamental é priorizar e implementar os requisitos que sejam considerados principais, deixando os menos importantes para depois. ● Modelagem: não deve ser uma atividade burocrática, sendo usada para prover um melhor entendimento do problema e da solução. 21 / 21 DSDM- (Dynamic Systems Development Method) ● Prototipação: forma de verificar a adequação dos requisitos e facilitar as discussões com o cliente. O protótipo criado deve evoluir juntamente com o projeto. ● Teste: essa atividade deve ser executada sistematicamente e de forma contínua durante o projeto. ● Gerência de configuração: essencial, visto que os produtos são entregues com uma grande freqüência. Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21
Compartilhar