요약
AI, 소프트웨어 개발의 새로운 조력자
이 보고서는 AI를 활용하여 소프트웨어 개발을 더 빠르고 효율적으로 만드는 방법에 대해 이야기해요.
특히, 소프트웨어를 만들기 전에 '어떤 기능이 필요하고 어떻게 작동해야 하는지'를 정하는 도메인 모델링이라는 과정을 AI가 어떻게 도울 수 있는지 보여줍니다.
AI를 통해 복잡한 비즈니스 절차를 더 빨리 파악하고 정리할 수 있어요.
이를 통해 개발 과정의 생산성을 크게 높일 수 있습니다.
이 내용은 AI 기술이 소프트웨어 개발 분야에 어떤 변화를 가져올지 궁금한 분들에게 아주 유용할 거예요.
Clarify 도구 소개: 비즈니스 프로세스를 시각화하다
스태판 팔로페가 만든 Clarify라는 도구는 소프트웨어 개발의 첫 단계를 도와줍니다.
이 도구는 마치 이야기를 그림으로 그리듯 비즈니스 프로세스를 시각화해요.
주요 기능으로는 이벤트 스토밍(일의 흐름 파악), 데이터 모델링(필요한 데이터 정리), 그리고 코드 자동 생성이 있어요.
사용자는 시간 흐름에 따라 주요 사건(이벤트)들을 배치하고, 누가 그 사건에 관여하는지(역할) 쉽게 표시할 수 있습니다.
또한, 각 사건에 필요한 정보나 문제점 등을 카드 형태로 추가하여 모델을 더욱 풍부하게 만들 수 있어요.
AI 코파일럿과 함께하는 도메인 모델링
Clarify에서는 AI 코파일럿의 도움을 받아 도메인 모델을 빠르게 만들 수 있습니다.
마치 숙련된 조수에게 지시하듯, 원하는 비즈니스 과정에 대해 간단히 설명하면 AI가 초안을 만들어줘요.
예를 들어, '영업팀, 영업 관리자, 고객이 참여하는 CRM(고객 관계 관리) 프로세스'를 요청하면 AI가 관련 단계를 자동으로 생성해 줍니다.
AI가 만들어준 모델에는 각 단계에 필요한 정보(카드)와 데이터 구조(데이터 모델)까지 포함되어 있어서 매우 편리해요.
이렇게 AI의 도움을 받으면 짧은 시간 안에 복잡한 워크플로우 모델을 완성할 수 있습니다.
시스템 관점에서 모델 살펴보기: API 정의로 연결
관점 | 구성 요소 | 설명 |
시스템 관점 | 역할 (Who) | 누가 시스템과 상호작용하는가 |
시스템 관점 | 시스템 (System) | 어떤 시스템에서 상호작용이 일어나는가 |
시스템 관점 | 이벤트 (Event) | 상호작용의 결과로 어떤 일이 발생하는가 |
시스템 관점 | 명령 (Command) | 시스템이 어떤 입력을 받는가 |
시스템 관점 | 결과 (Event) | 시스템이 어떤 출력을 내는가 |
활용 | API 정의 | 시스템 간 소통 방식 정의의 기초 자료로 활용 |
AI가 만들어준 도메인 모델을 다른 시각으로 살펴볼 수도 있어요.
마치 건물의 설계도를 층별 또는 배관별로 나눠보듯, 이 도구는 모델을 시스템 관점에서 보여줍니다.
왼쪽에는 누가(역할), 가운데에는 어떤 시스템에서(시스템), 오른쪽에는 어떤 결과가(이벤트) 나타나는지를 한눈에 파악할 수 있어요.
각 시스템이 어떤 명령(Command)을 받고 어떤 결과(Event)를 내는지 명확하게 볼 수 있죠.
이렇게 정리된 정보는 소프트웨어가 다른 시스템과 어떻게 소통할지 정의하는 API를 만드는 데 아주 중요한 기초가 됩니다.
데이터 모델링: 이벤트 스토리를 활용한 접근
소프트웨어 개발에서 필요한 데이터를 정의하는 것도 중요해요.
Clarify는 이벤트 스토리(Event Story)라는 방식을 사용하여 데이터를 모델링합니다.
이건 마치 '새로운 고객이 담당자에게 언제, 어디서, 어떤 경로로 만들어졌는지'와 같이 이야기를 풀어나가면서 필요한 정보를 찾아내는 방식이에요.
AI에게 이런 이야기를 들려주거나, 직접 입력하면 AI가 이야기 속에서 어떤 정보(엔티티)가 중요한지 추천해 줍니다.
물론 AI의 추천이 완벽하지는 않지만, 데이터 모델링 과정을 훨씬 빠르게 시작하고 필요한 정보를 놓치지 않도록 도와줍니다.
마이크로서비스 분리 및 바운디드 컨텍스트 정의
큰 소프트웨어를 작고 독립적인 부분(마이크로서비스)으로 나누는 것은 요즘 개발 방식의 중요한 특징이에요.
Clarify 도구는 만든 도메인 모델을 바탕으로 어떤 부분을 서비스로 분리할지 쉽게 정할 수 있도록 도와줍니다.
예를 들어, '고객 관리'와 관련된 부분들을 하나의 서비스로 묶고 싶다면, 그 부분만 따로 떼어내는 작업을 할 수 있어요.
이렇게 분리된 서비스들은 각자 자신만의 영역(바운디드 컨텍스트)을 가지게 되는데, 이는 다른 서비스와의 경계를 명확히 하는 데 도움이 됩니다.
도구는 분리된 서비스가 다른 서비스와 어떻게 데이터를 주고받아야 하는지(통합 지점)도 보여줘서 편리해요.
도메인 모델에서 실행 가능한 코드로: API 생성
도메인 모델링을 마치면, 이제 실제로 작동하는 소프트웨어를 만들 차례예요.
Clarify는 완성된 도메인 모델을 바탕으로 API 코드를 자동으로 생성해주는 기능을 제공합니다.
원하는 프로그래밍 언어나 프레임워크를 선택하면, 도구가 모델에 정의된 내용을 기반으로 기본적인 코드 구조를 만들어줘요.
이렇게 생성된 코드는 완벽하지는 않더라도 즉시 실행해보고 작동하는지 확인할 수 있는 수준입니다.
이를 통해 개발자는 모델링 결과물을 바탕으로 빠르게 코드 구현을 시작할 수 있으며, 기본적인 부분은 자동화하여 시간을 절약할 수 있습니다.
AI 활용의 장점과 한계: 토론 및 Q&A
구분 | 장점 | 한계 |
AI 활용 | • 복잡한 개념 빠르게 학습 | • 생성 모델의 불완전성 |
AI 도구를 사용하는 것은 분명 많은 장점이 있지만, 현재의 한계도 명확히 인지해야 합니다.
장점으로는 복잡한 개념을 빠르게 배우고 작업 속도를 높이는 데 효과적이라는 점이 있습니다.
하지만 AI가 생성한 모델이 항상 완벽하거나 원하는 결과와 정확히 일치하지는 않아요.
또한, AI에 너무 의존하면 개발자와 비즈니스 담당자 간의 직접적인 소통이 줄어들 위험도 있습니다.
AI 모델 자체에 편향성이 있을 수 있다는 점도 고려해야 할 부분입니다.
실제 적용 사례 및 활용 방안
Clarify와 같은 AI 도구는 다양한 상황에서 유용하게 활용될 수 있습니다.
컨설턴트는 워크샵을 준비할 때, 익숙하지 않은 도메인(업무 영역)에 대해 빠르게 파악하고 예시 모델을 만드는 데 사용할 수 있어요.
이렇게 미리 준비된 모델은 워크샵 참가자들의 이해를 돕고 논의를 촉진하는 데 효과적입니다.
주니어 개발자나 컨설턴트의 경우, 이 도구를 통해 다양한 도메인의 기본적인 프로세스를 빠르게 학습하고 실무 경험을 쌓는 데 도움을 받을 수 있습니다.
즉, AI 도구는 숙련된 전문가부터 초심자까지 학습과 실무 효율을 높이는 조력자 역할을 할 수 있습니다.
향후 발전 방향 및 피드백 요청
AI 도구는 아직 발전할 부분이 많이 남아있어요.
현재 모델을 수정하고 코드를 다시 생성하는 방식에서 나아가, 코드 수정 내용이 모델에 자동으로 반영되는 양방향 기능이 필요합니다.
또한, 기존 코드를 분석해서 자동으로 모델을 만들어주는 코드 역설계 기능도 유용할 것으로 예상됩니다.
이러한 기능 개선을 위해서는 실제 사용자의 경험과 피드백이 매우 중요해요.
사용자들의 의견을 통해 도구의 장단점을 파악하고, 실제 개발 과정에서 어떤 점이 더 필요한지 알 수 있기 때문입니다.
📌 AI를 활용하여 도메인 모델링 및 코드 생성을 가속화하는 Clarify 도구는 무엇인가요?
Clarify는 이벤트 스토밍, 데이터 모델링, 코드 생성을 지원하는 도구로, AI(GPT-4)를 활용하여 도메인 모델을 빠르게 생성하고 이를 기반으로 API 코드를 생성할 수 있습니다
💡 Clarify 도구의 주요 기능은 무엇인가요?
도메인 이벤트를 타임라인에 배치하고 역할을 정의
각 도메인 이벤트에 카드(문제, 기회, 사용자 스토리 등)를 추가하여 상세 정보 기록
AI 코파일럿을 사용하여 워크플로우, 카드, 데이터 모델 생성
시스템 관점에서 명령, 시스템, 이벤트를 시각화
이벤트 스토리를 활용한 데이터 모델링
관련 엔티티 식별 및 AI를 통한 제안
마이크로서비스 및 바운디드 컨텍스트 분리
도메인 모델을 기반으로 API 코드 생성
이 컨텐츠는 ai를 활용하여 ddd(도메인 주도 설계) 및 도메인 모델링 프로세스를 가속화하는 방법을 시연합니다. 특히, Clarify라는 도구를 사용하여 ai 코파일럿의 도움을 받아 비즈니스 프로세스를 도메인 모델로 빠르게 변환하고, 이를 기반으로 api 코드를 생성하는 과정을 보여줍니다. 이 도구는 이벤트 스토밍, 데이터 모델링, 코드 생성 기능을 제공하며, ai를 통해 몇 분 안에 도메인 모델을 생성하여 설계 시간을 단축하고, 비즈니스 친화적인 모델에서 아키텍트 친화적인 api 정의까지 원활하게 전환할 수 있도록 돕습니다.
1. 발표 및 배경 소개
발표자는 Staffan으로, 20년 이상의 소프트웨어 개발 경험을 가지고 있음
주로 비즈니스 측면에서 일했으나, 최근 몇 년간 다시 개발에 참여
Clarify라는 회사의 공동 창업자로, 이벤트 스토밍, 데이터 모델링, 코드 생성이 가능한 도구를 개발 중임
오늘의 주제는 AI를 활용해 도메인 모델링을 빠르게 하고, 그 모델로부터 코드를 자동 생성하는 방법임
AI를 활용하면 도메인 모델을 며칠, 몇 주가 아닌 몇 분 만에 만들 수 있음
AI가 완벽한 모델을 만들지는 못해도, 빠른 피드백과 학습에 큰 도움이 됨
Staffan의 개인적 배경: 스웨덴 북부에서 가족의 순록 사업을 이어받을 계획이었으나, 컴퓨터를 구입한 후 개발에 관심을 가짐
2008년 스톡홀름에서 Vio라는 회사를 창업, 스웨덴 최대 전자상거래 솔루션 공급업체 중 하나로 성장
4년 전 Clarify를 공동 창업, IT 프로젝트가 요구사항 수집 단계에서 자주 실패하는 문제를 해결하고자 함
2. Clarify 도구와 AI 통합의 계기
처음에는 비즈니스 프로세스 구축을 위한 빠른 도구로 시작했으나, 점차 도메인 모델 전체를 구축하는 도구로 발전
1년 전 Tech Stars 엑셀러레이터 프로그램에 선정되며, ChatGPT와의 통합을 시도
단 몇 시간 만에 AI가 비즈니스 프로세스를 자동으로 그려주는 기능이 구현됨
AI가 사용자의 자연어를 이해하고, 원하는 데이터 형식이나 피드백을 반영할 수 있게 됨
AI를 활용한 도메인 모델링은 계획에 없었으나, 실제로 큰 도움이 되었음
3. Clarify 도구의 주요 기능 및 워크플로우
Clarify 도구의 주요 기능:
도메인 이벤트를 타임라인에 배치하여 시각적으로 모델링
역할별 swim lane, 이벤트 추가/이동, 흐름 병합 등 직관적 조작 가능
각 도메인 이벤트에 카드(문제, 기회, 유저 스토리 등)를 추가해 정보 확장 가능
예시: Salesforce의 CRM 프로세스를 AI에게 프롬프트로 요청해 워크플로우 생성
"Salesperson, sales manager, customer" 역할, "new lead" 생성 등 구체적 요구사항 입력
AI가 워크플로우, 카드, 데이터 모델을 자동 생성
생성된 워크플로우에서 엔티티(예: lead, opportunity, proposal)와 시스템, 커맨드를 식별 가능
시스템 관점, 역할별 커맨드, 이벤트 연결 등 다양한 시각 제공
4. 데이터 모델링 및 AI 활용
데이터 모델링은 이벤트 스토리 방식으로 진행
도메인 전문가나 AI에게 "이 단계에서 필요한 데이터는?" 식으로 질문하여 데이터 필드 도출
예시 데이터(회사 규모 등)를 입력받아 비즈니스 인사이트 확보
7W(누가, 언제 등) 질문을 활용해 데이터 누락 방지
연관 엔티티(예: salesperson, contact person 등)도 AI의 도움으로 식별 가능
AI가 제안한 결과를 사람이 검토 및 수정하여 정확성 보완
5. 마이크로서비스 분리 및 바운디드 컨텍스트 설계
기존 모놀리스를 마이크로서비스로 분리하는 과정 시연
예: lead를 Aggregate로 보고, Salesforce 대신 자체 서비스로 분리
바운디드 컨텍스트(예: lead management) 생성, 관련 데이터 필드 및 통합 포인트 자동 식별
간단한 컨텍스트 맵 형태로 바운디드 컨텍스트 간 통합 지점 시각화
API 정의 및 구현에 필요한 정보(함수 인자, 내부 동작 등) 자동 확보
유저 스토리를 추가해 세부 비즈니스 로직까지 모델에 반영 가능
6. 코드 자동 생성 및 실제 예시
모델에서 API 코드 자동 생성 가능
예: Node.js + Express + SQL 기반 API, 파일 구조, Swagger 문서 등 자동 생성
실제로 다운로드 받아 실행, 간단한 CRUD 동작 및 Swagger 문서 확인 가능
생성된 코드는 프로토타입 수준이나, 빠른 실험 및 테스트에 유용
7. 비즈니스-아키텍처 연계 및 모델의 활용성
Clarify 도구는 비즈니스 친화적 모델에서 시작해, 아키텍처 친화적 뷰(데이터 필드, 엔티티, API)로 자연스럽게 전환 가능
향후에는 양방향 바인딩(코드-모델 상호 업데이트)도 목표
도구의 피드백 및 개선을 위해 아키텍트들의 의견을 적극적으로 수렴 중
8. 도메인 이벤트, 통합 이벤트, 비즈니스 언어의 활용
도메인 이벤트와 통합 이벤트의 구분에 대한 질문: 통합 이벤트도 도메인 이벤트의 일종으로 간주
비즈니스 언어(ubiquitous language)는 AI 프롬프트나 실제 도메인 전문가의 언어 모두 활용 가능
AI는 컨설턴트처럼 도메인 학습에 활용하거나, 실제 워크숍에서는 도메인 전문가의 언어를 직접 반영
도구는 아키텍트가 비즈니스와의 소통을 촉진하는 데 유용
9. AI 활용의 한계, 반복적 모델링, 도메인 특이성
AI는 일반적/반복적인 도메인(예: 영업, 주문, KYC 등)에서는 높은 효율을 보임
예시: 구글의 채용, 아마존 주문, 은행 KYC 등 다양한 도메인에서 활용
도메인 특이성이 높을수록 AI의 일관성/정확성은 떨어질 수 있음
AI가 60~70% 수준의 초안을 제공, 나머지는 전문가가 보완하는 방식이 현실적
생성된 모델은 팀의 논의와 수정을 통해 핵심 도메인, 차별화 요소를 추가할 수 있음
10. 전체 개발 사이클과 반복/진화적 모델링
Clarify 도구는 이벤트 모델링 → 데이터 모델링 → 코드 생성까지 지원
변경사항 발생 시, 모델을 수정하고 다시 코드 생성하는 방식
향후에는 코드-모델 간 양방향 동기화(two-way binding)도 계획 중
코드 재생성 시 전체 코드베이스가 바뀔 수 있다는 점은 과제로 남아 있음
11. 프로세스 중심/규칙 중심, UI 자동 생성 등 확장성
현재 도구는 프로세스 중심 도메인에 강점, 규칙 중심 도메인에는 한계가 있을 수 있음
UI 자동 생성 실험도 진행: 백엔드와 연동되는 프론트엔드 앱, 칸반 보드 등 생성 가능
하지만 프로토타입 수준이며, 실제 프로덕션에는 미흡
12. 데이터 모델과 도메인 모델의 구분, 복잡한 트랜잭션 처리
데이터 모델과 도메인 모델이 혼재될 위험에 대한 질문
복잡한 비즈니스 로직, 메시징, 트랜잭션 등은 유저 스토리로 일부 보완 가능
너무 복잡하게 만들면 비즈니스 친화성이 떨어질 수 있어, 단순함을 유지하는 것이 목표
여러 Aggregate를 아우르는 트랜잭션 등 고급 시나리오는 아직 연구 중
13. AI 도입 전후의 도구 변화와 온보딩 효과
Clarify 도구는 원래 AI 없이 인간 중심 모델링을 위해 개발
AI 도입 후, 초안 생성 및 온보딩 속도가 크게 향상
AI가 없는 상태에서 처음부터 모델링하는 것은 매우 어렵다는 점을 강조
모델과 코드 간의 지속적 동기화가 중요하며, 이를 위한 개선이 필요함
14. AI 도입의 커뮤니케이션 리스크와 활용 방안
AI가 도입되면 비즈니스와 개발자 간 소통이 줄어들 위험이 있음
LLM이 생성한 산출물에만 의존할 수 있으므로, 인간 간 커뮤니케이션을 의식적으로 유지해야 함
AI가 그럴듯한 결과를 내놓지만, 실제 요구사항과 다를 수 있으므로 주의 필요
15. 이벤트 모델링, CQRS, 데이터 흐름 지원
이벤트 모델링, CQRS, UI 기반 데이터 흐름 등 다양한 방식 지원
각 단계별로 읽기/쓰기 모델, 커맨드, 이벤트를 명확히 구분 가능
데이터가 Aggregate를 따라 단계별로 이동하는 방식 등도 시각적으로 확인 가능
16. 유저 스토리 매핑, JIRA 연동 등 실무 활용
유저 스토리 매핑, JIRA로의 내보내기 등 실무에 바로 활용 가능한 기능 제공
모델을 바로 백로그로 변환해 프로젝트 관리에 활용 가능
17. AI의 강점, 한계, 구조화된 산출물 생성
AI는 일반적/반복적 도메인에서 초안 생성에 강점
텍스트가 아닌 구조화된 정보(JSON, 다이어그램 등)를 생성하는 사례로 주목
워크플로우, 카드, 데이터 모델 등은 각각 별도의 JSON 포맷으로 AI가 생성
한 번에 모든 정보를 생성하기보다, 단계별로 요청하는 것이 더 효과적임
18. AI 활용의 실제 컨설팅 사례 및 효과
실제 컨설턴트가 도메인 지식이 부족한 상태에서 AI로 워크플로우 예시를 생성해 워크숍 준비에 활용한 사례
예: 전자제품 리테일러의 라스트마일 딜리버리 프로세스, 10분 만에 워크플로우 초안 생성
도메인에 대한 사전 지식이 있으면 워크숍 진행이 수월하나, 편견(바이어스) 위험도 존재
AI가 제공하는 예시, 위험, 기회 등은 아이디어 도출 및 논의 촉진에 유용
주니어 컨설턴트의 학습 및 실전 투입에도 도움이 될 수 있음
19. 사내 데이터로 AI 모델 훈련, 편견과 패턴 활용
대기업은 사내 위키, JIRA 등 자체 데이터를 활용해 LLM을 훈련하는 사례도 있음
최신성, 맥락 반영 등에서 장점
산업 전반적으로 공통 패턴, 아키타입, 분석 패턴을 찾으려는 시도가 많음
AI가 잘못된 모델을 제시해도, 도메인 전문가가 반박하며 올바른 답을 도출하는 촉진제 역할 가능
20. KPI, 예시, 확장성 및 마무리
워크플로우 내에서 KPI(핵심성과지표) 카드를 추가해 데이터 기반 논의 가능
예: "이 워크플로우에서 한두 개 KPI만 고른다면?" 식의 질문으로 핵심 개선 포인트 도출
누구나 무료로 Clarify를 체험할 수 있으며, 피드백 제공 시 추가 프로젝트 제공
21. 마무리 및 추가 안내
피드백 요청 및 유튜브 녹화본 안내
Clarify 및 발표자에게 직접 문의 가능, 다음 밋업 예고
NEXT : [영상분석] DDD & LLMs - Eric Evans - DDD Europe






