Prévia do material em texto
DSDM Rafael Oliveira Lucas Lima Introdução Metodologia de Desenvolvimento de Sistemas Dinâmicos (do inglês Dynamic Systems Development Methodology - DSDM). DSDM é um dos modelos de Metodologia Ágil de desenvolvimento de software. Foco na interação com cliente e usuário final. Entregas frequentes, Equipe independente e autônoma. Grande escalabilidade As Metodologias Ágeis são orientadas às pessoas e não aos processos. Métodos ágeis estão preparados para as mudanças Dynamic Systems Development Methodology Desenvolveu-se nos anos 90 na Inglaterra e foi aplicado pela primeira vez em 1995. Originalmente uma extensão do em "Desenvolvimento Rápido de Aplicação" (RAD - Rapid Application Development). Focada em projetos de Sistemas de Informação caracterizados por prazos e orçamentos apertados. Princípios DSDM Nenhum sistema é completamente construído na primeira tentativa, segue a filosofia do Princípio de Pareto(ou regra 80/20) "80% de uma aplicação pode ser entregue em 20% do tempo que levaria para entregar a aplicação completa". Uma vez que a DSDM é caracterizada por realizar exatamente o que a empresa necessita, é muitas vezes desnecessário chegar à solução perfeita. A entrega do projeto deve ser feita na data estipulada, dentro do orçamento previsto e com boa qualidade As exigências para o Sistema de Informação têm que ser flexíveis. Entregas frequentes, Equipe independente e autônoma. Esta metodologia apenas requer que cada etapa do desenvolvimento seja completada até que seja possível iniciar o passo seguinte O envolvimento dos utilizadores é a chave para esta eficiência. Pré-requisitos Para o DSDM Necessária a existência de uma interatividade entre a equipe de desenvolvimento, os utilizadores finais e os gestores de projeto. Decomposição de todo o projeto em mini projetos. Requisitos segundo a sua prioridade de implementação. OBS: Projetos complexos, que são difíceis ou impossíveis de decompor não poderão ser desenvolvidos usando uma abordagem DSDM. Exemplos: Projetos de segurança crítica - Os testes e validações extensos destes projetos conflitam com os objetivos de custo e prazo do DSDM. Projetos baseados na reutilização de componentes - A necessidade de perfeição nestes casos é muito alta e conflitam com o princípio 80-20. Fases DSDM Pré-Projeto Ciclo de vida Pós-Projeto Pré Projeto Nessa fase são definidos orçamento e assinatura do contrato. Controlando estes critérios antecipadamente pode-se evitar problemas futuros e em estágios mais críticos. Ciclo de Vida Estudo de viabilidade É avaliado se o método utilizado cabe ao DSDM através do tipo de projeto, levantamentos de grupos de trabalhos e a procura por interação de clientes experts para comunicação e interação do sistema. Iteração do Modelo Funcional Determinar as funcionalidades que serão implementadas e como e quando serão implementadas, desenvolver um protótipo funcional, efetuar correções do protótipo desenvolvido Ciclo de Vida Iteração de Desenho e Construção Identificar requisitos funcionais e não-funcionais que devem estar no sistema testado, viabilizar quando e como serão tratados tais requisitos, criar protótipo do sistema para teste do usuário final, efetuar correção no sistema testado. Implantação Orientações e aprovação do usuário, treinamento, entrega do sistema, revisão do negócio gerando um documento de "revisão do projeto" Pós Projeto Esta fase garante a eficiência e eficácia do projeto. Através de manutenções, melhorias e ajustes de acordo com os princípios do DSDM. A manutenção pode ser vista como um contínuo desenvolvimento. Invés de finalizar o ciclo de vida de apenas 1 vez, normalmente o projeto pode retomar fases/etapas anteriores a fim de refinar ainda mais o passo concluído. Com isso até mesmo a iniciação de novos projetos, para atualizar o sistema existente ou desenvolver um novo sistema, é possível. Técnicas do DSDM Timeboxing, ou encapsulamento do tempo, é uma das técnicas utilizadas nos projetos baseados na metodologia DSDM. Esta técnica é utilizada para suportar um dos objetivos principais da DSDM: realizar o desenvolvimento de um Sistema de Informação no tempo previsto, dentro do orçamento e com a qualidade desejada. A principal ideia por de trás do Timeboxing é dividir o projeto em porções ou mini projetos, cada uma com um orçamento fixo e uma data de entrega estipulada. Para cada porção, é selecionado um número de requisitos que são escalonados de acordo com o princípio de MoSCoW. Uma vez que o tempo e o orçamento são fixos, a única variável restante é aquela que representa os requisitos. Portanto, se um projeto está a ficar sem tempo ou dinheiro, os requisitos com menor prioridade são omitidos. Isto significa, efetivamente, que um produto incompleto é entregue, devido aos princípios subjacentes à DSDM de que 80% do projeto pode ser realizado em 20% do tempo que leva a construir o produto completo e de que nenhum sistema é construído na perfeição à primeira tentativa. MoSCoW: Forma de priorização de itens. No contexto do DSDM o método MoSCoW é utilizado para priorizar requisitos. MUST(TEM que ter isto): requisitos que DEVEM estar de acordo com as necessidades do negócio. SHOULD(DEVE ter isto): requisitos que devem ser considerados ao máximo, mas que não impactam no sucesso do projeto. COULD(PODE ter isto): incluir este requisito caso não afete o tamanho das necessidades de negócio do projeto. WOULD(NÃO VAI ter agora, mas SERIA bom no futuro): Incluir este requisito no caso de futuramente existir tempo sobrando (ou em futuros desenvolvimentos). Projetos não adequados à utilização da DSDM Clientes não disponíveis para efetuar testes. Culturas muito hierárquicas. Algoritmos complexos de validar e visualizar. Sistemas críticos à segurança humana. Arquitetura pouco modular. Tecnologias que não permitem a Prototipagem. Falta de confiança dos clientes. Bibliográfia https://www.researchgate.net/publication/237612979_DSDM_-_Dynamic_Systems_Development_Methodology https://pt.wikipedia.org/wiki/Metodologia_de_desenvolvimento_de_sistemas_dinâmicos