소프트웨어 개발에서는 전통적인 엔지니어링 기반 문서 체계와 제품 중심 애자일 문서 체계가 있다. 각각은 목적과 강조점이 다르지만, 공통적으로 요구사항 정의 → 설계 → 실행 계획이라는 흐름을 가진다. 이번 글에서는 두 체계를 비교해 보겠습니다.
1. SRS 기준의 설명
전통적인 소프트웨어 엔지니어링에서는 IEEE 표준을 기반으로 한 문서 체계가 사용된다.
- SRS (Software Requirements Specification)
소프트웨어 요구사항 명세서. 시스템이 제공해야 할 기능과 비기능 요구사항을 모두 정의합니다. 고객의 요구를 기술적으로 변환해 개발의 기준점이 되는 문서입니다. - SDD (Software Design Description)
소프트웨어 설계 문서. 아키텍처, 모듈 구조, 데이터 흐름, 인터페이스 등을 구체적으로 설명합니다. IEEE 1016 표준에서도 다뤄지는 용어입니다. - SPMP (Software Project Management Plan)
소프트웨어 프로젝트 관리 계획. 일정, 인력, 자원, 리스크, 품질 관리 계획 등을 포함해 프로젝트 수행 방법을 정의합니다.
👉 이 체계는 대규모 프로젝트, 장기 개발, 규제 산업(금융, 의료, 국방 등)에서 특히 중하다.
2. PRD 기준의 설명
제품 중심의 애자일 개발에서는 보다 가볍고 민첩한 문서 체계를 선호한다.
- PRD (Product Requirements Document)
제품 요구사항 문서. 사용자 문제와 제품 목표, 핵심 기능을 정의한다. "무엇을 만들 것인가"를 고객/시장 관점에서 설명한다. - Tech Spec (Technical Specification / Technical Design Doc)
기술 사양 문서. PRD를 구현하기 위해 필요한 기술적 접근, 아키텍처, API, 데이터 구조 등을 정리한다. 회사에 따라 TDD(Technical Design Document)라고도 부른다. - Roadmap / Backlog
실행 계획. 제품 개발의 중장기 로드맵과, 단기적으로 실행할 백로그(Task, Story)로 구성됩니다. Jira, Trello 같은 도구와 밀접하게 연결된다.
👉 이 체계는 스타트업, 신제품 개발, 빠른 릴리즈와 피드백이 중요한 환경에 적합하다.
3. 둘의 비교 테이블
| 구분 | 전통적 엔지니어링 (SRS/SDD/SPMP) | 제품 중심 애자일 (PRD/Tech Spec/Roadmap) |
|---|---|---|
| 출발점 | 시스템/요구사항 중심 | 사용자/제품 가치 중심 |
| 요구사항 문서 | SRS | PRD |
| 설계/기술 정의 | SDD | Tech Spec |
| 계획/실행 관리 | SPMP | Roadmap / Backlog |
| 문서 무게감 | 무겁고 체계적 | 가볍고 민첩 |
| 변경 대응 | 느리지만 추적성 높음 | 빠르고 유연 |
| 적합 환경 | 대규모, 규제, 장기 프로젝트 | 스타트업, 애자일, 신제품 출시 |
4. 마무리
두 체계는 모두 요구사항 정의 – 설계 – 실행 계획이라는 흐름을 공유하지만,
- SRS/SDD/SPMP는 포멀하고 안정적인 관리를 위한 체계,
- PRD/Tech Spec/Roadmap은 사용자 가치 중심의 빠른 실행을 위한 체계.
따라서 프로젝트 성격에 따라 적절히 선택하거나, 두 방식을 절충해 사용하는 것이 바람직하다.
예를 들어, 스타트업 환경에서는 PRD/Tech Spec/Roadmap을 기본으로 하되, 보안이나 안전과 같은 영역은 SRS 수준으로 관리하는 방식이 가능하다.
Agent 기반 코딩에서도 프로젝트/프러덕트의 특징에 따라 어떤 방법을 쓰던, 요구 사항을 정리하고 단계별로 개발을 진행하는 것이 효과적으로 진행할 수 있는 방법이라고 할 수 있겠다.
'Software Architecture' 카테고리의 다른 글
| 레거시 코드 리팩토링이 막막할 때, PatternSphere (1) | 2026.01.21 |
|---|---|
| 살아 있는 공간을 위한 접근: Christopher Alexander와 University of Oregon의 Generative Sequence (0) | 2025.09.24 |
| Cross-platform 개발, 왜 필요한가? React Native와 Expo 전략 총정리 (1) | 2025.09.17 |
| 효과적인 소프트웨어 아키텍처 실험: 최소한으로 최대한의 성과 얻기 (0) | 2025.02.19 |
| Softareware Architecture: 무엇을 남길 것인가? (0) | 2025.01.08 |