쉽게 따라 할 수 있는 아키텍처 프레임워크
Source: Dev.to
Context
TOGAF를 처음 접했을 때 기본적인 문제에 막혔습니다 — 명확한 시작점이 없었습니다. 모든 섹션이 다른 섹션을 참조하고, 모든 프로세스는 대부분의 팀이 가지고 있지 않은 거버넌스 구조를 전제로 합니다. Zachman에서도 같은 문제가 있었습니다. 충분히 이해하고 따라가려면 많은 시간을 투자해야 하고, 그래도 대부분 실제 프로젝트에는 너무 무겁습니다.
건축가로서 수년간 일하면서 새로운 프로젝트에서 해야 할 일, 다음 단계로 넘어가기 전에 확인해야 할 사항, 일반적으로 어디서 문제가 발생하는지를 정리한 메모를 모았습니다. 반복해서 사용한 템플릿, 첫날 열어두는 체크리스트 등도 포함했습니다. 어느 순간 이 자료들을 구조화하여 공유할 수 있게 되었습니다. 저는 이를 D3라고 이름 붙였습니다.
D3란 무엇인가?
D3는 세 단계에 걸쳐 구축된 경량 아키텍처 전달 프레임워크입니다:
Discover → Design → Deploy
각 단계마다 명확한 목표, 구체적인 단계, 일반적인 함정 목록, 그리고 definition of done 체크리스트가 있습니다. 체크리스트가 핵심 요소이며, 모든 항목이 확인될 때까지 다음 단계로 넘어가지 않습니다. 준비가 되었는지 추측할 필요가 없습니다. 나중에 조용히 위험으로 변하는 미확인 사항도 없습니다.
이 프레임워크는 개인 아키텍트와 팀, 스타트업과 대기업 모두에 적용됩니다. 인증, 거버넌스 보드, 혹은 수개월에 걸친 설정이 필요하지 않으며—단지 명확한 문제와 이를 구조화된 방식으로 해결하려는 의지만 있으면 됩니다.
세 단계
발견
- 실제 비즈니스 문제를 이해하고, 단순히 제시된 요청만이 아니라 그 근본을 파악한다.
- 적절한 사람들과 범위를 합의하고, 요구사항을 포착하며, 가정과 미해결 질문을 문서화한다.
- 목표: 완벽함이 아니라 자신 있게 설계할 수 있을 정도의 충분한 명확성.
설계
- 배운 내용을 검증된 아키텍처로 전환한다.
- 항상 최소 두 가지 옵션과 그 트레이드‑오프를 제시한다; 절대 단일 답만 제시하지 않는다.
- 초기에 공유한다 — 지금 검토하는 거친 다이어그램이 나중에 검토하는 완성된 문서보다 비용이 적게 든다.
배포
- 전달하고 인계한다.
- 이 단계는 이해관계자가 시스템을 독립적으로 운영할 수 있게 될 때만 종료된다 — 코드가 배포되었거나 문서가 전송되었다는 시점이 아니다.
- 소유권이 실제로 이전되어야 한다.
프로젝트 유형 — 프레임워크는 여러분과 함께 확장됩니다
| 유형 | 기간 | 목표 |
|---|---|---|
| 자문 | 3~4주 | 전략적 방향 및 고수준 설계 |
| 파일럿 | 2~3개월 | 검증된 프로토타입 또는 워크로드 통합 |
| 딜리버리 | 6개월 이상 | 운영 인수인계가 포함된 전체 생산 시스템 |
각 유형은 누적됩니다 — 파일럿은 모든 자문 결과물을 포함하고, 딜리버리는 모든 파일럿 결과물을 포함합니다. 참여에 맞는 유형을 선택하면 프레임워크가 그에 맞게 깊이를 조정합니다.
각 단계에 포함된 내용
단계 자체를 넘어, 각 단계에는 다음이 포함됩니다:
- Common pitfalls — 내가 직접 겪었거나 본 구체적인 실수들을 간단히 서술 (예: 이해관계자의 요청을 문제 자체로 착각하기, 옵션을 하나만 제시하고 두 개는 제시하지 않기, CI/CD를 마지막까지 우선순위에서 제외하기).
- Definition of done checklist — 진행하기 전에 확인해야 할 구체적인 항목 리스트. 규칙: 미해결 사항이 남아 있으면 진행하지 않는다.
- Internal tools — 설계자를 위한 작업 문서(가정 로그, 미해결 질문 로그, 이해관계자 맵)로, 클라이언트에게 제공되는 산출물과는 별도로 관리한다.
- Session guides — 발견, 디자인 리뷰, 인수인계 세션을 어떻게 진행할지에 대한 가이드(시작 전, 진행 중, 종료 후).
Who it’s for
Junior or senior — 새로운 프로젝트라도 처음에 무엇을 해야 할지 몰라 당황할 수 있습니다. D3는 첫날부터 명확한 실행 계획을 제공합니다.
It’s aimed at architects, tech leads, and engineers who end up designing systems regardless of title. → 이것은 직함에 관계없이 시스템 설계를 담당하게 되는 아키텍트, 기술 리드, 엔지니어를 대상으로 합니다.
It’s not a methodology or a certification path; it’s a structured way to go from a stakeholder’s pain point to a delivered, handed‑over system — and always know what phase you’re in. → 이것은 방법론이나 인증 경로가 아니라, 이해관계자의 문제점에서 시작해 실제 전달·인수된 시스템에 이르기까지 구조화된 접근 방식이며, 언제든 현재 단계가 무엇인지 알 수 있습니다.
The framework is free and open. I’d love to know if it’s useful — or where it doesn’t fit your experience. → 이 프레임워크는 무료이며 오픈 소스입니다. 유용한지, 혹은 여러분의 경험에 맞지 않는 부분이 있는지 알려주시면 감사하겠습니다.