BMAD

Breakthrough Method for Agile AI-Driven Development

A négy ágens: Business · Manager · Architect · Developer

Strukturált AI-támogatott fejlesztés

— egy Java 8 → 25 migráción keresztül

Roland Bata · 2026

👋 Üdv — kezdjük egy gyors kérdéssel.

Először egy kérdés

Ki dolgozik most is Java 8-on vagy 11-en?

51%

a Java fejlesztők még legacy Java verzión dolgozik
— Azul 2025 State of Java Survey

Java 8 EOL: 2026. november ·   Spring Boot 1.5 EOL: 2019 óta

Az ismerős forgatókönyv

Tipikus migrációs hét egy középvállalati csapatnál:

📅 Hétfő reggel · Becslés: "2 nap, max 3"

📅 Hétfő délután · pom.xml átírva, 200 compile error

📅 Kedd · "findOne() nem létezik?!"

📅 Szerda · sed-del cseréltük a javax-ot, az SSL eltört 💀

📅 Csütörtök · Tesztek zöldek, JSON formátum más lett

📅 Péntek · "Holnap újra próbáljuk" → következő szprint

Szétszórt jegyzetek · Nem dokumentált döntések · Production-ben felfedezett bugok

Mi lenne, ha...

✓ Egy parancs feltérképezné a kódbázist?

✓ Az AI azonosítaná a kockázatokat előre?

✓ Lenne fázisonkénti terv minden lépéshez?

✓ Minden döntés visszakövethető lenne?

...mielőtt egyetlen sort módosítanál?

Ez a BMAD.

Mi a BMAD?

📐 Módszertan

Strukturált fázisok

Explicit döntések

Visszakövethetőség

Phase gate-ek

🔧 Eszközkészlet

AI agentek (specializált)

Slash parancsok

6 modul

Bővíthető (BMB)

A módszertan a fontos. Az eszközök támogatják — nem helyettesítik.

A BMAD ökoszisztéma — 6 modul

Core
Általános alapok
Mélyítés, review-k, párbeszédek, dokumentum kezelés
BMM
BMad Method
Tervezés, architektúra, sprint, kód (a négy ágens-szerep itt él)
CIS
Creative Intelligence Suite
Ötletelés, design thinking, prezentáció, storytelling
WDS
Web Design Studio
8 lépéses UX folyamat: brief-től a design system-ig
TEA
Test Architecture Enterprise
ATDD, NFR mérés, CI pipeline, traceability
BMB
BMad Builder
Saját agentek, workflow-k, modulok építése

Ma a BMM-re fókuszálunk a migrációhoz, de a többit is megemlítem.

Specializált agentek — virtuális csapat

BMM csapat

Mary — Business Analyst

John — Product Manager

Sally — UX Designer

Winston — Architect

Amelia — Developer

Paige — Tech Writer

CIS csapat

Carson — Brainstorming

Maya — Design Thinking

Victor — Innovation

Dr. Quinn — Problem Solver

Sophia — Storytelling

Caravaggio — Presentations ✨

TEA & WDS

Murat (TEA) — Test Architect

Freya (WDS) — UX Designer

Saga (WDS) — Analyst

+ generic review-erek
(adversarial, edge case)

Mindegyik specializált — Party Mode-ban közösen vitáznak.

Kulcs fogalmak

Ezek vissza fognak jönni a slide-okon:

📝 Product Brief

A migráció víziója. Mit, kinek, milyen scope-ban.

📋 PRD

FR (functional) és NFR követelmények.

🏗️ ADR

Architecture Decision Record — explicit döntés indoklással.

📦 Epic + Story

Epic nagyobb fázis, Story implementálható feladat.

🚪 Phase Gate

Validáció: zöld build, parity — különben nincs továbblépés.

🔗 Traceability

Story → Epic → ADR → FR → Brief. Visszakövethetőség.

A demo projekt

Library API — Könyvtár-kezelő REST API

Java 8 / Spring Boot 1.5.22 / WAR / Tomcat
├── 3 entitás (Book, Member, Loan)
├── 12 REST végpont
├── javax.persistence, java.util.Date
├── JUnit 4, Springfox Swagger 2
└── 14 forrásfájl

Szándékosan kicsi — átlátható.
De minden tipikus migrációs kihívást tartalmaz.

LIVE Az eredeti alkalmazás

🎬 DEMÓ LÉPÉSEK

1. Böngésző: localhost:8081/library/swagger-ui.html

2. Mutasd: "12 endpoint, klasszikus Springfox kinézet"

3. GET /api/books → Try it out → Execute

4. Mutass rá: "createdAt": "2026-04-07T15:44:56"

5. Opcionális: H2 console /library/h2-console

Java 8, javax.*, régi date API.

A BMM workflow — 5 fázis

1 document-projectMegérti, amink van
2 product-briefDefiniálja a víziót
3 create-prdRészletezi a követelményeket
4 create-architectureExplicit technikai döntések
5 create-epics-and-storiesImplementálható feladatok

Mindegyik dokumentumot produkál. Mindegyik épít az előzőre.

SHOW 1. fázis: Document Project

📺 MIT MUTASS

1. VS Code: nyisd meg a docs/ mappát

2. docs/index.md — projekt áttekintés

3. docs/architecture.md — felismert architektúra (3-tier layered)

4. docs/api-contracts.md — 12 endpoint inventár

5. docs/data-models.md — 3 entitás, 2 reláció

Egy parancs · ~30 perc · 6 dokumentum

SHOW 2. fázis: Product Brief

📺 MIT MUTASS

1. Nyisd: _bmad-output/planning-artifacts/product-brief-library-api-migration.md

2. Executive Summary — vízió 3 bekezdésben

3. What Makes This Special — miért nem csak "egy migráció"

4. Scope — mit NEM csinálunk

A scope kikényszeríti, hogy előre eldöntsd:
"Most ezt csináljuk. Ezt nem. Erre most nem érünk rá."

Advanced Elicitation — mélyítés

Minden fázis után: "Mélyítsd el a döntéseket"

Pre-mortem

"Tegyük fel megbukott — mi vezetett oda?" Kockázatok visszafelé.

Shark Tank

Szkeptikus befektetők kérdezik. Hol gyenge?

Red Team

Egyik AI támad, másik véd. Hibákat vadász.

First Principles

"Mi az alapfeltevés? Tényleg igaz?"

Persona Group

Több persona ugyanarra reagál. Eltérő szempontok.

Reverse Engineering

"Tegyük fel működik. Hogyan jutottunk ide?"

50+ módszer. Mindegyik más szögből támadja a döntést.

SHOW 3. fázis: PRD

📺 MIT MUTASS

1. Nyisd: _bmad-output/planning-artifacts/prd.md

2. Functional Requirements — görgess: 34 FR

3. User Journeys — Roland, Kata, Gergő

4. Mutasd: nem a Library API felhasználói — a PREZENTÁCIÓ közönsége!

A PRD 5 elicitation kört futott minden szekciónál.

4. fázis: Architecture — explicit ADR-ek

ADR = strukturált döntés: kontextus → döntés → indoklás → következmények

ADRDöntésPhase
001Fázisos migráció (1.5→2.7→3.x)All
002Centralizált error handling (@RestControllerAdvice)1
003Per-field date mapping (LocalDate vs LocalDateTime)2
004Springfox → SpringDoc2
005Git branch per phase (rollback = branch revert)All
006Explicit Jackson config a response parity-hez2
007Layered architecture megőrzéseAll
008Paketo buildpacks, nem manuális Dockerfile3

Minden döntés indokolva és visszakövethető.

Fázisos migráció — Phase Gate-ekkel

Phase 1 · Spring Boot 1.5 → 2.7

findOne removal · context-path rename · JUnit 4→5 · Error handling

🚪 Tovább csak ha: lefordul, minden teszt zöld, a fő végpontok ugyanazt válaszolják

Phase 2 · Spring Boot 2.7 → 3.x

javax → jakarta · java.time · SpringDoc · Lambdák, streams

🚪 Tovább csak ha: tesztek zöldek, minden végpont 1:1 ugyanazt adja, nincs téves javax-átírás

Phase 3 · Containerization

WAR → JAR · Paketo buildpack · Devcontainer Java 25

🚪 Tovább csak ha: a konténer pontosan ugyanazt válaszolja, mint a sima JAR

Miért nem egy ugrás? Ha 5 breaking change egyszerre csap le → nem tudod, melyik tört el.

⚠️ A javax.crypto csapda

Emlékeztek a szerdai SSL eseményre? Ez az.

❌ Naiv megközelítés

$ sed -i 's/javax/jakarta/g' \
       src/main/java/**/*.java

javax.persistence → jakarta.persistence ✓
javax.validation → jakarta.validation ✓
javax.crypto → jakarta.crypto ❌
javax.net.ssl → jakarta.net.ssl ❌

Kriptó eltört. TLS eltört.
Production deploy → security incident.

✅ BMAD megközelítés

PRD FR6 explicit kimondja:

FR6: Migrate javax.* to jakarta.*
EXCEPT JDK-owned packages
(javax.crypto, javax.net.ssl,
 javax.security.*) — NEVER rename

A Pre-mortem Analysis derítette ki
a tervezési fázisban.

Felderítve a tervezésnél.
Nem production-ben.

5. fázis: Epics & Stories

Epic 1

Spring Boot 2.7 Migration

6 story · 12 FR

Epic 2

Boot 3.x + Modernization

6 story · 8 FR

Epic 3

Containerization

3 story · 2 FR

Epic 4 — Presentation & Demo

6 story · 13 FR — Reveal.js, README, cheat sheet, demo setup

Minden story Given/When/Then acceptance criteria-val.

Traceability — minden visszakövethető

Egy konkrét story-ból az eredeti vízióig:

Story 2.2: javax→jakarta migration in Book.java
Epic 2: Spring Boot 3.x Migration & Modernization
ADR-001: Phased migration, namespace = Phase 2
PRD FR6: Migrate all javax.* to jakarta.* (except JDK-owned)
Brief: Java 8 EOL November 2026 → mandatory modernization

ChatGPT bármelyiket generálná — a láncot közöttük nem.

LIVE Before vs After

🎬 DEMÓ LÉPÉSEK

1. Nyiss 2 böngésző tab-ot egymás mellett:

• Tab A: localhost:8081/library/swagger-ui.html (Java 8)
• Tab B: localhost:8082/library/swagger-ui/index.html (Java 25)

2. Mutasd a Swagger UI title különbséget:

"Library API" vs "Library API v2 — Java 25 / Spring Boot 3.x"

3. Mindkettőn: GET /api/books → Try → Execute

4. Hasonlítsd a JSON response-okat (Jackson config!)

Response parity ✓

A kód diff — tiszta, fázisonkénti

Before (Java 8)

import javax.persistence.*;
import java.util.Date;

@Entity
public class Book {
    @Temporal(TemporalType.DATE)
    private Date publishedDate;

    private Date createdAt;

    public List<Book> sorted() {
        return books.stream()
            .sorted(new Comparator<Book>() {
                public int compare(Book a, Book b) {
                    return a.getAuthor()
                        .compareTo(b.getAuthor());
                }
            }).collect(toList());
    }
}

After (Java 25)

import jakarta.persistence.*;
import java.time.LocalDate;
import java.time.LocalDateTime;

@Entity
public class Book {
    private LocalDate publishedDate;

    @JsonFormat(pattern="yyyy-MM-dd'T'HH:mm:ss")
    private LocalDateTime createdAt;

    public List<Book> sorted() {
        return books.stream()
            .sorted(comparing(Book::getAuthor))
            .toList();
    }
}

Nincs 500 soros "migration commit" — minden commit egy BMAD story.

SHOW Git log = Migration story

📺 MIT MUTASS

Terminálban: git log --oneline

50572ab [Phase 4] docs: Reveal.js presentation, cheat sheet, README
d7b17f0 Merge phase-3: Paketo + Java 25 devcontainer
3303005 [Phase 3] migrate: Paketo buildpack config
06e89d4 [Phase 3] migrate: WAR → JAR
aad2384 Merge phase-2: Java 25 / Boot 3.5.13
5d3097a [Phase 2] refactor: lambdas, streams
a50f871 [Phase 2] migrate: java.time per ADR-003
55c4cc6 [Phase 2] migrate: Boot 3.x, javax→jakarta
c6c75f7 Merge phase-1: Boot 2.7.18
59e5982 [Phase 1] refactor: centralize error handling
1f75204 [Phase 1] migrate: Boot 2.7 + JUnit 5
b93e61e Initial commit: Java 8 / Boot 1.5

Commit convention [Phase X] type: description — az Architecture doc-ban definiálva.

LIVE Paketo container

🎬 DEMÓ LÉPÉSEK

1. Mutasd: docker ps | grep library-api

2. Opcionálisan élő build: mvn spring-boot:build-image -DskipTests

3. Böngészőben: localhost:8082/library/api/books

$ mvn spring-boot:build-image -DskipTests
# → Paketo auto-detects Spring Boot
# → BellSoft Liberica JRE 25
# → Layered OCI image (cache-elhető)
# → Zero Dockerfile

$ docker run -p 8082:8081 library-api:1.0.0

BMAD a migráción túl

Bármilyen szoftverprojektre.

📋 BMM Sprint Flow

sprint-planning sprint terv

create-story story részletek

dev-story implementáció

sprint-status állapot + risks

retrospective retro

correct-course sprint pivot

🧪 TEA Test Architecture

testarch-framework setup

testarch-atdd red-phase

testarch-test-design terv

testarch-nfr NFR mérés

testarch-ci CI pipeline

testarch-trace traceability

🎨 WDS — UX 8 lépés

wds-1-project-brief

wds-2-trigger-mapping

wds-3-scenarios

wds-4-ux-design

wds-5-agentic-development

wds-7-design-system

Core: minden fázisban hasznos

🔍 Mélyítés

advanced-elicitation

50+ módszer

party-mode

több agent együtt

brainstorming

🎯 Review

review-adversarial

cinikus review

review-edge-case

edge case vadászat

code-review

📄 Dokumentum

distillator

tömörítés

shard-doc

nagy doksik bontása

help ← bármikor

Orthogonális a workflow-hoz — bármikor használható.

BMB: saját modulok és agentek

A BMAD meta-szintje — építsd a saját workflow-d

agent-builderSaját agent
pl. "DevOps Engineer" a saját pipeline-odhoz

workflow-builderSaját workflow
pl. ".NET Migration" workflow .NET 6 → 8 átálláshoz

module-builderKomplett modul
pl. "FinOps" modul cég cost-management-hez

customizeBuilt-in agent override
céges szabályok ráhúzása a meglévő agentekre

A BMAD nem zárt. Testreszabható. Bővíthető.

BMAD nélkül vs vele

NélküleVele
"Majd kitaláljuk"Fázisonkénti terv előre
Szétszórt jegyzetekKoherens artifact-csomag
sed cserék, eltört SSLPre-mortem felderíti előre
"Miért is csináltuk így?"ADR-ek, döntési napló
"Mennyi van még hátra?"Sprint status, story-k
3 nap debug egy hibás merge utánPhase gate elkapja
Onboarding: "kérdezz egy senior-t"Onboarding: "olvasd az ADR-eket"

Élő dokumentáció — bonus

📝 BriefMiért csináltuk · onboarding

📋 PRDMit követeltünk meg · audit trail

🏗️ ArchitectureHogyan döntöttünk · döntési napló

📦 Epics & StoriesMit hajtottunk végre · traceability

Az új fejlesztő megnyitja az architecture.md-t
és tudja, MIÉRT van @JsonFormat a createdAt-on.

A BMAD artifactok a kóddal együtt készültek — nem utólag.

Próbáld ki — 30 perc

1 npm install -g @anthropic-ai/claude-code

2 Telepítsd a BMAD-ot:
github.com/bmad-code-org/BMAD-METHOD

3 Futtasd: /bmad-document-project

4 30 perc múlva: docs/index.md a saját kódodról

Low-risk experiment.
Ha hasznos — folytatod. Ha nem — 30 percet vesztettél.

BMAD Cheat Sheet

BMM Workflow

document-project

product-brief

create-prd

create-architecture

create-epics-and-stories

sprint-planning

create-story

dev-story

sprint-status

retrospective

Bárhol használd

help ← bármikor

advanced-elicitation

party-mode

code-review

checkpoint-preview

Más modulok

testarch-* (TEA)

wds-* (WDS UX)

cis-* (Innovation)

Top 5 Pitfall

1. javax.crypto trap

2. Springfox + Boot 2.6+

3. data.sql exec order

4. Jackson nanosec

5. Mockito strict stubbing

Részletek:
BMAD-CHEAT-SHEET.md

Demo repo: github.com/bataroland/bmad_presentation

Köszönöm!

Kérdések?

Roland Bata

Demo repo: github.com/bataroland/bmad_presentation

BMAD: github.com/bmad-code-org/BMAD-METHOD