Aula 05 — Desenvolvimento Ágil, Arquitetura Inicial e Planejamento com DSM¶
Data: 06/04/2026 | Horário: 11h00 | Local: Sala 207
Introdução¶
Depois da validação da proposta com o professor e do contato com o cliente, chegamos a uma etapa decisiva do curso: transformar uma ideia validada em um plano viável de construção. Nesta aula, faremos uma introdução ao desenvolvimento ágil, com foco em Scrum, para mostrar como organizar o trabalho em ciclos curtos, com priorização clara e entregas incrementais.
Também vamos discutir a importância de dividir o produto em features fim a fim, isto é, funcionalidades completas que já entregam valor perceptível ao usuário. Em vez de planejar o sistema por camadas isoladas, a proposta é pensar em recortes que conectem necessidade, interface, regra de negócio e resultado esperado.
Por fim, faremos uma introdução ao DSM — Design Structure Matrix, uma forma visual de organizar dependências entre partes de um sistema. Em vez de pensar no produto como uma lista solta de telas ou funções, o DSM ajuda a enxergar como uma parte depende da outra. No contexto desta aula, ele será usado para apoiar a discussão de arquitetura, a ordem de implementação e os pontos em que uma decisão técnica pode impactar várias outras.
Materiais de Apoio¶
- Template de Planejamento Scrum
- Exemplo de Planejamento Scrum
- Template de DSM
- Exemplo de DSM
- Exemplo de DSM com Loop e Erro de Planejamento
Discovery do Projeto¶
Nesta aula, o foco sai da descoberta do problema e entra na organização do desenvolvimento. Vamos trabalhar com três ideias centrais:
-
Desenvolvimento Ágil com Scrum O Scrum é uma forma de organizar o trabalho em equipe em partes menores, com ciclos curtos, entrega incremental de valor e aprendizado contínuo. Em vez de tentar definir tudo no início e executar um plano rígido até o fim, a equipe trabalha em pequenas entregas, observa os resultados, recebe feedback e ajusta o rumo quando necessário.
-
Features Fim a Fim Uma feature fim a fim é uma funcionalidade completa do ponto de vista do usuário. Ela não é apenas uma tela isolada nem apenas uma parte técnica do sistema. Ela representa algo que o usuário consegue usar e perceber como valor.
-
DSM — Design Structure Matrix O DSM é uma matriz usada para mostrar dependências entre elementos de um sistema. Pense nele como uma tabela que ajuda a responder perguntas como: "se eu mudar isso, o que mais será afetado?" ou "o que precisa ser feito antes para que outra parte funcione?". Em um produto digital, podemos aplicar o DSM sobre funcionalidades, módulos, componentes ou integrações para entender melhor a sequência de construção e os pontos de maior acoplamento.
Por que usar features fim a fim¶
As features fim a fim fazem a ponte entre o Scrum e o DSM.
No Scrum, a equipe precisa organizar o trabalho em incrementos pequenos e úteis. Para isso, não basta separar atividades técnicas soltas; é melhor pensar em entregas que façam sentido para o usuário.
Já o DSM ajuda a enxergar como essas features se relacionam internamente, mostrando dependências entre módulos, componentes e partes do sistema. Ou seja:
- o Scrum ajuda a decidir quando e em que ordem entregar
- as features fim a fim ajudam a definir o que será entregue com valor real
- o DSM ajuda a entender como essas entregas se conectam tecnicamente
Organizar o backlog em features fim a fim ajuda a:
- priorizar entregas com valor real para o usuário
- reduzir retrabalho por fragmentação excessiva
- facilitar validação incremental
- alinhar produto, design e desenvolvimento
- enxergar melhor o que cabe em cada sprint
Scrum de forma simples¶
De forma simples, o Scrum ajuda a equipe a trabalhar melhor quando o problema é complexo e nem todas as respostas estão claras desde o começo.
Ele ajuda a responder perguntas como:
- o que vamos construir primeiro
- o que cabe em um curto período de trabalho
- como acompanhar o progresso
- quando parar para revisar e ajustar
No Scrum, o trabalho acontece em ciclos curtos chamados Sprints. Em cada Sprint, a equipe busca transformar uma parte do trabalho em um incremento de valor, ou seja, algo útil, concreto e que possa ser inspecionado.
A equipe Scrum é composta por três responsabilidades principais:
- Product Owner, que ajuda a direcionar o valor do produto
- Scrum Master, que apoia o time no uso do Scrum
- Developers, que constroem o incremento
O Scrum também se apoia em uma lógica empírica: aprender fazendo. Isso significa tomar decisões com base em observação, experiência, experimento e feedback, e não apenas em previsões iniciais.
Exemplo simples de Scrum¶
Imagine que um grupo esteja criando um sistema para registrar pedidos de pescadores.
- na primeira Sprint, entregar cadastro e login
- na segunda, permitir registrar pedidos
- na terceira, mostrar o status do pedido
Ao final de cada ciclo, a equipe mostra o que foi feito, escuta feedback e ajusta o próximo passo. Assim, o produto evolui em partes menores, com mais clareza e menos risco de retrabalho.
Exemplo de feature fim a fim¶
Imagine que o produto do grupo seja uma solução para organizar pedidos de pescadores da comunidade.
Uma tarefa técnica isolada seria:
- criar tabela no banco de dados
Uma tela isolada seria:
- desenhar formulário de pedido
Mas uma feature fim a fim seria:
- "o pescador registra um pedido e acompanha seu status"
Essa feature já conecta:
- o usuário
- a interface
- a regra de negócio
- o armazenamento dos dados
- o resultado percebido
Esse tipo de recorte ajuda a equipe a pensar em entregas que já façam sentido no mundo real.
Relacionando com as seções anteriores:
- no Scrum, essa feature poderia entrar como parte de uma Sprint porque já representa um incremento utilizável
- no DSM, essa mesma feature pode ser analisada em termos de dependências, por exemplo: cadastro, autenticação, formulário, banco de dados e atualização de status
Assim, a equipe não planeja apenas "tarefas". Ela planeja uma entrega útil para o usuário e, ao mesmo tempo, entende a estrutura técnica necessária para colocá-la em funcionamento.
Como o DSM apoia o planejamento¶
O DSM pode ser usado para:
- mapear dependências entre módulos e funcionalidades
- identificar gargalos e pontos de acoplamento
- decidir a melhor ordem de implementação
- apoiar a discussão de arquitetura inicial
- separar o que pode ser desenvolvido em paralelo do que exige sequência
O que é o DSM na prática¶
Na prática, o DSM organiza em linhas e colunas os elementos que queremos analisar e marca onde existem dependências entre eles. Se um elemento depende de outro, isso aparece na matriz. Essa visualização permite responder perguntas importantes para o planejamento:
- quais partes do sistema são mais independentes
- quais módulos tendem a gerar efeito cascata quando mudam
- que blocos precisam ser resolvidos antes de outros
- onde existe maior risco de acoplamento ou retrabalho
Exemplo simples de DSM¶
Imagine um produto com estas partes:
- cadastro de usuário
- login
- painel principal
- notificações
Nesse caso:
- o painel principal depende do login, porque o usuário precisa entrar no sistema antes de acessar sua área
- o login pode depender do cadastro, caso o usuário ainda não tenha conta
- as notificações podem depender do painel principal ou das ações realizadas dentro dele
Com isso, o grupo percebe que talvez não faça sentido começar pelas notificações. Pode ser mais lógico começar por cadastro, login e painel, deixando o restante para depois. É exatamente esse tipo de clareza que o DSM traz para o planejamento.
Em termos pedagógicos, o DSM ajuda os alunos a sair de uma visão solta da solução e passar para uma leitura mais estrutural do produto, conectando arquitetura, backlog e sequência de desenvolvimento.
Leitura Pedagógica da Aula
O objetivo não é fazer os alunos decorarem termos de processo, mas compreenderem como transformar uma proposta validada em um plano de desenvolvimento mais claro, incremental e executável.
Tarefas¶
Tarefa 1 — Introdução ao Scrum Aplicado ao Produto¶
Duração estimada: 20 min Formato: Exposição dialogada + grupos
Cada grupo deve relacionar sua proposta de produto com os elementos básicos do Scrum.
Identifiquem:
- visão do produto
- backlog inicial
- primeira sprint possível
- principais entregas incrementais
Entregável: Esboço inicial de backlog com as primeiras prioridades do produto.
Tarefa 2 — Quebra em Features Fim a Fim¶
Duração estimada: 25 min Formato: Grupos
Com base na proposta validada e no protótipo, cada grupo deve decompor o produto em features fim a fim.
Cada feature deve responder:
- qual problema ela ajuda a resolver
- quem usa
- qual resultado ela entrega
- quais partes do sistema ela envolve
Usem a seguinte estrutura:
| Feature | Usuário | Valor entregue | Partes envolvidas |
|---|---|---|---|
Entregável: Lista inicial de features fim a fim priorizadas.
Tarefa 3 — Introdução ao DSM¶
Duração estimada: 20 min Formato: Grupos
Cada grupo deverá montar uma versão inicial de DSM — Design Structure Matrix para seu produto.
Passos sugeridos:
- listar os principais elementos do sistema
- observar quais elementos dependem uns dos outros
- marcar dependências principais
- discutir o que pode ser feito em paralelo e o que precisa vir antes
Exemplos de elementos a incluir:
- autenticação
- cadastro
- painel principal
- banco de dados
- regras de negócio
- integrações
- notificações
Entregável: Esboço de DSM com comentários sobre dependências e ordem de implementação.
Tarefa 4 — Planejamento Inicial da Arquitetura e do Desenvolvimento¶
Duração estimada: 20 min Formato: Grupos
Com base nas features e no DSM, cada grupo deve propor um plano inicial de arquitetura e desenvolvimento.
Definam:
- componentes principais do produto
- módulos centrais
- dependências críticas
- ordem inicial de construção
- o que entraria na primeira sprint
Entregável: Plano inicial de arquitetura e roadmap curto de desenvolvimento.
Exemplo de Apoio
Use a seção Materiais de Apoio desta aula para acessar os templates e exemplos de Scrum e DSM.
Encerramento¶
Nesta aula, demos o primeiro passo para transformar propostas validadas em execução organizada. Introduzimos os fundamentos do desenvolvimento ágil com Scrum, discutimos a importância de pensar em features fim a fim e usamos o DSM para visualizar dependências e apoiar a definição da arquitetura inicial.
Tarefa de Casa — Preparar a Execução
Cada grupo deve consolidar no MkDocs do produto os artefatos produzidos hoje.
Para a próxima etapa:
1. Registrar backlog inicial e features fim a fim.
2. Documentar o DSM do produto.
3. Atualizar a visão de arquitetura inicial.
4. Refinar o protótipo com base nas validações anteriores.
5. Preparar a apresentação do protótipo validado na aula posterior a 06/04/2026.
Referências¶
- Manifesto para Desenvolvimento Ágil de Software
- What is Scrum? | Scrum.org
- The Scrum Guide
- Dependency and Structure Modeling (DSM) — DSMweb.org
- DSMweb.org
- EPPINGER, Steven D.; BROWNING, Tyson R. Design Structure Matrix Methods and Applications. MIT Press, 2012.