Método DSDM (Dynamic Systems Development Method)
O que é DSDM?
Inicialmente o acrônimo DSDM vem de Dynamic Systems Development Method surge 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 o DSDM pode aumentar ainda mais o risco em outros quesitos, o DSM consiste em:
-
3 fases: pré-projeto, ciclo de vida, e pós-projeto.
-
A fase ciclo de vida é subdividida em 5 estágios: análise de viabilidade, análise de negócio, Iteração do Modelo Funcional, iteração de elaboração e construção e, por fim, implantação.
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.
O DSDM é de natureza dinâmica, pois é uma abordagem RAD (Rapid Application Development) para desenvolvimento de software. É uma abordagem iterativa e incremental que enfatiza o envolvimento contínuo do cliente/equipe.
O que diferencia o DSDM é o envolvimento ativo do usuário e o poder de tomada de decisão com as equipes que trabalham nele.
As equipes têm poderes para tomar decisões.
Ele se concentra na fórmula: 80% de implantação do sistema em 20% do tempo, ou seja, não demora muito para atingir uma fase de trabalho ou para chegar a uma fase em que você pode dizer que funcionará.
Este método é usado principalmente para o sistema em que os requisitos de entrega de software ocorrem em um curto espaço de tempo. Seu objetivo é fornecer software dentro do prazo e do orçamento, enquanto ainda se ajusta a novas condições ou mudanças ao longo do caminho.
Breve histórico do DSDM
O DSDM (Dynamic Systems Development Method) foi desenvolvido no Reino Unido em 1990 para atender à necessidade de negócios rápidos, mas foi oficialmente originado em janeiro de 1994 por um grupo sem fins lucrativos através do DSDM Consortium, (atual Agile Consortium1) uma associação de consultores e especialistas no ramo de Engenharia de Software, partilharam e combinaram as suas melhores técnicas e experiências para fornecer uma estrutura padrão do setor para entrega de projeto.
Sua primeira versão foi concluída em janeiro de 1995 e a versão mais recente, atualmente em uso, é 4.2, desenvolvida em 2003.
Princípios do DSDM:
DSDM tem nove Princípios Fundamentais girando em torno das necessidades de negócios:
1. Envolvimento ativo do usuário
o primeiro e mais importante princípio é o envolvimento do usuário. O usuário, as pessoas que usarão o produto final, deve estar envolvido ativamente durante todo o desenvolvimento do projeto.
Ajuda a reduzir os erros que podem ocorrer devido à percepção do usuário e, portanto, reduz também o custo do retrabalho.
O DSDM enfatiza o trabalho com um grupo pequeno e selecionado de usuários e mantém contato com eles continuamente, em vez de encontrá-los ocasionalmente em reuniões periódicas e sessões de revisão.
2. Equipes Capacitadas (com poderes)
Para proceder de forma rápida e sem problemas, este modelo incentiva e capacita as equipes a tomar decisões. Abaixo estão algumas áreas em que a tomada de decisões em equipe é muito crítica
-
Decisão de requisitos
-
Priorizando a entrega de atividades e recursos
-
Detalhes dos requisitos técnicos
-
Qual funcionalidade precisa adicionar em um determinado incremental
3. Entrega frequente
Já uma entrega frequente de valor ao cliente garante que os erros / bugs sejam identificados, trabalhados e resolvidos / revertidos / corrigidos em um estágio inicial. A fonte do erro e da causa raiz também é encontrada e corrigida.
Aplica-se a todos, documentos de requisitos (histórias de usuários), modelos de trabalho e códigos de programa.
4. Aptidão para negócios
No DSDM, nosso foco é fornecer software eficiente o suficiente para resolver uma necessidade de negócios e aceitar alterações ou aprimoramentos em uma iteração posterior. O DSDM se concentra em satisfazer primeiro as necessidades comerciais e não permite criar software ad-hoc. Mantém o fluxo do processo simples e eficaz.
5. Desenvolvimento incremental
Para manter o grande projeto simples e menos complicado, torna-se crucial decompô-lo em vários projetos de pequenos recursos. Cada entrega garante que um novo recurso seja entregue ao cliente.
Esse desenvolvimento e entrega incrementais continuam até a entrega do conjunto completo de recursos necessários aos negócios.
6. Alterações reversíveis
No DSDM, a iteração ocorre através de pequenos incrementos. Como todos os estágios de desenvolvimento são bem conhecidos pelos desenvolvedores, as alterações aqui são reversíveis. Portanto, o medo da perda total de trabalho também é muito menor.
7. Linha de base para os requisitos
Algumas linhas de base de alto nível precisam ser definidas para limitar o grau de liberdade para fazer alterações. Durante a fase do contrato comercial, a equipe de negócios e desenvolvimento discute e concorda com a linha de base quando os pedidos e requisitos de mudança seriam “congelados”.
8. Teste integrado
No DSDM, o teste é realizado logo no início da fase de desenvolvimento para garantir que o produto não tenha falhas técnicas. Os desenvolvedores e os líderes da equipe verificam até os documentos de teste. Ajuda na correção de problemas em um estágio muito inicial e reduz o retrabalho e, portanto, reduz o custo e o tempo.
9. Colaboração das partes interessadas
É crucial ter uma atmosfera de confiança e honestidade para obter requisitos precisos e feedback honesto sobre um produto resultante. No DSDM, a equipe de negócios e a colaboração do desenvolvedor são muito cruciais para agregar valor.
Requisitos de negócios claros e feedback honesto ajudam no desenvolvimento rápido, o que leva ainda mais à entrega oportuna do projeto.
Considerações adicionais
Prioridades: nenhum sistema é construído perfeitamente logo de início. Em geral, 80% do resultado final são oriundos de 20% dos requisitos, por esta razão o DSDM inicia pela implementação bem sucedida destes 20% críticos.
Desta forma pode produzir um sistema que ofereça funcionalidades suficientes para satisfazer usuários finais e os 80% restantes podem ser distribuídos nas demais iterações, além de reduzir o risco do projeto ultrapassar seus limites de prazo e orçamento.
Tripé de qualidade: a entrega do projeto deve ser feita a tempo, custo e de ser de boa qualidade.
Interseções: cada passo do desenvolvimento deve estar completo apenas o suficiente para que se inicie o próximo passo. Isto permite que a nova iteração seja iniciada sem atrasos desnecessários.
Maleabilidade: alterações no design podem coincidir com alterações na demanda de usuários finais, uma vez que cada iteração do sistema é aprimorada de forma incremental.
Gerenciamento: técnicas de Gerência de Projeto e Desenvolvimento de Sistemas são incorporadas.
Híbrido: DSDM pode ser aplicado tanto em novos projetos quanto em aprimoramento de sistemas já existentes.
Objetividade: a gerência de risco deve focar nas funcionalidades a serem entregues, não no processo de desenvolvimento e nem em artefatos (como requisitos e criação de documentos).
Foco na entrega: gerenciamento valoriza muito mais entrega do produto que tarefa cumprida.
Funcionalidade: estimativa deve se basear na funcionalidade de negócios em vez de em linhas de código.
Quatro valores do DSDM
Individual: como o Agile no DSDM também valoriza as pessoas. No final, essas são as pessoas que estão trabalhando fisicamente no projeto e conhecem melhor a parte prática. Sua experiência e conhecimento agregam mais valor ao projeto em comparação com ferramentas, documentos ou fluxos de processos.
Software de trabalho: É muito crucial que exista um entendimento compartilhado e uma definição padrão de “Software de trabalho” entre todas as partes interessadas no software.
Nota – O software de trabalho é o software que passou por todas as etapas de desenvolvimento e teste e está pronto para chegar ao mercado agora. Será a versão do software que será usada pelo usuário final
Colaboração: é um dos valores essenciais para uma entrega eficaz. É porque levar as pessoas em uma sala para tomar uma decisão será mais produtivo, menos demorado e eficiente do que compartilhar e-mails por semanas para tomar uma decisão. Aqui estão alguns exemplos de colaboração –
-
Equipe multifuncional;
-
Co-localização com o cliente;
-
Workshop de facilitação.
Resposta a mudanças: O DSDM aceita todas as modificações necessárias e as acomoda. Valoriza e responde a todas as mudanças de uma maneira muito inovadora, principalmente pela priorização .
Estrutura do projeto no DSDM
O fluxo do processo do projeto DSDM consiste em 7 fases, organizadas em um rico conjunto de funções e responsabilidades e suportadas por algumas técnicas principais. Abaixo está a parte da estrutura de um fluxo de processo do sistema DSDM.
-
Papéis e responsabilidades;
-
Organização e tamanho da equipe;
-
Ferramentas e técnicas;
-
Fase para governá-los / Fluxo do processo.
Papéis e responsabilidades
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:
Funções no nível do projeto
Geralmente consiste em
-
Gerente executivo: também chamado de “Campeão do Projeto”. Papel importante para usuários os quais possuem habilidades e responsabilidades em cumprir determinados prazos e recursos. Este papel é a ultima palavra na tomada de decisões.
-
Líder de time: lidera seu time e mantém a harmonia do projeto e trabalho em grupo.
-
Gerente de projeto: pode ser qualquer do grupo de usuários ou Gerencia de TI que gerenciará o projeto como um todo.
- Visionário: aquele que tem a responsabilidade de iniciar projeto certificando que os requisitos essenciais foram definidos. O visionário tem a percepção acurada dos objetivos de negócio do sistema e projeto. Outra tarefa é supervisionar e manter o desenvolvimento do processo “na linha”.
- Intermediador: usuário que traz o conhecimento de outras áreas para o projeto, certifica que os desenvolvedores receberam quantidade suficiente de feedback de usuários durante o processo de desenvolvimento.
- Anunciante: qualquer usuário que represente um importante ponto de vista e traga diariamente conhecimento ao projeto.
Sua responsabilidade é controlar o projeto como um todo. Eles não trabalharão no projeto, mas serão responsáveis por concluir o trabalho e manter os negócios atualizados sobre a situação atual. Eles agem como uma conexão entre a equipe de usuário e desenvolvimento. Geralmente, são pessoas de nível executivo e trabalham diretamente com os negócios. Eles também são chamados de embaixadores.
Funções de desenvolvimento da solução
As funções de desenvolvimento da solução geralmente consistem em
- Coordenador Técnico: responsável no desenho da arquitetura do Sistema e controle da qualidade técnica do projeto.
- Líder de time: lidera seu time e mantém a harmonia do projeto e trabalho em grupo.
- Desenvolvedor: interpreta o modelo e requisitos do sistema incluindo desenvolvimento de artefatos de código e construção de protótipos.
- Testador: Confere o funcionamento da parte técnica através da execução de algumas tarefas. O Testador deverá possuir alguns comentários e documentação.
- Escrivão: Responsável por recolher e armazenar requisitos, acordos e decisões tomadas entre todos os grupos de trabalho.
- Facilitador: Gerencia progresso dos grupos de trabalho, age como motor de preparação e comunicação.
- Papéis específicos: Arquiteto de negócios, Gestor de Qualidade, Integrador de Sistema, etc.
Eles funcionam como o “coração” do projeto. Eles são a principal força motriz, pois trabalham no marco zero e são responsáveis pelo desenvolvimento do produto / solução.
Funções de suporte
Consiste em papéis como
-
Treinador DSDM: Responsável por treinar os usuários na metodologia.
-
Facilitador do Workshop: Cria e facilita o treinamento.
Essas pessoas têm um bom conhecimento prático de todas as áreas de negócios. Eles ajudam e orientam todos os que trabalham nela continuamente durante todo o projeto até a entrega. Eles têm um bom entendimento da estrutura do DSDM, bem como do desenvolvimento.
Organização e tamanho da equipe
No DSDM, uma equipe de projeto pode consistir em um ou dois grupos, nos quais um grupo assume a responsabilidade de executar os testes na entrega de outro grupo.
De acordo com a pesquisa organizacional, o tamanho da equipe não deve ser inferior a cinco membros, excluindo especialistas externos. Especialistas externos são pessoas experientes no nível executivo que apoiam projetos externamente.
E se o projeto for grande e mais trabalho for entregue, será necessária uma estrutura de várias equipes.
Ferramentas e Técnicas
O foco principal do DSDM é que o produto seja entregue com frequência em cada iteração. Diferentes ferramentas, técnicas e práticas são usadas para apoiar todo o processo do DSDM.
Esses são:
-
O Timeboxing;
-
A priorização do MoSCow;
-
Workshops facilitadas;
-
Desenvolvimento iterativo;
-
Técnicas de modelagem e prototipagem.
Timeboxing
O timeboxing é uma das práticas essenciais mais cruciais. É semelhante ao que é um marco nos métodos tradicionais de desenvolvimento de software como um sprint no Scrum. Timeboxing é a quantidade de trabalho a ser realizado em um tempo determinado.
Utilizada no suporte aos objetivos principais para realização do desenvolvimento do sistema no prazo estimado, além de manter o custo e qualidade desejados. A principal ideia por trás do timeboxing é a divisão do projeto em porções, cada um com um orçamento e prazo estimados.
Para cada porção um número de requisitos são selecionados e priorizados de acordo com o princípio de MoSCoW. Devido ao tempo e custo serem fixos, as variáveis remanescentes são os requisitos. Desta forma se o prazo ou o custo está se esgotando requisitos de baixa prioridade são omitidos.
Isto não significa que o produto ficará inacabado ou será entregue pela metade, pois de acordo com o Princípio de Pareto, onde 80% do projeto vem de 20% dos requisitos do sistema, assim uma vez que os 20% dos requisitos mais importantes forem implementados no sistema será possível atender as necessidades do negócio além do que nenhum sistema é construído em sua total perfeição logo de início.
Um projeto de desenvolvimento de software terá várias caixas de horário e a cada caixa de tempo é atribuído um objetivo específico. O Timeboxing ajuda a atingir a meta a tempo. Geralmente, para um projeto, a duração de um período pode variar de duas semanas a um máximo de 6 semanas, mas não mais do que isso.
Benefícios da utilização do Time Boxing:
-
Concentre-se em entregar o produto no prazo.
-
As pessoas permanecem focadas conforme a prioridade e não se desviam, melhorando assim a produtividade.
-
Todos os membros sabem o que a outra pessoa está fazendo e quanto tempo levará para concluir essa atividade.
-
Diminui a dependência e a delegação de trabalho à medida que todos os membros estão ocupados e precisam fornecer resultados a tempo.
É como um hábito alimentar saudável: “Coma uma pequena porção de comida em pequenos intervalos”.
Vamos entender isso com a ajuda de um exemplo.
Todos nós amamos nossa vida estudantil e todos passamos por isso. Durante os exames, mesmo que haja um período suficiente de tempo entre as provas, sempre estudávamos nos últimos 1 ou 2 dias. E nossos pais costumavam nos dizer para estudar sempre um pouco todos os dias. A abordagem correta teria sido:
-
Faça uma programação;
-
Divida seu plano de estudos em pequenas porções;
-
Priorize-os;
-
Atribuir cronogramas a todas as partes;
-
Terminar parte no tempo atribuído.
Essa abordagem sistemática para concluir o trabalho atribuído no tempo comprometido é chamada de Timeboxing .
Workshops Facilitados
Uma das técnicas do DSDM que objetiva e permite que diferentes envolvidos discutam juntos requisitos, funcionalidades e entendimento mútuo. Num grupo de trabalho os envolvidos se unem a discutir apenas sobre o projeto.
As oficinas facilitadas significa oferecer uma oficina em que os membros da equipe e os desenvolvedores possam trabalhar em um claro conjunto predefinido de resultados. Para ter acesso a este workshop, eles coordenam uma pessoa neutra chamada facilitador do workshop . O facilitador orientará a equipe através de um processo para atingir seus objetivos, habilmente. Esse processo que o facilitador guia através de
-
Definindo o objetivo,
-
Identificando participantes apropriados,
-
Criando uma agenda,
-
Gerenciando a logística e
-
Distribuir qualquer pré-leitura aos participantes.
O motivo por trás de um workshop é incentivar o trabalho colaborativo e permitir decisões da equipe em um curto espaço de tempo. Também permite o compartilhamento de conhecimento.
É como uma sala de aula, você pode discutir apenas um tópico de um assunto específico em um momento específico, e o objetivo dessa discussão será focado, ou seja, para fazer a sala de aula entender esse tópico em particular.
Os benefícios de ter um workshop incluem:
-
Forneça um ambiente ideal para explorar novas ideias e incentive o crescimento rápido e sistemático dessas ideias.
-
Uma gama mais ampla de partes interessadas pode tomar decisões.
-
Todo mundo está ciente de discussões e decisões.
-
A tomada de decisão é rápida e precisa.
Modelagem
Esta técnica é essencial e propositalmente utilizada para visualizar uma representação gráfica de aspectos específicos do sistema ou área de negócio que será trabalhado. Modelagem permite um melhor entendimento para o time do projeto do DSDM que está fora do domínio do negócio.
Prototipagem
Se refere à criação de protótipos do sistema em desenvolvimento em estágios iniciais do projeto. Isto permite descobrir rapidamente falhas no sistema e permitir um ‘test-drive’ aos usuários do sistema, o que vem a ser uma ótima maneira de se realizar o envolvimento do usuário, um dos fatores chave do DSDM.
Testes
Um terceiro aspecto importante do DSDM é a criação de um sistema de boa qualidade. Para alcançar este quesito, DSDM aplica testes ao longo de cada iteração. Considerando que o DSDM é um método e ferramenta independente, o time de projeto é livre para escolher por conta própria o Método de gerenciamento de teste.
Priorização MoSCoW
MoSCoW Representa a forma de priorização de itens. No contexto do DSDM o método MoSCoW é utilizado para priorizar requisitos.
Além disso é uma técnica simples de priorização, que ajuda a entender e priorizar as tarefas a serem executadas, as letras aqui representam:
-
Must-Have: Os requisitos que são fundamentais e devem estar em conformidade com a solução.
-
Deveria ter: O que é importante para a solução de negócios.
-
Poderia ter: Os requisitos que são importantes, mas que podem ser facilmente deixados de lado por um curto período de tempo.
-
Não terá: os requisitos que podem esperar e incluir no desenvolvimento posterior.
A priorização do MoSCoW é essencial porque nem sempre há tempo suficiente para fazer tudo, e as coisas vitais não devem ser deixadas para trás.
Os benefícios do MoSCoW são:
-
Ele permite que as expectativas dos negócios sejam definidas no nível do projeto.
-
Garante que a equipe entregue primeiro os itens indispensáveis
-
Garante que eles entreguem a maioria ou todos os Dever Haves
-
Se o tempo permitir, os desenvolvedores também podem fornecer alguns dos Haves que poderiam.
Você deseja comprar um carro grande com os seguintes recursos:
-
Carros de sete lugares – Para acomodar um número máximo de amigos para um passeio nos fins de semana.
-
O carro deve ter um motor de 2000 cc, pois é essencial ter motores potentes para off-road e viagens rodoviárias.
-
O carro deve ter espaço de inicialização funcional
-
Sistema de navegação
-
Boa quilometragem
-
Sua cor favorita é amarela, então você quer comprar um carro de cor amarela.
-
Você também pode querer ter um teto solar para aproveitar o clima
-
Você prefere ter conectividade Bluetooth para o seu iPod e outros dispositivos.
-
Você também pode preferir ter uma cadeira de criança.
Vamos definir a priorização no caso acima, conforme MoSCoW:
-
Deve ter
-
Carro de sete lugares para off-road e viagens
-
-
Deveria
-
Motor de 2000cc
-
Boa quilometragem
-
Sistema de navegação
-
Bom espaço de inicialização
-
-
Poderia ter
-
Carro cor amarela
-
Teto solar
-
-
Não terá
-
Bluetooth
-
Cadeira de criança.
-
Fluxo de processo
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 estão todas as fases e estágios de um fluxo de processo no DSDM
Fase 1 – O Pré-Projeto
No pré-projeto são identificados os projetos candidatos, aqui é realizada a conceituação do projeto, 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. E aqui garantimos que todos os envolvidos no projeto estejam cientes dos objetivos e decidimos iniciá-lo.
Fase 2 – O Ciclo de Vida
Análise de viabilidade e negócios são fases sequenciais que se completam entre si. Após a conclusão destas fases, o sistema é desenvolvido iterativamente e incrementalmente segundo as iterações do Modelo Funcional, desenho e construção, até à implementação. A iteração e natureza incremental do DSDM serão citadas mais a frente.
Na fase de viabilidade, ocorre a análise dos aspectos técnicos, financeiros e da força de trabalho. Aqui, as restrições de entrega do projeto são calculadas quanto ao tempo e recursos. Essa fase é crítica, pois as decisões mais importantes estão sendo tomadas nessa fase, incluindo o cancelamento do projeto.
Fase de estudo de negócios – Explorando o aspecto comercial do projeto . Nesta etapa, a identificação dos aspectos comerciais do projeto ocorre. As perguntas a seguir são discutidas e respondidas nesta fase
-
Quem serão os participantes?
-
O projeto fará sentido do ponto de vista comercial?
-
Será rentável?
-
Qual será o melhor plano de trabalho?
-
Quais recursos são necessários durante o ciclo de desenvolvimento?
-
Quais ferramentas e tecnologias serão necessárias para a construção e implantação?
Fase 3 – 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.
Os 4 estágios do ciclo de vida do projeto no DSDM
Estágio 1 A: Análise de Viabilidade
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 Workshops facilitados (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.
Iteração do Modelo Funcional
Todas as fases funcionais discutidas nos estágios anteriores, todos os requisitos técnicos são decididos e priorizados. Um protótipo funcional é criado neste estágio, em que um modelo de um requisito após o outro é construído de forma incremental. Esse protótipo funcional, em seguida, verificou a qualidade e o escopo da melhoria por especialistas técnicos e, às vezes, pelos usuários finais.
Abaixo estão os passos que a prototipagem seguirá
-
Investigar: Com base na priorização feita no estágio anterior, neste estágio, identificaremos as principais funcionalidades necessárias.
-
Aceitar plano e cronograma: depois que a equipe decidir os recursos finais,
-
gerente de projeto identificará os membros da equipe.
-
Os membros da equipe recebem as tarefas atribuídas.
-
Os cronogramas também serão anexados aqui.
-
-
Criar: o desenvolvedor criará o protótipo / modelo com base nos requisitos funcionais, testará e melhorará ainda mais (se necessário)
-
Revisão: O usuário testa no final e discute as funcionalidades. As áreas de melhoria são discutidas com base no feedback do usuário .
Análise de negócio
Oriundo da Análise de Viabilidade. Após o projeto ser deferido viável para o uso do DSDM, este estágio examina a influência dos processos do negócio, usuários envolvidos e seus respectivos desejos e necessidades.
Novamente os Grupos de Trabalho são uma das mais valiosas técnicas, Grupos de Trabalho juntam diferentes envolvidos para discutir o propósito do sistema. A informação gerada nestas sessões é combinada com a lista de requisitos. Uma propriedade importante da lista de requisitos é o fato dos requisitos estarem (ou poderem) ser priorizados.
Geralmente este requisitos são priorizados segundo o método de MoSCoW. Baseados nestas prioridades, o plano de desenvolvimento é construído como base para o resto do projeto.
Uma técnica importante utilizada no desenvolvimento do plano é a Timeboxing. Esta técnica é essencial para alcançar os objetivos do DSDM, baseados e custo e prazo, garantindo a qualidade desejada. A Arquitetura do Sistema é outro documento fundamental no auxilio do sistema.
Os artefatos para este estágio são definições que relatam o contexto do projeto dentro da companhia. A Arquitetura do Sistema, fornece a arquitetura global inicial do Sistema em desenvolvimento junto com um plano de desenvolvimento que destaca os pontos mais importantes num processo de desenvolvimento.
Na base destes 2 documentos encontra-se a lista de priorização de requisitos. O que define todos os requisitos do sistemas. E por último, o controle de Risco é atualizado com os fatos que forem identificados durante esta fase do DSDM.
Abaixo estão os passos que a prototipagem seguirá
-
Investigar: Com base na priorização feita no estágio anterior, neste estágio, identificaremos as principais funcionalidades necessárias.
-
Aceitar plano e cronograma: depois que a equipe decidir os recursos finais,
-
O gerente de projeto identificará os membros da equipe.
-
Os membros da equipe recebem as tarefas atribuídas.
-
Os cronogramas também serão anexados aqui.
-
-
Criar: o desenvolvedor criará o protótipo / modelo com base nos requisitos funcionais, testará e melhorará ainda mais (se necessário)
-
Revisão: O usuário testa no final e discute as funcionalidades. As áreas de melhoria são discutidas com base no feedback do usuário .
Estágio 2: Iteração do Modelo Funcional
Os requisitos identificados nos estágios anteriores serão convertidos em modelos funcionais. Este modelo consiste tanto do funcionamento do protótipo quanto do modelo. Prototipar é uma saída para técnicas de projeto em que neste estágio auxilia num verdadeiro envolvimento do usuário no projeto.
O protótipo desenvolvido é revisado por diferentes grupos. De forma a garantir qualidade, os testes são efetuados ao longo de cada iteração. Uma parte importante do teste é realizada na Iteração do Modelo Funcional.
O Modelo Funcional pode ser dividido em 4 sub-estágios:
-
Identificação do protótipo funcional: determina funcionalidades a serem implementadas resultantes desta iteração.
-
Agenda: concilia como e quando serão feitas estas funcionalidades.
-
Criação do protótipo funcional: desenvolver o protótipo. Investigar, refinar e consolidar com os protótipos funcionais das iterações anteriores.
-
Revisão do protótipo: efetuar correções no desenvolvimento do projeto. Isto pode ser feito através de testes de usuários, através destas evidências e feedbacks dos usuários é gerado o documento de revisão do Protótipo.
Os artefatos desta etapa são Modelo Funcional e Protótipo Funcional os quais juntos representam as funcionalidades que serão trabalhadas nesta iteração, prontas para serem testadas por usuários. Depois disso, a lista de requisitos é atualizada, removendo-se os itens entregues e refazendo a lista de prioridades dos requisitos remanescentes. Além disso o Log de Riscos também é atualizado por uma análise de riscos do conteúdo desenvolvido após a revisão do documento da prototipação.
Estágio 3: iteração de desenho e construção
O maior intuito desta Iteração do DSDM é integrar os componentes funcionais de fases anteriores em um sistema que satisfaça as necessidades do usuário. Ele também controla os requisitos não funcionais que foram definidos para o Sistema. Novamente Testes vem a ser uma atividade fundamental no andamento deste estágio. A iteração de Desenho e Construção também pode ser dividida em 4 sub-estágios:
-
Definir desenho do protótipo: Identificar requisitos funcionais e não funcionais que precisam ser testados no sistema.
-
Agenda: Definir quando e como serão realizados estes requisitos.
-
Criação do desenho do protótipo: criar um sistema que possa ser seguramente manipulado por um usuário no uso diário. Investigar, refinar e consolidar o protótipo da iteração atual dentro do processo de prototipação é um ponto essencial.
-
Revisar o protótipo desenhado: efetuar ajustes no desenho do sistema, novamente testando e revisando com as principais técnicas já utilizadas, uma vez que os feedbacks dos usuários e as evidências de teste são necessárias para geração da documentação do usuário.
Os artefatos a serem entregues neste estágio são Desenho do Protótipo que os usuários testaram e ao final desta Iteração o sistema testado é transferido para a próxima fase. Neste estágio, o sistema é construído exatamente de acordo com o desenho e funções consolidadas e integradas no protótipo. Outro artefato desta iteração é a Documentação de Usuário.
Fase de Design e Construção – um produto projetado e implementado em iterações – Aqui nesta etapa
-
-
Inicia o desenvolvimento de software
-
Os produtos serão criados e implantados em pequenas iterações.
-
Em cada iteração
-
-
Decida qual funcionalidade será entregue primeiro com base na prioridade
-
Projete essa funcionalidade
-
Codificando
-
Em seguida, implante a funcionalidade
-
O processo acima entra em um ciclo para cada iteração e uma funcionalidade é entregue no final de cada iteração.
Estágio 4: implantação
Na fase de Implantação, o sistema testado e mais a documentação de usuário é entregue aos usuários e treinos à estes futuros usuários são aplicados. O sistema para ser entregue deve ter seus requisitos revisados de acordo com o que foi definido nas etapas iniciais do projeto. O estágio de implantação é dividido em 4 sub-estágios:
-
Orientações e aprovação do usuário: usuários aprovam o sistema testado e algumas orientações de uso e implantação do sistema são definidas.
-
Treinamento: treinamento de futuros usuários no uso do sistema.
-
Implantação: implantar propriamente o sistema concluído na localidade dos usuários.
-
Revisão de Negócios: rever o impacto que o sistema implantado causa sobre o negócio, pode-se utilizar o cruzamento dos objetivos iniciais com a análise atual como termômetro. Dependendo do resultado o projeto passa para o próximo estágio ou reinicia este estágio a fim de refinar e melhorar os resultados. Esta revisão será documentada através do DOCUMENTO DE REVISÃO DO PROJETO.
Os artefatos deste estágio consistem em Entrega do Sistema no Local, pronto para utilização dos usuários finais, Treinamento de usuários e Documento de Revisão do Projeto do sistema entregue.
Fase de implementação – A segunda última fase do processo do ciclo de vida é a implantação. No estágio anterior, fizemos a implantação em pequenas iterações, mas aqui o produto como um todo ficará operacional. Após essa etapa, o produto estará pronto para ser lançado no mercado.
Nesta fase
-
-
O produto estará em sua fase final
-
Toda a documentação é finalizada
-
Comentários terminaram
-
Os usuários serão treinados para usar o produto, e está tudo pronto para chegar ao mercado
-
O processo de implementação ou implantação possui vários estágios.
-
-
Montagem : monte todas as aprovações e diretrizes relacionadas aos projetos.
-
Revisão : avalie e revise se a qualidade fornecida é de acordo com a qualidade documentada predefinida, finalizada com os negócios na fase de iteração funcional do processo de desenvolvimento.
-
Implantar : coloque o produto em uso operacional (mercado) após treinar os usuários no produto e fazer a configuração necessária, etc.
-
Atividade |
Sub Atividade |
Descrição |
Análise |
Análise de Viabilidade |
Estágio onde a utilização do DSDM é avaliada. Analisando o tipo de projeto, problemas organizacionais e de pessoas, é tomada a decisão de se utilizar ou não o DSDM. Por esta razão são gerados artefatos de RELATÓRIO DE VIABILIDADE, PROTÓTIPO DE VIABILIDADE, e um PLANO DE DETALHAMENTO GLOBAL que inclui o PLANO DE DESENVOLVIMENTO e CONTROLE DE RISCO. |
Análise de Negócio |
Onde são analisadas características essenciais do negócio e tecnologias a serem empregadas. Capacidade de se montar grupos de trabalho, onde existam clientes experts suficientes para fornecer maiores peculiaridades do sistema e concordarem com as prioridades de desenvolvimento. |
|
Iteração do Modelo Funcional |
Identificar o Protótipo Funcional |
Determinar as funcionalidades que serão implementadas é o resultado desta iteração. Neste sub-estágio, um MODELO FUNCIONAL é desenvolvido de acordo com o resultado com o artefato resultante do estágio de Análise do negócio. |
Agenda |
Definir quando e como as funcionalidades serão implantadas. |
|
Criação do Protótipo Funcional |
Desenvolver um PROTÓTIPO FUNCIONAL, de acordo com a Agenda e o MODELO FUNCIONAL. |
|
Revisão do Protótipo Funcional |
Efetuar correções do protótipo desenvolvido. Isto pode ser feito através de testes dos usuários finais ou por análise da documentação. O artefato gerado aqui é o DOCUMENTO DE REVISÃO DO PROTÓTIPO FUNCIONAL. |
|
Iteração de Desenho e Construção |
Identificar o modelo do Desenho |
Identificar requisitos funcionais e não-funcionais que devem estar no sistema testado. Baseado nestas identificações, uma ESTRATÉGIA DE IMPLANTAÇÃO é gerada e caso haja EVIDÊNCIAS DE TESTE de iterações anteriores, estas serão utilizadas para criação desta estratégia. |
Agenda |
Como e quando serão realizados estes requisitos. |
|
Criação do Protótipo do Desenho |
Criar um sistema (PROTÓTIPO) que pode tranquilamente ser manipulado pelos usuários finais no uso diário, também para razões de teste. |
|
Revisão do Protótipo |
Efetuar correções no sistema desenhado. Novamente testando e revisando através das técnicas mais utilizadas. Uma DOCUMENTAÇÃO PARA USUÁRIO e EVIDÊNCIA DE TESTE serão gerados. |
|
Implantação |
Orientações e Aprovação do usuário |
Usuários finais aprovam o sistema testado (APPROVAL) pela implantação e orientação fornecida pelo respectivo sistema criado. |
Treinamento |
Treinar futuros usuários finais no uso do sistema. USUÁRIOS TREINADOS é o artefato entregue neste sub-estágio. |
|
Implantação |
Implantar o sistema testado e liberar aos usuários finais, chamado SISTEMA ENTREGUE. |
|
Revisão de Negócio |
Rever o impacto que o sistema implantado causa sobre o negócio, pode-se utilizar o cruzamento dos objetivos iniciais com a análise atual como termômetro. Dependendo do resultado o projeto passa para o próximo estágio ou reinicia este estágio a fim de refinar e melhorar os resultados. Esta revisão será documentada através do DOCUMENTO DE REVISÃO DO PROJETO. |
Fase 3 – Pós-projeto
Na última fase, após a entrega do produto ao cliente, será necessária manutenção. A manutenção geralmente é feita periodicamente de maneira cíclica.
Para uma melhor compreensão dessas fases de desenvolvimento, vamos considerar um exemplo
Todo o procedimento de admissão é explicado com a ajuda dessas fases sempre que você escolhe uma escola infantil para seu bebê.
-
Como pais, a primeira decisão que precisamos tomar é que é um bom momento para enviar uma criança para a escola. Esta decisão, se a educação para a criança for iniciada ou não, pode ser referida como a fase Pré-projeto. Em seguida, verificaremos mais alguns fatores, como:
-
Lista de escolas de educação infantil perto de sua casa nas quais as admissões estão acontecendo
-
Taxas e valores.
Com base nessas informações, decidiremos ainda mais se devemos continuar com a admissão de uma criança ou não.
-
Em seguida, faremos uma lista de verificação, importante ao selecionar uma escola
-
Pessoal docente;
-
A infraestrutura;
-
Segurança;
-
Creche;
Na linguagem de desenvolvimento de software, eles são chamados de estudo dos aspectos comerciais.
-
Nos estágios anteriores – você decidiu fatores de alto nível; agora você vai mergulhar nele e coletar informações mais detalhadas para finalizar a escolha da escola
-
Pessoal docente
-
Deve ser bem qualificado
-
A proporção de Alunos e Professores não deve exceder 1:10
-
-
A infraestrutura
-
A instalação de transporte está disponível?
-
Higiene de banheiros, salas de jogos devem ser bem mantidas?
-
-
Segurança
-
CCTV instalado?
-
A equipe passou pelo processo de verificação de antecedentes?
-
-
Creche
-
Instalação de refeitório
-
Horários da creche
-
Isso é chamado de iteração de modelo funcional. Aqui você coletará todos os artefatos
-
Baseando-se em todas essas informações, você selecionará a escola e começará a enviar seu filho para teste por uma hora na primeira semana e aumentará o tempo a cada semana que passa. Essa implantação em fases é conhecida como fase Design e Build em termos de desenvolvimento de software.
-
Depois de um mês, considerando que a criança começou a passar uma quantidade considerável de tempo na escola e parece feliz, finalmente decidiremos deixá-lo ir em período integral. Essa fase de ficar totalmente operacional é chamada de Implementação no mundo do desenvolvimento de software.
-
Continuamos recebendo feedback diário da criança, observamos todos os sintomas de abstinência, verificamos sua curva de aprendizado com base na qual decidimos se devemos continuar com a mesma escola no próximo ano ou não. É a fase pós-projeto .
Com a abordagem DSDM , você terá qualquer projeto mais rápido “em funcionamento” e entregue mais cedo aos negócios com um esforço de implementação mais enxuto.
Fatores críticos de sucesso do DSDM
No DSDM uma série de fatores são identificados como sendo de grande importância para garantir o sucesso do projeto.
- Fator 1: Inicialmente há a aceitação do DSDM pelo gerente Sênior e outros colaboradores. Isto garante que diferentes atores do projeto sejam motivados pelo início e demais envolvidos no projeto.
- Fator 2: O segundo fator segue diretamente daqui e é o que a gerência de empenho garante como envolvimento do usuário final. A prototipagem requer um forte e dedicado envolvimento do usuário em testar e avalizar os protótipos funcionais.
- Fator 3: Aqui se encontra o time do projeto. Este time deve ser composto por membros capacitados, um ponto importante é o empenho deste time. Significa que o time (um ou mais membros) possuem poder e permissões de tomar decisões importantes com relação ao projeto sem a necessidade de se formalizar propostas à alta gerência, o que seria um grande consumidor de tempo. De forma ao time estar apto a concluir um projeto com sucesso, é necessário também a escolha adequada da tecnologia. O que se refere ao ambiente de desenvolvimento, ferramentas de gerenciamento de projeto, etc.
- Fator 4: Finalmente o DSDM define um relacionamento de suporte necessário entre o cliente e fornecedor. Isto vale para projetos que estão sendo realizados dentro da empresa ou por fornecedores. O documento que relata este suporte de relacionamento vem a ser o ISPL.
Comparação com outros tipos de desenvolvimento de software
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.