Výběr sekce
Šablona Doménový kontext
Účel
- tento dokument existuje za účelem sjednocení porozumění doméně projektu
- slouží jako sdílený kontext pro všechny následující role v pipeline
- vysvětluje, jaký typ problému je řešen, proč je řešen a jaké pojmy musí být chápány konzistentně
- neslouží jako technická specifikace řešení
- neslouží jako návrh implementace
- neslouží jako zdroj nových požadavků
Shrnutí domény
- doména je širší oblast problému, ve které projekt funguje
- cílem není pouze vytvořit konkrétní řešení, ale vyřešit smysluplný problém v doméně udržitelným a srozumitelným způsobem
- projekt by měl reflektovat reálné potřeby, omezení a terminologii domény
- byznysový problém spočívá v tom, že bez jasně definovaného kontextu domény mají analýza, implementace, testování a dokumentace tendenci se rozcházet
- hlavním účelem je vytvořit stabilní referenční vrstvu, která udrží veškerou další práci v souladu se skutečnou povahou domény
Principy domény
- doména musí být popsaná z hlediska účelu, významu a hranic
- kontext musí zůstat obecný, stabilní a dlouhodobě použitelný
- popis domény nesmí sklouznout do technických detailů implementace
- cílem není maximální detail, ale konzistentní a dlouhodobě udržitelné porozumění
- žádná část kontextu nesmí zavádět skryté rozšiřování scope
Cíl
- cílem v rámci této domény je definovat, o čem projekt skutečně je z pohledu byznysu a konceptu
- kontext se zaměřuje na účel, rozsah, význam a očekávanou interpretaci
- správné porozumění znamená, že doména může být interpretována konzistentně napříč různými rolemi a artefakty
- cílem není předepisovat detaily implementace
- cílem není nahrazovat analytickou, návrhovou nebo vývojovou dokumentaci
Rozsah validace
- kontext domény pokrývá:
- účel domény
- byznysový význam projektu
- klíčové koncepty a entity
- hranice, očekávání a pravidla interpretace
- kontext domény nepokrývá:
- strukturu repozitáře
- detaily implementace
- konkrétní úkoly nebo backlog položky
- dočasná projektová rozhodnutí
- technický návrh modulů
- testovací scénáře ani logiku jejich běhu
Klíčové koncepty
Doména
- širší prostor problému, ve kterém projekt existuje
- v tomto kontextu reprezentuje reálný význam řešení
- často bývá zaměňována s rozsahem implementace
- doména je širší než konkrétní feature nebo modul
Byznysový problém
- skutečný problém nebo potřeba, kterou má projekt řešit
- v tomto kontextu vysvětluje, proč projekt existuje
- často bývá zaměňován s bugem, úkolem nebo technickým omezením
- byznysový problém definuje účel, ne implementaci
Cíl projektu
- zamýšlený výsledek, kterého má projekt v rámci domény dosáhnout
- v tomto kontextu propojuje problém se smysluplným směrem
- často bývá zaměňován s technickým milníkem
- cíl vysvětluje, čeho má být dosaženo, ne jak
Scope
- množina věcí, které jsou záměrně zahrnuty do domény projektu
- v tomto kontextu definuje, co patří do prostoru řešení
- často bývá zaměňován s implementačním backlogem
- scope určuje relevanci, ne detaily provedení
Hranice
- limit, který definuje, co je mimo doménu nebo mimo zamýšlený účel
- v tomto kontextu brání nekontrolovanému rozšiřování
- často bývá zaměňována s technickým omezením
- hranice chrání integritu domény
Omezení
- pravidlo, podmínka nebo limit, který musí být respektován
- v tomto kontextu odráží realitu, která formuje prostor řešení
- často bývá zaměňováno s implementačním rozhodnutím
- omezení ovlivňuje možné varianty řešení, ne jen volby v kódu
Stakeholder
- osoba, role nebo skupina, která je ovlivněna projektem nebo jeho výstupy
- v tomto kontextu dávají stakeholderi doméně praktický význam
- často bývá zaměňován s rolí v pipeline
- relevance stakeholdera vychází z byznysového dopadu, ne z vlastnictví nástroje
Artefakt
- dokument nebo výstup, který zachycuje část porozumění, návrhu, implementace nebo validace
- v tomto kontextu je nositelem znalosti, nikoliv samotnou znalostí
- často bývá zaměňován s definicí domény
- artefakty mají být v souladu s doménou, ne ji předefinovávat
Klíčové entity
Projekt
- konkrétní iniciativa, která je vyvíjena
- je důležitý, protože aplikuje doménu v praxi
- je vázán na cíle, omezení a výstupy
Oblast problému
- část reality, kterou se projekt snaží řešit
- je důležitá, protože definuje relevanci a účel
- je vázána na byznysovou potřebu a očekávanou hodnotu
Uživatel nebo příjemce
- osoba nebo role, která používá, čte nebo jinak těží z výstupu projektu
- je důležitý, protože projekt existuje pro reálné použití
- je vázán na očekávání, hodnotu a interpretaci
Znalostní artefakt
- trvalý dokument nebo výstup nesoucí informace o projektu
- je důležitý, protože projekt musí zůstat srozumitelný v čase
- je vázán na analýzu, implementaci, testování a dlouhodobou kontinuitu
Pravidlo nebo omezení
- omezující nebo formující podmínka v rámci domény
- je důležitá, protože definuje, co je přijatelné nebo validní
- je vázána na interpretaci, scope a rozhodování
Vztahy
- projekt existuje v rámci konkrétní domény
- doména je definována byznysovým problémem, cíli, hranicemi a omezeními
- stakeholderi dávají projektu a jeho výstupům význam
- artefakty zachycují znalosti o projektu, ale nenahrazují samotnou doménu
- scope určuje, co je v rámci domény relevantní
- hranice a omezení brání nesprávné interpretaci a nekontrolovanému rozšiřování
Typické byznysové flow
- projekt začíná reálným problémem nebo potřebou
- doména je popsána tak, aby byl její účel a význam jasný
- cíl projektu je interpretován v rámci hranic této domény
- analýza, implementace, testování a dokumentace jsou následně vytvářeny v souladu s tímto kontextem
- výstupy jsou hodnoceny nejen podle technické správnosti, ale i podle toho, zda dávají smysl v rámci domény
- výsledkem je projekt, který zůstává srozumitelný, relevantní a dlouhodobě udržitelný
Byznysově relevantní stavy
Doména nedefinovaná
- projekt existuje, ale jeho doménový význam není jasný
- z byznysového pohledu to vytváří riziko nekonzistence a driftu scope
Doména definovaná
- projekt má explicitně definovaný doménový kontext
- z byznysového pohledu to vytváří sdílené porozumění a stabilní směr
Doména špatně interpretovaná
- doména existuje, ale role nebo artefakty ji interpretují rozdílně
- z byznysového pohledu to vede ke zmatku, chybným předpokladům a slabému sladění
Doména respektovaná
- rozhodnutí a výstupy zůstávají v souladu s definovanou doménou
- z byznysového pohledu projekt zůstává konzistentní a smysluplný
Doména porušená
- práce přesahuje nebo jde proti definovaným hranicím domény
- z byznysového pohledu projekt ztrácí fokus a spolehlivost
Interpretace výsledků
- VALID → projekt nebo artefakt zůstává v souladu s definovanou doménou, účelem a hranicemi
- INVALID → projekt nebo artefakt je v rozporu s doménou, překračuje její scope nebo ji nesprávně interpretuje
- UNKNOWN → dostupné informace nestačí k určení souladu s doménou
- interpretace vždy závisí na účelu, hranicích a definovaném významu
- interpretace nenahrazuje analýzu ani kontrolu implementace, ale poskytuje kontext pro obě
Poznámky k terminologii
- preferuj kontext domény před vágním popisem projektu
- nepoužívej doménu zaměnitelně s implementačním scopem
- nepoužívej cíl zaměnitelně s technickým řešením
- nepoužívej artefakt zaměnitelně s požadavkem
- nepovažuj kontext domény za backlog, specifikaci nebo návrhový dokument
- udržuj terminologii konzistentní napříč dokumenty a rolemi
Hranice a non-goals
- tento kontext nedefinuje strukturu repozitáře
- nedefinuje konvence pojmenování souborů ani složek
- nedefinuje návrh implementace
- nedefinuje testovací strategii
- nedefinuje release proces
- nedefinuje dočasné úkoly, opravy ani priority
- není to analýza, specifikace ani návrhový dokument
- není to zdroj nových požadavků
Použití v pipeline
- čtou jej všechny role, které potřebují sdílené porozumění doméně
- používá se pro sjednocení terminologie a interpretace
- pomáhá udržet jasný rozdíl mezi významem domény a technickou realizací
- je informativní
- není direktivní
- nesmí být používán jako náhrada za analytické, specifikační nebo implementační dokumenty
Guardrail pro interpretaci
- domain_context.md nesmí být používán jako zdroj nových požadavků
- žádná role nesmí použít domain_context.md k rozšíření scope nad rámec explicitně schváleného zadání
- domain_context.md slouží pouze k:
- sjednocení terminologie
- vysvětlení domény
- zachování konzistentní interpretace
- pokud jiný artefakt odporuje domain_context.md z hlediska významu, musí být konflikt explicitně vyřešen, nikoliv ignorován
Striktní vynucení scope
- kontext domény je omezen na vysvětlení domény a její interpretace
- tento scope nesmí být rozšiřován o implementaci, analýzu ani instrukce k dodání
- žádná role nesmí:
- odvozovat nové feature přímo z domain_context.md
- považovat domain_context.md za specifikaci
- považovat domain_context.md za návrh řešení
- považovat domain_context.md za testovací plán
- jakýkoliv pokus použít domain_context.md mimo tento účel musí být považován za porušení scope