사이드 프로젝트를 시작할 때마다 늘 똑같았다.
"일단 만들면서 생각하자"로 시작해서, 중간에 뭔가 꼬이고, 결국 처음부터 다시 짜는 패턴이었는데,
이번엔 다르게 해보고 싶었다.
이미 기존에 유저 인증 관련 기능들은 개발을 해서 게시글 CRUD 기능을 개발 하기 전에 제대로 설계하고 시작하면 어떨까 싶어서 개발 명세서를 먼저 써봤다.
우선 프로젝트 개요, 기술 스택, 기능 요구사항 이렇게 크게 세 파트로 나눠서 작성했다.
프로젝트 개요는 간단하게 프로젝트명이랑 버전, 설명 정도만 정리했고,
기술 스택은 프론트엔드, 백엔드, 인증, 클라우드까지 어떤 기술을 왜 선택했는지 작성했다.
기능 요구사항은 게시글 작성, 목록 조회, 상세 조회, 수정, 삭제 각각에 대해 상세 요구사항, 예외 케이스, 테스트 시나리오를 정리했다.
왜 App Router를 썼는지, 왜 Drizzle을 선택했는지, 왜 MySQL인지. 그냥 "익숙해서"라고 쓰고 싶은 걸 꾹 참고, 이 프로젝트에 맞는 이유를 찾아서 적었다.
또 하나는 가상의 동료를 상상하면서 쓰는 거였다. 이 문서를 처음 보는 사람이 이해할 수 있을까를 계속 생각해서 힘들었다.
실제로 개발 명세서를 1차로 남에게 보여줬을때 명세서가 너무 추상적이라서 이해하기 어렵다는 피드백을 받아
명세서를 최대한 그룹화하고 카테고리화해서 정리하는 방향으로 수정했다.
그래서 명세서 쓰는 데 시간이 꽤 들었다. 근데 다 쓰고 나니까 머릿속이 정리됐다. 뭘 만들어야 하는지, 예외 상황은 뭐가 있는지, 테스트는 뭘 해야 하는지가 명확해졌다.
개발 명세서는 아래의 노션 링크를 통해 확인할 수 있다!
https://scarlet-fur-8d3.notion.site/2b7dc5c7226b80ac803bdd76476e7f96?source=copy_link
게시판 기능 개발 명세서 | Notion
1. 프로젝트 개요
scarlet-fur-8d3.notion.site
'개발 > 사이드 프로젝트' 카테고리의 다른 글
| 사이드 프로젝트에 테스트 코드 작성하기 (0) | 2025.11.26 |
|---|