테크 스펙

테크 스펙 (Tech Spec)

테크 스펙은 단순 문서가 아니라, 개발에 앞서 무엇을, 어떻게, 개발할지를 정리하고 공유하는 소통의 도구이자 설계의 결과물

  • 개발 방향 정리: 내가 어떻게 개발할 것인지에 대한 생각과 구조를 미리 정리

  • 일정 산정 도구: 전체 개발 흐름을 예측하고 작업 단위를 나누어 공수를 산정

  • 협업 도구: 디자이너, 백엔드, QA 등과의 협업을 원활하게 만들고 의사결정을 문서로 남김

  • 문서화/히스토리 관리: 향후 유지보수나 회고를 위해 결정의 이유와 흐름을 기록

테크 스펙을 작성하며 고민하게 되는 내용

일정 산정

  • 개발 외적인 요소도 고려

    • 회의, 리뷰, QA, 테스트, PoC 등

    • 타 팀과의 디펜던시 이슈 (회색 영역)

  • 큰 작업일수록 오차 범위도 커짐

    • 작업을 잘게 쪼개고, 각각의 공수를 예측하여 합산 + 버퍼(오차 범위)를 고려

  • Ex)회원가입 페이지를 만드는 작업

    • Form UI 구성 2025/06/08 ~

    • 유효성 검사 로직 2025/06/09~

    • 중복 ID 체크 API 연동

    • 가입 완료 후 라우팅 처리

    • 테스트 코드 작성 등

기능 설계

  • 전체적인 기능 구조와 흐름을 큰 그림에서 설계

  • 어떤 컴포넌트가 필요하고, 어떤 API가 필요한지 예상

  • 누락 없이 예상 가능한 모든 케이스 정리

  • 사용자 플로우와 예외 처리까지 고려

유저 시나리오 작성

기능 단위로 다음과 같은 시나리오를 작성

[조건] [대상][목적]을 위해 [행동]을 할 수 있다.

  • 유저 시나리오 예시

    • 사용자는 로그인과 회원가입을 할 수 있다.

    • 회원가입 시 이메일, 비밀번호 등을 입력하여 가입할 수 있다.

    • 이미 존재하는 이메일을 입력하면, 중복임을 알 수 있다.

    • 로그인한 유저는 게시물 상세 정보를 볼 수 있다.

    • 게시물에는 작성자 정보, 본문, 댓글이 함께 노출된다.

  • 성공 케이스 뿐만 아니라 엣지 케이스 모두 정의

  • 유저 플로우를 정리하기 위해 플로우 차트를 사용하기도 함

  • 유저의 플로우를 어떻게 개발할지 간단히 수도코드를 작성하기도 함

테크 스펙을 문서화할 때의 장점

테크 스펙을 작성하다보면 위 내용들을 자연스럽게 고민하게됨

  • 기획-디자인-프론트-백엔드 간 협업 도구로 작동

    • 작업자들의 소통 도구로 논의할 때 기준점이 됨

    • 엣지 케이스나 누락된 조건을 더 쉽게 발견 가능

  • 히스토리 관리

    • 나중에 기능을 고치거나 확장할 때, 과거 설계 의도를 파악 가능

Last updated