top of page
Codificando

SCRUM — Metodologia Ágil de Gestão de Projetos


Scrum é um framework ágil de gestão de projetos, amplamente usado no desenvolvimento de software e em produtos que exigem adaptação rápida e entrega contínua de valor. Ele organiza o trabalho em ciclos curtos chamados Sprints (geralmente 1–4 semanas) e promove colaboração, transparência e melhoria contínua.

Componentes principais:
✔️ Papéis: Product Owner, Scrum Master, Development Team – cada um com responsabilidades claras.
✔️ Artefatos: Product Backlog, Sprint Backlog, Increment.
✔️ Eventos (cerimônias): Sprint Planning, Daily Scrum, Sprint Review e Sprint Retrospective.

👉 Para referência oficial: The 2020 Scrum Guide — artigo com definição completa e atualizada do Scrum.

🔗 Leitura recomendada online:

  • Agile Scrum Framework: Overview — jile.io — conceitos, papéis e artefatos.

  • What is Scrum? | Atlassian — guia com exemplos e como ele funciona no dia a dia do time.

TDD — Test-Driven Development (Desenvolvimento Guiado por Testes)

Definição:
TDD é uma prática de desenvolvimento de software em que testes automatizados são escritos antes do código de produção. A ideia central é: escrever um teste que falha, escrever o mínimo de código para fazê-lo passar, e depois fazer refatoração para melhorar o design.

Ciclo clássico do TDD:

  1. Red (vermelho) – escrever um teste que ainda vai falhar.

  2. Green (verde) – escrever código suficiente para passar no teste.

  3. Refactor (refatorar) – melhorar o código mantendo os testes passando.

Benefícios:


✔️ Feedback rápido
✔️ Código mais testável e menos bugs
✔️ Melhor design orientado à funcionalidade

🔗 Referências úteis:

  • Wikipedia – Test-driven development (visão geral, ciclo e história).

  • HostGator Blog – TDD explicado com exemplos (introdução prática).

BDD — Behaviour-Driven Development (Desenvolvimento Guiado pelo Comportamento)


BDD é uma evolução do TDD focada no comportamento esperado do software do ponto de vista do usuário/negócio. Em vez de pensar em testes técnicos, a equipe escreve cenários de comportamento que descrevem como o sistema deve se comportar em situações reais.

🔹 Principais características

✔️ Usa linguagem natural estruturada (“Given/When/Then”) para que todos — devs, testers e stakeholders — entendam os requisitos.
✔️ Foco em exemplos concretos que se tornam testes automatizados.
✔️ Integração direta com user stories e critérios de aceitação.

💡 Ligação com Scrum e Agile:
BDD melhora a comunicação no time e ajuda a transformar requisitos em testes automatizados, alinhando o desenvolvimento ao valor de negócio do produto.

🔗 Referências:

  • Wikipedia – Behaviour-driven development (conceito e práticas).

  • CODE Magazine – BDD e Agile (liga BDD a TDD e práticas de Agile).

DDD — Domain-Driven Design (Design Guiado Pelo Domínio)


DDD é uma abordagem de design de software voltada para refletir a lógica e regras reais do negócio (domínio) dentro do código. Ele incentiva a criação de um modelo conceitual compartilhado entre desenvolvedores e especialistas do domínio, usando a mesma linguagem (“ubiquitous language”) em toda a organização.

 

Conceitos fundamentais

✔️ Ubiquitous Language: linguagem comum entre devs, testers e pessoas do negócio para evitar ambiguidades.
✔️ Bounded Context: delimitação clara onde um modelo de domínio é válido.
✔️ Entities, Value Objects, Aggregates: padrões que ajudam a estruturar o modelo.

 

Ciclo clássico:
🔴 Red – teste falha
🟢 Green – código mínimo para passar
🔵 Refactor – melhoria do código

📌 Objetivo: projeto de software que expressa as regras de negócio diretamente na estrutura do código, facilitando manutenção, evolução e alinhamento com necessidades reais.

🔗 Referências:

  • Wikipedia – Domain-driven design (definição ampla).

  • Devopedia – conceitos de bounded context e ubiquitous language.

BDD com Gherkin (integra com Cucumber/Cypress)

Um cenário BDD pode ser escrito assim:

Feature: Login de usuário Scenario: login bem-sucedido Given um usuário válido When ele submete suas credenciais Then ele deve ver a página inicial do sistema

Esse tipo de especificação — que é compreensível por todos — é a base dos testes BDD com ferramentas como Cucumber, SpecFlow, Behat, etc.

Como tudo se conecta no desenvolvimento ágil orientado à qualidade

SCRUM organiza o trabalho
DDD define o que construir
BDD descreve o comportamento esperado
TDD garante qualidade técnica desde o início

📌 Resultado: Software alinhado ao negócio, testável, sustentável e entregue continuamente.

SCRUM
  ↓ organiza o trabalho
DDD
  ↓ define o domínio
BDD
  ↓ descreve comportamentos
TDD
  ↓ garante qualidade técnica


🎯 Qualidade deixa de ser etapa final e passa a ser estratégia.

⭐ PAPEL DO QA NESSE ECOSSISTEMA

✔️ Facilita comunicação entre negócio e tecnologia
✔️ Transforma requisitos em critérios testáveis
✔️ Atua desde o refinamento até a entrega
✔️ Garante valor, não só ausência de bugs

🔗 Scrum Guide (oficial) — o guia completo e atualizado do framework.
🔗 Livro “Test Driven Development by Example” (Kent Beck) — referência clássica para TDD.
🔗 Livro “Domain-Driven Design – Tackling Complexity in the Heart of Software” (Eric Evans) — obra fundamental de DDD.

BDD TDD DDD SCRUM.png
BDD TDD SCRUM DDD GRAFICO.png
Teste de Software - Em Foco.
bottom of page