Ir para o conteúdo

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


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:

  1. priorizar entregas com valor real para o usuário
  2. reduzir retrabalho por fragmentação excessiva
  3. facilitar validação incremental
  4. alinhar produto, design e desenvolvimento
  5. 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:

  1. o que vamos construir primeiro
  2. o que cabe em um curto período de trabalho
  3. como acompanhar o progresso
  4. 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:

  1. mapear dependências entre módulos e funcionalidades
  2. identificar gargalos e pontos de acoplamento
  3. decidir a melhor ordem de implementação
  4. apoiar a discussão de arquitetura inicial
  5. 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:

  1. quais partes do sistema são mais independentes
  2. quais módulos tendem a gerar efeito cascata quando mudam
  3. que blocos precisam ser resolvidos antes de outros
  4. 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:

  1. qual problema ela ajuda a resolver
  2. quem usa
  3. qual resultado ela entrega
  4. 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:

  1. listar os principais elementos do sistema
  2. observar quais elementos dependem uns dos outros
  3. marcar dependências principais
  4. 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