테크 스펙
테크 스펙 (Tech Spec)
테크 스펙은 단순 문서가 아니라, 개발에 앞서 무엇을, 어떻게, 왜 개발할지를 정리하고 공유하는 소통의 도구이자 설계의 결과물임
개발 방향 정리: 내가 어떻게 개발할 것인지에 대한 생각과 구조를 미리 정리
일정 산정 도구: 전체 개발 흐름을 예측하고 작업 단위를 나누어 공수를 산정
협업 도구: 디자이너, 백엔드, QA 등과의 협업을 원활하게 만들고 의사결정을 문서로 남김
문서화/히스토리 관리: 향후 유지보수나 회고를 위해 결정의 이유와 흐름을 기록
테크 스펙을 작성하며 고민하게 되는 내용
일정 산정
개발 외적인 요소도 고려
회의, 리뷰, QA, 테스트, PoC 등
타 팀과의 디펜던시 이슈 (회색 영역)
큰 작업일수록 오차 범위도 커짐
작업을 잘게 쪼개고, 각각의 공수를 예측하여 합산 + 버퍼(오차 범위)를 고려
Ex)
회원가입 페이지
를 만드는 작업Form UI 구성
2025/06/08
~유효성 검사 로직
2025/06/09
~중복 ID 체크 API 연동
가입 완료 후 라우팅 처리
테스트 코드 작성 등
기능 설계
전체적인 기능 구조와 흐름을 큰 그림에서 설계
어떤 컴포넌트가 필요하고, 어떤 API가 필요한지 예상
누락 없이 예상 가능한 모든 케이스 정리
사용자 플로우와 예외 처리까지 고려
유저 시나리오 작성
기능 단위로 다음과 같은 시나리오를 작성
[조건]의 [대상]은 [목적]을 위해 [행동]을 할 수 있다.
유저 시나리오 예시
사용자는 로그인과 회원가입을 할 수 있다.
회원가입 시 이메일, 비밀번호 등을 입력하여 가입할 수 있다.
이미 존재하는 이메일을 입력하면, 중복임을 알 수 있다.
로그인한 유저는 게시물 상세 정보를 볼 수 있다.
게시물에는 작성자 정보, 본문, 댓글이 함께 노출된다.
성공 케이스 뿐만 아니라 엣지 케이스 모두 정의
유저 플로우를 정리하기 위해 플로우 차트를 사용하기도 함
유저의 플로우를 어떻게 개발할지 간단히 수도코드를 작성하기도 함
엣지 케이스도 함께 정의하는 것이 중요함 예: 비밀번호 1자 입력 시, 네트워크 오류 발생 시 등
테크 스펙을 문서화할 때의 장점
테크 스펙을 작성하다보면 위 내용들을 자연스럽게 고민하게됨
기획-디자인-프론트-백엔드 간 협업 도구로 작동
작업자들의 소통 도구로 논의할 때 기준점이 됨
엣지 케이스나 누락된 조건을 더 쉽게 발견 가능
히스토리 관리
나중에 기능을 고치거나 확장할 때, 과거 설계 의도를 파악 가능
Last updated