Metodologia de desenvolvimento de sistemas dinâmicos
Metodologia de Desenvolvimento de Sistemas Dinâmicos é uma metodologia de desenvolvimento de software originalmente baseada em "Desenvolvimento Rápido de Aplicação" (RAD). DSDM é uma metodologia de desenvolvimento iterativo e incremental que enfatiza o envolvimento constante do usuário.
Como uma extensão do RAD, o DSDM é aplicado em projetos de Sistemas caracterizados pelos cronogramas e custos limitados. Aponta falhas de informação mais comuns destes projetos, incluindo custos excedentes, perda de prazos, falta de envolvimento de usuários e acompanhamento da alta gerência. Através do uso do RAD, contudo, sem os devidos cuidados com o DSDM pode aumentar ainda mais o risco em outros quesitos. DSDM consiste em: Em alguns casos, é possível integrar práticas de outras metodologias, como do Rational Unified Process (RUP), Programação Extrema (XP) e PRINCE2, como complemento ao DSDM. Outro método ágil que o DSDM possui muita similaridade quanto ao processo e conceitos é o Scrum. Originado no Reino Unido em 1990 através do DSDM Consortium, uma associação de consultores e experts no ramo de Engenharia de Software criado com o intuito de "unir desenvolvimento e promoção de um framework RAD independente" combinando suas experiências em boas práticas. O DSDM Consortium - organização não governamental e independente detém e administra seu próprio framework DSDM. Sua primeira versão foi concluída em janeiro de 1995 e publicada no mês seguinte. Em julho de 2006 foi disponibilizada a versão 4.2 do DSDM. Em 2014, foi disponibilizado online um handbook do DSDM. Adicionalmente, modelos de DSDM podiam ser baixados. Em outubro de 2016, o Consórcio DSDM criou a marca Consórcio Agile Business.
A DSDM fornece um framework para uma abordagem interativa e incremental de desenvolvimento de Sistemas de Informação (SI). Desenvolveu-se nos anos 90 na Inglaterra e foi aplicado pela primeira vez em 1995. Nesta altura (novembro de 2005), o Manual DSDM encontra-se na 4ª versão. Esta metodologia foi desenvolvida por um consórcio de vendedores e peritos no campo dos Sistemas de Informação, no qual partilharam e combinaram as suas melhores técnicas. Assim, a DSDM surge como uma extensão do RAD (Rapid Application Development), focada em projetos de Sistemas de Informação caracterizados por prazos e orçamentos apertados. A DSDM aborda os problemas que frequentemente ocorrem no desenvolvimento de informação que se prendem essencialmente com a falta de tempo, com orçamentos mais apertados ou com outro tipo de razões para que o projeto falhe, tal como a falta de envolvimento dos encarregados do projeto ou dos utilizadores finais.
Princípios
Existem 9 princípios formados por 4 séries e 5 pontos-chave.
Prérequisitos para utilizar o DSDM
Para obter sucesso com o DSDM, um número de pré-requisitos deve ser alcançado. Inicialmente, deve haver interação entre o time do projeto, futuros usuários e o alto-escalão. Isto permite identificar futuras falhas no sistema acarretadas pela falta de acompanhamento da gerência ou envolvimento de usuário. O segundo requisito para um projeto DSDM é que ele possa ser fracionado em pequenas partes permitindo um maior detalhamento em cada iteração. Exemplos de projetos que o DSDM não é uma boa indicação:
O framework DSDM consiste de 3 fases sequenciais, nomeadas de pré-projeto, ciclo de vida e pós-projeto. O ciclo de vida é a fase mais elaborada das 3. Consiste em 4 estágios que formam o passo-a-passo das iterações aplicadas ao desenvolvimento do sistema. Estas 3 fases e seus respectivos estágios serão abrangidos nas seções subsequentes, veja abaixo as atividades principais de cada fase/etapa: Abaixo encontra-se o diagrama de processo de todo o ciclo de vida (4 etapas).Isto ilustra a iteração de desenvolvimento, iniciando no Modelo funcional, passando pelo desenho, construção até chegar à implantação. A explicação de cada fase será descrita mais a frente neste tópico.
Os 4 estágios do ciclo de vida do projeto
Durante este estágio do projeto, a viabilidade de uso do DSDM é examinada. Pré-requisitos para o uso do DSDM são avaliados respondendo-se algumas questões como: ‘Pode este projeto atender as necessidades do negócio?’, ‘Este projeto é próprio para o DSDM?’ e ‘Quais os riscos mais importantes que estão envolvidos?’. A técnica fundamental desta fase é a utilização dos Grupos de trabalho. Os artefatos para este estágio são Relatório de viabilidade e Protótipo da Viabilidade. São estendidos até o Planejamento de Definições Gerais até o resto do projeto, e além deste um controle de Risco identifica os riscos mais impactantes do projeto. Essa análise não deve passar de algumas semanas; duas ou três são consideradas tempo suficiente para deliberar sobre a viabilidade. como produto final, são criados um relatório de viabilidade e um plano geral de desenvolvimento.
Modelo de metadados
As associações entre os conceitos das entregas e o estágio de iteração do Modelo Funcional são ilustrados no modelo de Metadados abaixo. Este modelo irá combinar com o diagrama de meta-processos da fase de Iteração do Modelo Funcional na próxima parte.
Modelo de processo
A atividade de identificar o protótipo funcional é identificar funcionalidade que podem estar no protótipo da iteração corrente. Lembrando que, análise e código foram feitos; protótipo são construídos, e experiências adquiridas com eles são utilizadas para aprimorar a análise de modelos (baseado também na atualização da lista priorizada de requisitos e controle de risco). A construção de protótipo não pode ser descartada por inteiro, mas gradualmente transformada na qualidade que será aplicada no final do produto final. A Agenda determina quando e como a prototipação será implantada; isto oferece um escopo para avaliação de tempo hábil e plano de prototipagem. Uma vez que testes são feitos ao longo de todo o processo, Isto também se torna parte essencial desta fase, por esta razão é incluída na atividade de revisão de protótipo logo após o protótipo funcional é construído, e este registro de teste será eventualmente utilizado no processo de revisão do protótipo e gerar o documento de revisão. Abaixo o diagrama do processo da Iteração do Modelo Funcional.
Papéis do DSDM
Existem alguns papéis aplicados junto ao ambiente DSDM. É interessante que seja definido previamente os papéis que cada membro do projeto irá representar antes de se iniciar as atividades. Cada papel tem sua própria responsabilidade. São eles:
Iteratividade e natureza Incremental
Após o timeboxing e priorização de requisitos, O DSDM oferece também uma forma de Desenvolvimento Incremental e Iterativo ao sistema. Isto pode ser visto na ilustração exibida no Modelo do Processo. Os estágios das Iterações do Modelo Funcional, Desenho, construção e Implantação podem percorrer seus sub-estágios inúmeras vezes antes de passar para o próximo passo. Cada iteração inclui uma lista de funcionalidades, e toda iteração é construída baseada no seu predecessor. Se necessário cada iteração também pode ser desfeita. A ilustração do resumo do processo mostra também setas retornando à estágios anteriores. Por exemplo, a ligação Implantação x Análise de Negócio. Caso uma grande funcionalidade foi descoberta durante o desenvolvimento e não pôde ser implementada, é possível reiniciar definindo novos requisitos no estudo de caso. Da mesma forma, há uma ligação entre Implantação e Iteração do Modelo Funcional. Funcionalidades podem ser omitidas durante o Modelo Funcional anterior devido a limites de tempo ou custo. O projeto deve ir à fase de Pós-projeto somente após reconhecer que todos os requisitos definidos no escopo foram entregues.
Metamodelo (Metamodelagem)
Metamodelagem define em alto nível métodos e técnicas. Permitindo que sejam comparados métodos, técnicas e Engenharias similares existentes aos novos. O Modelo de metadados, representado abaixo: demonstra os conceitos e associações entre estes conceitos do DSDM. Como pode ser visto, pode-se identificar 2 conceitos principais, Fase e Fluxo. Cada Fluxo se origina de uma Fase dentro do DSDM. Os Fluxos podem ser divididos em sub-conceitos Dados e Produto. Esta subdivisão é denotada por um C, que significa que a subdivisão foi separada e concluída. Em outras palavras, Fluxo será sempre Fluxo de dados ou Fluxo do produto, jamais ambos. No caso do DSDM Fluxo de Dados pode ser um ponto de retorno à fases anteriores. Fluxo de produtos são formas tangíveis que resultam de Fases e serão incluídos na próxima Fase, por exemplo protótipos e relatórios.
No DSDM uma série de fatores são identificados como sendo de grande importância para garantir o sucesso do projeto.
Durante anos um grande número de métodos de desenvolvimento de sistemas tem sido desenvolvidos e aplicados, divididos em Métodos estruturados, métodos RAD e Métodos orientado a objetos. Muitos destes métodos demonstram similaridades um com outro e também com o DSDM. Por exemplo Programação Extrema(XP) também possui um formato iterativo ao desenvolvimento baseado com envolvimento do usuário. O Rational Unified Process (RUP) é provavelmente o método mais similar ao DSDM assim é também o formato mais dinâmico de desenvolvimento de sistema de informação. Novamente o formato iterativo é utilizado neste método de desenvolvimento. Como o XP e o RUP existem muitos outros métodos de desenvolvimento que demonstram similaridades com o DSDM, mas DSDM se diferencia por si só pelo número de caminhos que pode adotar. Primeiro temos um fato que produz uma ferramenta e um framework técnico independente. Isto permite usuários preencherem etapas específicas do processo om suas próprias técnicas e escolhas de documentação de software. Outra funcionalidade exclusiva é o fato de que variáveis no desenvolvimento não são considerados recursos ou tempo, mas requisitos. Assim garantimos os pontos principais do DSDM, marcados para se manterem no custo e prazo definidos. E por último o forte foco na comunicação entre e no envolvimento de todos responsáveis pelo sistema. Contudo isso é encontrado em outros métodos, DSDM acredita fortemente no comprometimento do projeto para garantir o sucesso do projeto.


