Exemplo de DSM com Loop — Erro de Planejamento¶
Exemplo didático: Este material mostra um caso de dependência circular no planejamento. O objetivo é ajudar a turma a identificar quando o grafo revela um erro de ordem de implementação.
⬇️ Baixar / Copiar Código Fonte do Exemplo
1. Visão Geral¶
| Campo | Descrição |
|---|---|
| Nome do Produto | RedePesca |
| Equipe | Grupo 02 |
| Domínio analisado | Fluxo inicial de pedidos e acompanhamento |
| Objetivo da análise | Mostrar como loops no grafo indicam erro de planejamento |
| Data | 06/04/2026 |
2. Elementos do Sistema¶
| ID | Elemento | Tipo | Descrição |
|---|---|---|---|
| E1 | Cadastro de usuário | Funcionalidade | Criação de conta |
| E2 | Login | Funcionalidade | Acesso à plataforma |
| E3 | Painel principal | Interface | Tela inicial do usuário |
| E4 | Registro de pedido | Funcionalidade | Cadastro de novo pedido |
| E5 | Listagem de pedidos | Funcionalidade | Exibição dos pedidos |
| E6 | Atualização de status | Funcionalidade | Alteração do estado do pedido |
3. Matriz DSM¶
Neste exemplo, a matriz já mostra um problema: alguns elementos passam a depender circularmente uns dos outros.
| Elemento \ Depende de | E1 | E2 | E3 | E4 | E5 | E6 |
|---|---|---|---|---|---|---|
| E1 Cadastro | ||||||
| E2 Login | X | |||||
| E3 Painel | X | X | ||||
| E4 Registro de pedido | X | X | ||||
| E5 Listagem de pedidos | X | X | ||||
| E6 Atualização status | X | X |
4. Grafo de Dependências com Loop¶
Neste caso, o grafo mostra uma dependência circular entre partes do sistema.
graph TD
A[Cadastro] --> B[Login]
B --> C[Painel Principal]
C --> D[Registro de Pedido]
D --> E[Listagem de Pedidos]
E --> F[Atualizacao de Status]
F --> D
Leitura do grafo¶
Logindepende deCadastroPainel Principaldepende deLoginRegistro de Pedidodepende doPainel PrincipalListagem de Pedidosdepende doRegistro de PedidoAtualização de Statusdepende daListagem de Pedidos- o problema aparece quando
Atualização de Statuspassa a depender novamente deRegistro de Pedido, fechando um ciclo
5. Onde Está o Erro¶
Loop identificado¶
O loop acontece neste trecho:
- registro de pedido
- listagem de pedidos
- atualização de status
- volta para registro de pedido
Isso significa que a equipe montou um planejamento em que uma tarefa depende de outra, que por sua vez volta a depender da primeira.
Por que isso é um erro de planejamento¶
Esse tipo de loop gera problemas como:
- nenhuma das tasks consegue ser iniciada com clareza
- a equipe perde noção da ordem correta de implementação
- surgem bloqueios artificiais
- o backlog fica confuso e difícil de priorizar
Em outras palavras, o grafo mostra que a equipe desenhou um fluxo impossível ou mal sequenciado.
6. Como Corrigir¶
Ajuste conceitual¶
A atualização de status não deveria liberar ou redefinir o registro inicial do pedido. Ela deve acontecer depois que o pedido já existe e pode ser visualizado.
Ordem corrigida¶
Uma ordem mais coerente seria:
- cadastro
- login
- painel principal
- registro de pedido
- listagem de pedidos
- atualização de status
Grafo corrigido¶
graph TD
A[Cadastro] --> B[Login]
B --> C[Painel Principal]
C --> D[Registro de Pedido]
D --> E[Listagem de Pedidos]
E --> F[Atualizacao de Status]
7. Impactos no Planejamento¶
Sinais de alerta para a equipe¶
- uma task depende de algo que ela mesma ajuda a criar
- duas tasks exigem que a outra esteja pronta antes de começar
- o backlog não deixa claro o primeiro incremento funcional
Ajustes necessários no backlog¶
- separar melhor as responsabilidades de cada feature
- escolher uma primeira entrega mínima sem dependência circular
- usar o DSM para validar a ordem antes de distribuir as tasks em sprint
Relação com Scrum e features fim a fim¶
No Scrum, loops como esse atrapalham a definição de um incremento claro na sprint.
Nas features fim a fim, o loop mostra que a equipe ainda não separou bem o fluxo de valor do usuário.
No DSM, esse erro fica visível de forma rápida, porque a dependência circular aparece tanto na matriz quanto no grafo.
8. Conclusão¶
Principais aprendizados¶
Nem todo grafo de dependência está correto. Quando aparece um loop, isso pode indicar um erro de planejamento, uma dependência circular ou uma decomposição ruim das tarefas.
Ajustes necessários no backlog ou arquitetura¶
Antes de iniciar a sprint, a equipe deve revisar as dependências e garantir que exista uma sequência viável de implementação, sem ciclos que bloqueiem a execução.