링크 하나가 항상 최신 기획서입니다
기획·개발·디자인·QA·사업부문이 같은 주소를 보고 일합니다. 처음 오신 분을 위한 5분 소개입니다.
daouplanning.pages.dev세 문장이면 다 설명됩니다
아래 세 가지가 이 허브의 전부입니다. 나머지 장표는 이 셋을 자세히 풀어 씁니다.
기능 하나에 주소 하나
주소가 JIRA 키입니다. 제목이 바뀌어도, 담당자가 바뀌어도 링크는 그대로 삽니다. 한 번 보낸 링크를 계속 쓰면 항상 최신을 봅니다.
흩어진 산출물이 한 화면에
요구사항·화면 목업·흐름도·변경이력·점검표·구현 대조가 같은 페이지의 목차와 탭으로 묶입니다. 첨부파일을 찾아 헤맬 일이 없습니다.
병합하면 갱신됩니다
기획자가 문서를 고쳐 main 에 병합하면 CI가 같은 주소를 갱신합니다.
누구도 파일을 어디에 업로드하지 않습니다.
기획서가 파일이던 시절의 비용
문서를 파일로 주고받으면 아래 다섯 가지가 반드시 따라옵니다. 개인이 꼼꼼하면 줄어들지만 사라지지는 않습니다. 구조의 문제이기 때문입니다.
파일로 주고받을 때
- 누구는 v1, 누구는 v2를 봅니다. 메일·메신저에 흩어진 첨부 중 어느 게 최신인지 받는 쪽이 알 수 없습니다.
- 목업과 명세가 따로 떠다닙니다. "이 버튼이 어느 요구사항인지" 를 매번 사람이 이어 붙입니다.
- 무엇이 바뀌었는지 안 보입니다. 개발·QA가 문서 전체를 다시 읽습니다.
- 과거 문서를 따로 보관합니다.
기획서_최종_v3_수정.pptx가 쌓입니다. - 흐름도가 파일을 늘립니다. 도식 이미지가 본문과 어긋나기 시작합니다.
허브로 옮긴 뒤
- 주소가 하나뿐입니다. 화면 상단 배너에 버전·상태·최종변경이 항상 떠 있습니다.
- 목업 요소에 요구사항 번호가 붙어 있습니다. 화면에서 눌러 명세로 건너갑니다.
- 변경이력이 탭 하나입니다. 요구사항마다 변경 N건 칩이 붙습니다.
- 버전을 고르면 그 시점 문서가 열립니다. 보관용 사본을 만들지 않습니다.
- 흐름도가 명세 안에 있습니다. 본문과 같은 파일이라 어긋나지 않습니다.
불편을 규칙으로 바꿨습니다
"잘 챙기자" 는 약속으로 두지 않고, 문제마다 구조를 하나씩 대응시켰습니다. 그래서 사람이 잊어도 결과가 흔들리지 않습니다.
| 문제 | 이 허브의 해법 |
|---|---|
| 누구는 v1, 누구는 v2를 본다 | 기능당 경로 기반 고정 URL 1개 (/DOP-16724/). 병합 시 CI가 같은 주소를 갱신합니다. |
| 구현된 화면이 기획 목업과 달라 QA가 어렵다 | 구현 대조(반영/부분반영/미반영)를 요구사항 단위로 남기고 구현 탭에 모읍니다. QA는 구현 기준으로 범위를 잡습니다. |
| 변경이력을 관련자가 확인하지 못한다 | 변경이력이 탭입니다. 요구사항 카드의 칩을 누르면 그 항목의 이력으로 바로 점프합니다. |
| "그때 문서가 어땠는지" 를 보려고 사본을 보관한다 | 변경이력에서 버전을 고르면 그 시점의 기획서가 열립니다. 원문은 형상관리 이력에서 복원하므로 사본이 없습니다. |
| 백엔드·시퀀스 흐름 때문에 파일이 늘어난다 | 흐름도를 명세 안에 텍스트로 씁니다. 도식이 요구사항 번호를 언급하면 명세 항목과 서로 링크됩니다. |
지키는 원칙은 세 개입니다
기능을 더 붙일 때도 이 셋을 깨지 않는 선에서만 붙입니다.
단일 원천
기획 내용은 specs/ 한 곳에만 있습니다. 화면에 보이는 페이지는
거기서 조립된 생성물입니다. 그래서 "어느 파일이 진짜인가" 라는 질문이 생기지 않습니다.
주소는 영구적이다
주소에 버전도 날짜도 넣지 않습니다. 링크를 다시 뿌리지 않기 위한 설계입니다. 새 버전이 나오면 같은 주소의 내용이 바뀝니다.
요구사항 ID 하나의 척추
REQ-001 같은 번호가 명세·목업·흐름도·점검표·구현 대조·이력을
전부 관통합니다. 대화의 단위가 문서가 아니라 요구사항이 됩니다.
요구사항 번호가 모든 것을 잇습니다
기획이 REQ-009 를 쓰면, 그 번호가 디자인·개발·QA 산출물에 그대로 나타납니다.
한쪽에만 있고 다른 쪽에 없으면 배포 전 검사에서 걸립니다.
기능 하나가 폴더 하나입니다
문서를 저장소에서 관리합니다. 폴더 이름이 JIRA 키 + 기능명 이고, 그 안의 파일 구성은 모든 기능이 같습니다. 구성이 같아서 읽는 쪽이 매번 구조를 다시 파악하지 않습니다.
- 기획문서는 표준 5장으로 고정입니다 — 기획배경 / 기능정의서 / 유저 업무 Flow + E2E / 벤치마킹 / KPI
- 내용이 없어도 목차에서 빼지 않습니다. "미작성" 으로 남습니다 — 빠진 것이 보여야 채울 수 있습니다
- 화면이 여러 개면
mockups/, 부속 분석 문서는docs/로 나눠 담습니다
배포는 병합의 부산물입니다
아무도 어디에 파일을 업로드하지 않습니다. 기획자가 하는 마지막 동작은 "병합" 이고, 그 뒤는 전부 자동입니다.
가볍게 만들었습니다
기획팀이 직접 유지보수할 수 있어야 오래 갑니다. 그래서 설치할 것과 배울 것을 최대한 줄였습니다.
| 구성 | 무엇 | 왜 이렇게 했는지 |
|---|---|---|
| 문서 원본 | 일반 텍스트 + HTML | 전용 편집기가 필요 없고, 변경 내역이 줄 단위로 남아 "무엇이 바뀌었는지" 를 기계가 뽑아낼 수 있습니다. |
| 조립 도구 | 파이썬 스크립트 1개 | 외부 라이브러리 없이 python3 만으로 돕니다. 사내 어느 PC 에서든 클론하면 그대로 실행됩니다. |
| 도구 배포 | 저장소 안에 포함 | 도구가 문서와 같은 저장소에 있어 설치 과정이 없습니다. 클론한 폴더를 열면 바로 잡힙니다. |
| 흐름도 | 텍스트로 쓰고 배포 때 그림으로 | 도식을 그림 파일로 관리하면 본문과 어긋납니다. 텍스트라 명세와 함께 고쳐집니다. |
| 호스팅 | 정적 페이지 호스팅 + 자동 배포 | 서버·DB 가 없어 운영 부담이 없습니다. 호스팅 계정은 최초 설정한 한 사람만 만집니다. |
| 작성 방식 | AI 코딩 도구에 말로 지시 | 버전 올리기·이력 남기기·정합성 검사를 도구가 챙깁니다. 사람은 내용 판단에만 시간을 씁니다. |
왜 문서가 아니라 "웹 페이지" 인가
같은 내용을 문서 파일로도 낼 수 있습니다. 그런데 웹 페이지로 두면 세 가지가 공짜로 따라옵니다.
목업이 살아 있습니다
화면 캡처가 아니라 실제로 눌러볼 수 있는 목업이 들어갑니다. Dialog 를 열고 탭을 옮겨 보면서 확인합니다 — 캡처로는 전달되지 않던 동작이 그대로 전달됩니다.
링크가 곧 문서입니다
다운로드도, 뷰어 설치도, 버전 확인도 없습니다. 메신저에 주소 한 줄이면 전달이 끝나고, 모바일에서도 열립니다.
요소끼리 이어집니다
화면의 버튼 → 그 요구사항 → 백엔드 흐름 → 점검 케이스로 클릭해서 건너갑니다. 문서 파일에서는 사람이 눈으로 찾아야 하던 연결입니다.
↓ 명세 원문 으로 텍스트 파일을 내려받아
다른 도구로 가져가거나 오프라인으로 들고 갈 수 있습니다. 흐름도는 SVG 저장 · PNG 저장 으로 받아 장표에 붙입니다.현재 이만큼 올라와 있습니다
HR2.0 하반기 자산화 · 전자계약(싸인오케이) · 운영 세 프로젝트로 묶여 있습니다. 묶음과 순서는 설정 파일 한 곳에서 정합니다.
| 기획문서 | 버전 | 상태 | 요구사항 | 점검 케이스 |
|---|---|---|---|---|
| DOP-16724 기타휴가 부여이력, 회수 | v1.15.1 | 확정 | 17 | 133 |
| DOP-20675 근무그룹별 휴가사용시간 설정 | v0.8.0 | 기획중 | 15 | 57 |
| DOP-19102 연차정책 관리 — 정책변경이력 탭 | v1.0.1 | 리뷰중 | 9 | 18 |
| DOP-20230 보상휴가 가산율 가변화 | v1.0.1 | 리뷰중 | 7 | 13 |
daouplanning.pages.dev 목록 페이지가 최신입니다.링크를 열면 됩니다
기획·개발·디자인·QA 외 유관부서는 저장소 권한이 필요 없습니다. 사내 이메일과 브라우저만 있으면 됩니다.
- 목록에서 찾습니다
검색창에 이슈 키(
DOP-19102) · 문서명(연차정책) · 작성자(정민경) 중 아무거나 넣습니다. 공백으로 끊으면 AND 조건이라연차 정민경처럼 좁혀갈 수 있습니다. - 상단 배너로 최신인지 확인합니다 버전·상태·최종변경일이 항상 떠 있습니다. 아래로 스크롤할 필요가 없습니다.
- 좌측 목차로 옮겨 다닙니다 기획문서 5장 · 화면 · 부속 문서 · 요구사항 목록이 한 목차에 있습니다. 요구사항을 누르면 우측 명세의 해당 항목으로 점프합니다.
- 화면에서 REQ 표시 를 켭니다 목업의 UI 요소마다 요구사항 번호가 뜨고, 누르면 그 항목의 명세·백엔드 흐름·점검 케이스가 열립니다. "이 버튼 스펙이 어디 있나요" 를 물어볼 일이 없어집니다.
- 확인이 필요하면 문의를 남깁니다 문의 탭에 질문을 올리면 기획이 답을 답니다. 답변 없는 문의가 있으면 상단에 미답변 N 이 떠서 기획이 놓치지 않습니다.
한 페이지의 구성
기능 하나의 페이지는 이렇게 생겼습니다. 왼쪽에서 고르고 오른쪽에서 읽습니다.
- 버전 배너 — 지금 보는 것이 최신인지 여기서 판단이 끝납니다
- 탭 — 명세 · 화면 · 흐름 · 변경이력 · 점검 · 구현 · 문의
- 칩 — 누르면 그 요구사항의 변경이력·문의로 점프합니다
- 목업 요소 — 누르면 그 요구사항의 명세로 건너갑니다
+ − 로 배율을 조정합니다.네 단계를 끝까지 밟습니다
명세를 조금이라도 바꿨다면 중간에 멈추지 않습니다. 멈추면 다시 "누구는 v1 을 보는" 상태로 돌아갑니다. 실제로는 파일을 직접 열지 않고 AI 코딩 도구에 말로 시킵니다 — 2·3단계를 도구가 챕니다.
- 소스를 고칩니다 명세 · 목업 · 부속 문서 · 점검표 · 구현 대조 중 해당하는 파일만. 완성된 페이지는 생성물이라 손대지 않습니다.
- 버전을 올립니다 (bump) 무엇이 왜 바뀌었는지 요구사항 번호를 포함해 변경이력에 적습니다. 사소한 변경은 patch 로.
- 정합성 검사를 돌립니다 (lint) 번호가 어긋나거나 태깅이 빠지면 여기서 걸립니다. 오류가 남아 있으면 안 됩니다.
- 커밋 → PR → 병합 병합되면 CI가 고정 URL 에 반영합니다. 커밋 메시지에 버전과 요구사항 번호를 남깁니다.
# 저장소 폴더에서 Claude Code 를 열고 그냥 말합니다 "DOP-16724 상세내역 필터에서 전체 옵션 빼고, 클릭한 행의 휴가유형이 기본 선택되게 해줘" "근무그룹 휴가사용시간 설정 개발기능점검 체크리스트 만들어줘" "DOP-20230 지금 최신 버전 뭐야?"
역할마다 만지는 파일이 다릅니다
서로 다른 파일을 만지므로 같은 기능을 동시에 작업해도 충돌이 거의 없습니다.
| 역할 | 주로 만지는 파일 | 하는 일 |
|---|---|---|
| 기획 | spec.md · mockups/ |
요구사항·흐름도·버전을 관리합니다. 명세의 오너이고, 문의에 답을 답니다. |
| 디자인 | mockups/ |
화면을 수정합니다. 이때 요구사항 태깅을 유지합니다 — 태깅이 끊기면 "화면에서 보기" 가 그 요소를 못 짚습니다. |
| 개발 | impl.md · qna.md |
구현 대조 결과를 남기고, 명세로 판단이 안 되는 지점은 문의로 올립니다. |
| QA | qa.md |
점검 케이스의 체크박스를 갱신합니다. 기획안이 아니라 구현 대조 기준으로 범위를 잡습니다. |
| 그 외 유관부서 | — (권한 없음) | 링크를 열어 읽고, 필요하면 문의를 남깁니다. 저장소 권한을 주지 않습니다. |
규칙 넷, 그리고 남은 일
왼쪽은 쓰는 분이 지키는 규칙, 오른쪽은 아직 손대야 하는 것입니다.
꼭 지키는 규칙
- 요구사항 번호를 재사용하지 않습니다. 없어진 요구사항은 지우지 말고 "제외" 로 남깁니다 — 이력 추적과 회귀 판단에 쓰입니다
- 완성된 페이지를 손으로 고치지 않습니다. 생성물입니다. 항상 소스를 고치고 다시 만듭니다
- 새 기능에는 프로젝트를 반드시 적습니다. 안 적으면 목록의 "미분류" 로 떨어집니다
- 브랜치 푸시만으로는 배포되지 않습니다.
main에 병합돼야 링크가 갱신됩니다 — "내가 올린 게 왜 안 보이지" 의 대부분이 이 경우입니다
아직 남은 일
- 열람 제한 — 사내 기획 문서이므로
@daou.co.kr로 접근을 제한할 예정입니다. 유관부서에 링크를 널리 뿌리기 전에 끝내야 하는 일입니다. - PR 단계 자동 검사 — 지금은 병합 시점에만 검사가 돕니다. PR 에서도 돌려 정합성이 깨진 명세가 병합되는 것을 막을 예정입니다
- 검토 계층 — 기능 지도 · 변경점 비교 · 동작 점검표 같은 검토 문서를 자동 생성하는 도구를 붙일 예정입니다
여기서 시작하시면 됩니다
쓰는 분 (기획·개발·디자인·QA)
- 저장소를 클론합니다 — 도구가 안에 들어 있어 설치가 없습니다
- 그 폴더에서 Claude Code 를 열고 말로 시킵니다
- 버전 올리기 → 검사 → PR → 병합까지 끝냅니다
- 세팅부터 배포 확인까지는 실무 가이드에 순서대로 있습니다