O que é o DSDM?
O método de desenvolvimento de sistemas dinâmicos (DSDM) é uma estrutura ágil de entrega de projetos que surgiu pela primeira vez em 1994 e que, nessa altura, era utilizada para o desenvolvimento de software. Pretendia ser uma melhoria em relação ao Desenvolvimento Rápido de Aplicações (RAD), que dava prioridade à prototipagem rápida e à iteração com base no feedback dos utilizadores. Tal como acontece com muitos métodos ágeis de entrega de projetos, a Estrutura Ágil de Projetos DSDM acabou por passar de uma solução específica para software a uma ferramenta de gestão de projetos mais geral.

Os elementos do Método de Desenvolvimento de Sistemas Dinâmicos incluem:
- Distingue-se de outros métodos pela dependência de bases sólidas e de uma governação forte
- Abordagem incremental e iterativa do progresso
- O feedback do utilizador ou do cliente é fundamental para as melhorias contínuas
- Baseia-se em restrições rigorosas de custos, qualidade e tempo
- Define a prioridade do âmbito como Obrigatório, Deve ter, Pode ter ou Não terá
Para além da própria prática, o DSDM também deu origem à criação do Consórcio DSDM em 1994. Engenheiros de software e outros especialistas uniram-se para desenvolver e melhorar a estrutura como uma alternativa válida às mais comuns Metodologias de Desenvolvimento Rápido de Aplicações. Na altura, o grupo incluía representantes de empresas como a British Airways, a American Express, a Oracle, a Logica, a Data Sciences e a Allied Domecq. O grupo tem agora uma nova marca e é atualmente conhecido como o Consórcio Agile Business.
O Manual DSDM passou a estar disponível gratuitamente para consulta e utilização online em 2014.
Have an account? Log In
DSDM vs RAD vs Ágil
A metodologia RAD foi extremamente popular no início da década de 1990 como metodologia de desenvolvimento de sistemas para o desenvolvimento de software e outros projetos de TI. Durante este período, ocorreu uma transição da experiência de utilizador (UX) tradicional de “ecrã verde” para as interfaces gráficas de utilizador que atualmente se tornaram sinónimo de toda a tecnologia. Esta mudança significou que o ciclo de desenvolvimento também podia mudar, utilizando este novo tipo de interface visual para comunicação, prototipagem rápida e iteração.
A metodologia RAD era um sistema ágil de desenvolvimento de sistemas algo caótico. Não tinha uma abordagem ou definição única e consensual. O DSDM Ágil era uma abordagem mais estruturada a este tipo de modelo de desenvolvimento de software. O método de desenvolvimento de sistemas dinâmicos estava extremamente focado nos orçamentos de tempo e custos através de uma priorização rigorosa do âmbito. Também dá prioridade à comunicação (e à ação resultante) entre todas as partes interessadas.
O DSDM não é apenas rigoroso relativamente aos prazos e ao orçamento; também tende a ter uma ordem de eventos definida: fase de pré-projeto, fase do ciclo de vida do projeto e fase pós-projeto. Os métodos de desenvolvimento de software RAD baseiam-se mais num trabalho livre, permitindo que a criatividade e a independência prevaleçam, mesmo à custa do esgotamento dos recursos.
Scrum vs DSDM
O Scrum e o DSDM partilham muitas semelhanças, mas também têm algumas diferenças importantes. Algumas baseiam-se apenas na terminologia; por exemplo, o DSDM divide o trabalho em “atividade de engenharia” (também conhecida como fase de desenvolvimento) e “solução emergente” (também conhecida como resultado). No Scrum, por outro lado, o resultado é conhecido como “incremento potencialmente disponibilizável”.
Ambos os métodos têm listas de subtarefas que são concluídas com base no cumprimento de prazos apertados. Ambas as metodologias também avançam rumo a um projeto concluído, o que o Scrum assinala quando o projeto atinge a “Definição de Concluído”. No entanto, não existe um momento específico do projeto em que esta “Definição de Concluído” seja acordada. Esta é uma diferença fundamental entre o Scrum e o DSDM.
No DSDM, existe uma fase definida em que a definição do trabalho (e do trabalho concluído) é acordada: a Fase de Fundação do projeto. Isto acontece relativamente cedo, o que pode, por vezes, significar que pressupostos ainda não fundamentados influenciam o processo de planeamento. Para compensar esta situação, a definição de trabalho “concluído” deve ser revista periodicamente ao longo do ciclo de vida do projeto. Outro ponto sensível é o facto de os líderes de equipa deverem evitar a Conceção Abrangente Inicial (BDUF), que é mais uma característica das Metodologias em Cascata e não do Ágil.
Princípios do DSDM
Os princípios ágeis do DSDM são a força orientadora por detrás de todos os projetos. Existem 8 princípios no total.
- Focar-se na necessidade do negócio
- Entregar atempadamente
- Colaborar
- Nunca comprometer a qualidade
- Construir incrementalmente a partir de bases sólidas
- Desenvolver iterativamente
- Comunicar de forma contínua e clara
- Demonstrar controlo
Técnicas e práticas do DSDM
O que distingue o DSDM de outros métodos de desenvolvimento de sistemas são as seguintes técnicas e práticas.
Gestão por períodos fixos: o DSDM adere a prazos rigorosos. Para tal, é necessário dividir o projeto na sua totalidade em itens mais pequenos, cada um com um orçamento e um prazo definidos. Para gerir este processo, os requisitos são priorizados. Se o tempo ou o dinheiro estiverem a esgotar-se, os requisitos de menor prioridade são eliminados. Assim, um projeto concluído resulta apenas dos itens de requisitos mais essenciais.
MoSCoW: estes são os grupos de priorização utilizados para ordenar os itens, do nível de importância mais elevado ao mais baixo. Os grupos de priorização são: Tem de ter, Deve ter, Pode ter e Não terá. A gestão da configuração ajuda a gerir todos estes resultados concorrentes, que são frequentemente desenvolvidos em simultâneo.
Modelação e desenvolvimento iterativo: a modelação ajuda a visualizar diferentes aspetos do projeto ao longo do processo. Isto ajuda a apresentar cada item em desenvolvimento e permite um desenvolvimento iterativo através do fornecimento regular de comentários e da implementação de melhorias.
Prototipagem: tal como acontece com muitas metodologias ágeis, a prototipagem é essencial para testar o projeto numa fase inicial e conceptual. É uma forma de delinear as funções básicas, descobrir fragilidades evidentes e permitir que os utilizadores testem o software.
Oficinas de trabalho: os utilizadores e as partes interessadas reúnem-se para discutir requisitos, problemas, resultados e testes. O DSDM baseia-se em elevados níveis de interação com os utilizadores desde o início. Os testes são extremamente importantes para o DSDM, uma vez que garantem resultados de elevada qualidade.
More Articles
Funções do DSDM
Qualquer desenvolvimento ágil de sistemas terá uma lista de funções que devem ser preenchidas. O DSDM não é exceção. De acordo com o respetivo manual, estas são as funções essenciais em qualquer ambiente DSDM.
1. Patrocinador executivo (o “responsável pelo projeto”) - a organização utilizadora e/ou o cliente disponibilizará alguém para esta função. Esta pessoa também pode atribuir fundos e recursos, conforme necessário. Tem a “palavra final” no que diz respeito à tomada de decisões.
2. Visionário - munido de objetivos concretos e de uma compreensão do negócio do utilizador, o Visionário inicia o projeto ao identificar desde cedo os requisitos de maior prioridade e ao orientar a equipa com base neles.
3. Utilizador embaixador - um “utilizador de teste” ideal que traz para o projeto a perspetiva da comunidade de utilizadores. Torna-se uma fonte essencial de comentários ao longo de todo o processo.
4. Utilizador consultor - outro tipo de utilizador que deve trazer perspetivas essenciais para o projeto em questão. Pode ter conhecimentos específicos ou outra experiência que o torne o candidato ideal.
5. Gestor de projeto - um gestor de projeto é qualquer pessoa que faça a gestão geral do projeto.
6. Coordenador técnico - esta pessoa conceberá a arquitetura do sistema e será responsável pelo controlo de qualidade de todos os elementos técnicos.
7. Líder da equipa - o líder da equipa é responsável pela coordenação e por facilitar a colaboração.
8. Programador da solução - gere quaisquer requisitos do sistema, modela o sistema, desenvolve o código a entregar e cria protótipos.
9. Testador da solução - testa o produto e fornece comentários e documentação quando surgem erros. Também volta a realizar os testes depois de serem implementadas correções.
10. Relator - regista os requisitos, acordos, decisões e quaisquer outras informações úteis para o progresso do projeto.
11. Facilitador - esta pessoa é responsável por motivar e preparar a oficina de trabalho, de modo a manter um progresso consistente e estável. Deve ser um excelente comunicador, mantendo todos no caminho certo.
12. Funções especializadas - são funções desempenhadas por especialistas na sua área ou setor, que fornecem apoio adicional consoante as necessidades do projeto. Podem variar de projeto para projeto e de equipa para equipa. Estas funções podem incluir Arquiteto de negócio, Gestor de qualidade, Integrador de sistemas, entre outras.
Sugestões de gestão de projetos DSDM
Estas sugestões podem ajudar a tirar o máximo partido do seu projeto DSDM, embora todos os sistemas Ágeis também possam beneficiar da aplicação de parte destes conhecimentos.
1. A gestão sénior e todos os colaboradores devem compreender e apoiar a metodologia escolhida para um projeto.
2. A equipa responsável pelo projeto deve comprometer-se com os testes realizados pelos utilizadores, os comentários e o envolvimento ao longo de todo o processo — desde a conceção até ao lançamento.
3. Deve existir uma equipa central de projeto estável e com autonomia. Os membros da equipa devem ter poder de decisão para garantir que o processo não fica preso em procedimentos de proposta e aprovação desnecessariamente complexos. A equipa deve também dispor de tudo o que necessita para funcionar, como a tecnologia adequada, um ambiente de desenvolvimento saudável, ferramentas de gestão de projetos, entre outros.
4. Deve existir uma relação de apoio e proativa entre o cliente e o fornecedor, quer os projetos sejam desenvolvidos internamente ou contratados externamente.
5. A equipa deve demonstrar destemor quando se trata de estabelecer honestamente prioridades para as necessidades do projeto e de eliminar itens de baixa prioridade conforme necessário. É assim que as coisas se mantêm dentro do prazo e do orçamento.



