도메인 지식이 중요하다고 이야기하지만, 우리는 정작 소프트웨어 문제의 해결을 푸는 열쇠인 도메인 그자체에 대한 이해가 부족한것같습니다. "도메인" 이것이 무엇인지? 정의를 해주세요 그리고 이러한 개념을 정립했으나 우리는 정작 이것을 무시하고 기술로 오해하고 있습니다. 관련된 철학도 정리


도메인(Domain)의 정의와 철학

1. 도메인의 정확한 정의

문서에 따르면 도메인은 다음과 같이 정의됩니다:

도메인 : 지식이나 영향력, 또는 활동의 영역. 컴퓨터와 거의 관련이 없다.

이 정의에서 핵심은 **"컴퓨터와 거의 관련이 없다"**는 부분입니다. 도메인은 기술이 아닌 비즈니스의 본질적 문제 영역을 의미합니다.

더 구체적으로:

2. 왜 우리는 도메인을 기술로 오해하는가?

2.1 기술 중심 사고의 함정

문서에서 지적하는 핵심 문제는 다음과 같습니다:

소프트웨어가 일반적으로 복잡해지는 이유는, 우리가 사용하는 기술자체의 복잡성 때문이 아니라 우리가 가진 도메인 자체의 복잡성에 기인한다.

우리가 흔히 저지르는 실수들:

  1. 기술적 해결책 우선주의

  2. "작업 보드 셔플" 현상

  3. 설계 없는 개발

    설계가 없는것은 지식획득이라는 중요한 것을 놓치고, 큰 진흙 덩어리를 계속 만들어 내게 된다.

2.2 큰 진흙 덩어리의 문제

문서에서 설명하는 "큰 진흙 덩어리"는:

3. 도메인 중심 사고로의 전환

3.1 패러다임 전환의 필요성

에릭 에반스(Eric Evans)가 2003년 DDD를 제시한 배경:

기술보다 비즈니스의 복잡성을 중심에 놓고, 소프트웨어 설계와 도메인 모델을 비즈니스 전문가와 함께 만들어가는 방법론

핵심 변화:

3.2 도메인의 진정한 의미

DDD에서 강조하는 핵심 질문:

도메인에 대한 깊은 지식 없이 복잡한 은행 소프트웨어를 만드는것이 가능할까?

누가 은행업무를 아는가? 소프트웨어 아키텍트? 아니다. 그는 단지 자기 돈을 안전하게 보관하다가 필요할 때 인출하려고 은행을 이용할뿐이다.

그럼 누구일까? 바로 은행가이다. 은행업무 체계는 거기에 속해 있는 해당 분야의 전문가들이 가장 잘 이해하고 있다.

4. 50인 미만 중소개발사를 위한 도메인 접근법

4.1 우리의 현실적 문제들

문서에서 지적하는 우리의 문제점들:

4.2 실용적 해결 방안

  1. 유비쿼터스 언어(Ubiquitous Language) 구축

  1. 커피 한 잔의 철학

도메인 전문가로부터 지식을 얻기위해서는 커피한잔이면 충분하다. 커피한잔으로 가능한 일이면, 복잡한 툴은 필요없다.

  1. 점진적 도메인 발견

5. AI Agentic 시대에서의 도메인 중심 개발

5.1 새로운 협업 방식

AI 에이전트가 등장한 상황에서도 도메인 이해는 여전히 핵심입니다:

5.2 SaaS B2B 환경에서의 도메인 중요성

고객의 도메인 이해가 곧 경쟁력:

6. 결론: 도메인이 먼저, 기술은 수단

문서에서 강조하는 핵심 철학:

우리가 출발해야하는 곳은 언제나 도메인이다.

도메인 중심 개발의 본질:

  1. 문제 정의가 해결책보다 중요

  2. 비즈니스 전문가와의 지속적 대화

  3. 코드가 비즈니스를 반영하는 설계

  4. 기술은 도메인을 표현하는 수단일 뿐

AI가 기술적 복잡성을 대신 처리해주는 시대에서, 우리는 오히려 도메인에 더 집중할 수 있는 기회를 얻었습니다. 기술이 아닌 우리가 해결하고자 하는 진짜 문제가 무엇인지를 깊이 이해하는 것이 AI 시대의 핵심 경쟁력이 될 것입니다.



모놀리식에서 우리는 SOA를 이해하지 못하고 또한 중간과정에 클린아키텍처도 수행하지 못한체 MSA로 바로 건너뛰려고 하고 있습니다. CRUD만 작성하는 단계에서 다음 단계로 가기위해 우리가 준비해야하는 절차와, 우리보다 앞선 기업은 이미 MSA,CQRS를 안정화해 성공단계에 진입했으며 그 수준을 따라잡기위해 필요한 절차와 AI를 이용해 그 격차와 시간을 줄이고 싶습니다


AI Agentic 시대의 점진적 개발방법론

중소개발사(50인 미만) B2B SaaS를 위한 실용적 접근법

현재 상황 진단

우리의 현실

목표


3단계 점진적 발전 로드맵

1단계: 기초 체력 다지기 (3-6개월)

"좋은 설계의 다음 대안은 나쁜 설계다" - 설계 없는 것보다 나쁜 설계가 낫다

1.1 워터폴의 장점 + 애자일의 유연성 결합

1.2 도메인 중심 사고 전환

1.3 AI Agentic 도구 활용 시작

2단계: 아키텍처 성숙화 (6-12개월)

"소프트웨어 복잡성은 기술이 아닌 도메인의 복잡성에서 기인한다"

2.1 SOA 패턴 학습과 적용

2.2 클린 아키텍처 기반 구조 개선

2.3 AI 협업 고도화

3단계: MSA 전환과 CQRS 도입 (12-18개월)

"팀의 구조가 시스템 아키텍처를 결정한다" - 콘웨이 법칙

3.1 점진적 MSA 전환

3.2 CQRS와 이벤트 소싱 도입

3.3 AI 인프라 통합



기술중심에서 도메인중심으로 패러다임을 전환한 주요 핵심사건을 시대별로 요약 그리고 애자일이 탄생하고 발전한 것도 시대별로 요약 두 가지 사건이 서로 영향받은것도

소프트웨어 개발자또는 아키텍처 또는 비즈니스전문가가 "도메인지식" 을 강조하면서 왜 이러한것을 별로 소중하게 생각하지 않는 즉각적 방식의 문제도 요약하고 어떻게 변화해야하는는지도 요약

AI Agentic 시대를 위한 개발방법론: 기술중심에서 도메인중심으로의 패러다임 변화

1. 기술중심에서 도메인중심으로의 패러다임 전환 핵심사건

1950년-1980년대: 기술중심 시대의 확립

1990년-2000년대: 한계 인식과 전환점

2003년: 도메인주도 설계(DDD)의 혁명적 등장

2. 애자일의 탄생과 발전 과정

1990년대: 애자일 인식의 뿌리

2001년: 애자일 선언문

공정과 도구보다 개인과 상호작용을 포괄적인 문서보다 작동하는 소프트웨어를 계약 협상보다 고객과의 협력을 계획을 따르기보다 변화에 대응하기

2000년-2010년대: 애자일 방법론의 확산

2010년대 후반: 새로운 접근법 등장

3. 두 패러다임의 상호 영향

공통 철학

상호 보완적 발전

4. 도메인지식을 소중히 여기지 않는 즉각적 방식의 문제

현재의 문제점

"작업 보드 셔플" 함정

할일 → 작업중 → 완료

포스트잇을 옮기기만하면  애자일인것처럼 보이던 초창기 애자일이 하던 실수, DDD를 도입하면서 지식획득과정을 포함시켜 성숙한 애자일이 되거나 여전히 포함하지 않고 작동하는 애자일이 존재할수있음

즉각적 방식의 함정

  1. PRD의 애매모호함: "UX만으로 개발자가 모든 설계를 하기를 원함"

  2. 구현 단계 때려박기: "아직 무엇을 해야할지 정하지도 않았는데 스프린트 시작"

  3. 바보같은 질문 회피: 실제로는 도메인 정수를 찾는 과정인데 무시

왜 도메인지식을 소중히 여기지 않는가?

비즈니스 압박

기술자의 함정

5. AI Agentic 시대를 위한 변화 방향

핵심 인식 전환

1. AI는 도구가 아닌 협력자

기존: 인간 → AI 도구 사용 새로운: 인간 ↔ AI 에이전트 협업

2. 도메인 발견의 가속화

50인 미만 중소 개발사를 위한 실천 방안

Shape Up + DDD 하이브리드 모델

6주 사이클: Week 1-2: 도메인 발견 (이벤트스토밍 + AI 분석) Week 3-5: 구현 (AI 페어 프로그래밍) Week 6: 통합 및 검증 쿨다운 2주: 회고 및 다음 Shape 준비

B2B SaaS 특화 접근

  1. 고객 도메인 이해: B2B 고객의 업무 프로세스를 AI와 함께 분석

  2. 컨텍스트 매핑: 고객사별 바운디드 컨텍스트 식별

  3. API 중심 설계: 도메인 경계를 API로 명확히 구분

구체적 실천 방법

1. 도메인 지식 축적 시스템

2. 협업 문화 변화

"좋은 설계의 다음 대안은 나쁜 설계다" → 설계 활동 자체가 지식 획득의 핵심 → AI와 함께 빠른 설계-검증 사이클 구축

3. 측정과 개선

결론: "만드는 과정에서 우리가 우리의 방식을 사랑해야"

AI Agentic 시대의 개발방법론은 기술 중심에서 도메인 중심으로, 도구 사용에서 AI 협력으로의 이중 패러다임 전환을 요구합니다.

50인 미만의 중소 개발사에서는 거대한 프로세스보다는 도메인 지식을 AI와 함께 지속적으로 발견하고 축적하는 문화가 핵심입니다. 이를 통해 "우리가 싫어하는 프로덕트를 고객이 좋아할까?"라는 근본적 질문에 답할 수 있을 것입니다.

AI시대, 어떤 미래가 기다릴까? (세 가지 시나리오)

시나리오

핵심 내용

개발자 준비 필요성

종말 시나리오

AI가 인류를 지배하거나 멸망시킬 가능성

우리의 노력과 상관없이 결과는 같을 것

정체 시나리오

LLM의 발전이 현재 수준에서 크게 나아가지 않음

지금 도구만으로도 멋진 일 가능, 준비 안 해도 괜찮음

소프트웨어 혁명 시나리오

LLM이 소프트웨어 개발 방식을 혁신적으로 변화시키지만, 인간 개발자는 여전히 필요함

지금 공부하는 것이 중요, 새로운 기회를 잡을 수 있음

LLM 발전에는 여러 미래가 예상되지만, 크게 세 가지 시나리오를 생각해 볼 수 있어요 .


LLM을 잘 쓰려면 '프롬프트 엔지니어링'이라는 것을 배워야 해요 . 이건 LLM에게 우리가 원하는 결과를 얻도록 명령을 잘 내리는 방법 같은 거죠 .

마치 요리사에게 재료와 레시피를 정확히 알려줘야 맛있는 음식이 나오는 것처럼요.



다음은 DDD를 이해하기위한 국내 자료와~ AI시대 DDD는 어떻게 변화할것인가? 추가참고 자료입니다.