Superpowers 완벽가이드 5편: 큰 작업을 작은 계획으로 나누는 구조

요약#

핵심 요지#

  • 문제 정의: 설계가 끝났다고 바로 구현에 들어가면, 큰 작업은 다시 뭉뚱그려진 채 진행되어 중간에 흔들리기 쉽습니다
  • 핵심 주장: Superpowers1writing-plans2를 통해 큰 작업을 2~5분 단위의 작은 계획으로 쪼개고, 파일 경로, 테스트, 검증, 커밋까지 미리 구조화합니다
  • 주요 근거: 공식 README는 설계 뒤에 writing-plans를 두고, skill 문서는 exact file paths, complete code, exact commands, TDD, frequent commits를 계획 단계에서 강제합니다
  • 한계: 계획이 구체적일수록 준비 시간은 더 들 수 있습니다. 하지만 그 비용은 구현 중 길을 잃지 않기 위한 선행 투자에 가깝습니다

문서가 설명하는 범위#

  • Superpowers가 계획을 잘게 쪼개는지
  • writing-plans가 실제로 무엇을 만드는지
  • 파일 책임, 테스트, 커밋이 왜 계획에 포함되는지
  • 작은 계획이 구현 품질을 높이는 이유

읽는 시간: 11분 | 난이도: 초급


참고 자료#


바로 써먹는 시작 템플릿#

설계 다음 단계에서 계획을 더 선명하게 만들고 싶다면, 아래 문장으로 시작하면 됩니다.

  • 이 설계를 구현 계획으로 쪼개주세요.
  • 각 단계는 2~5분 안에 끝날 정도로 잘게 나눠주세요.
  • 파일 경로, 테스트, 검증 명령까지 포함해주세요.
  • 큰 단계가 아니라 바로 실행 가능한 체크리스트로 정리해주세요.
TIP

writing-plans의 핵심은 멋진 계획 문서를 만드는 데 있지 않습니다.
실제로 손을 대야 할 작업을 더 이상 추측하지 않아도 되게 만드는 데 있습니다.


문제 상황#

설계가 끝나면 많은 사람이 안도합니다.
무엇을 만들지 정했으니, 이제 구현만 하면 된다고 생각하기 쉽습니다.

하지만 실제로는 이 지점에서 또 다른 문제가 시작됩니다.
설계가 아무리 좋아도, 구현 단위가 너무 크면 다시 모호함이 돌아오기 때문입니다.

  • 어디부터 손대야 하는지 애매합니다
  • 파일을 어떻게 나눌지 중간에 다시 흔들립니다
  • 테스트를 언제 쓰는지가 뒤로 밀립니다
  • 커밋 단위가 커져서 되돌리기 어렵습니다
  • 구현자가 중간에 스스로 해석을 추가하게 됩니다

그래서 Superpowers는 설계 다음에 곧바로 구현을 두지 않습니다.
그 사이에 writing-plans를 넣어서, 큰 작업을 작고 검증 가능한 단계로 바꾸게 만듭니다.


왜 계획을 잘게 나눌까요?#

공식 README는 설계 뒤에 writing-plans가 오고, 그 다음에 구현이 이어진다고 설명합니다.
이 순서가 중요한 이유는 간단합니다.

설계는 방향을 정하지만, 계획은 움직이는 단위를 정합니다.
방향만 있고 단위가 없으면, 구현은 다시 감각과 추측에 의존하게 됩니다.

writing-plans가 강조하는 핵심은 다음과 같습니다.

  • 각 단계는 2~5분 단위의 한 행동이어야 합니다
  • 정확한 파일 경로가 있어야 합니다
  • 테스트와 검증 명령이 포함되어야 합니다
  • 커밋도 계획에 들어가야 합니다

즉, 계획은 “이제 구현하면 됩니다”라는 선언이 아닙니다.
어디를 어떻게 바꾸고 무엇으로 확인할지를 미리 확정하는 단계입니다.


writing-plans는 실제로 무엇을 할까요?#

writing-plans skill은 구현 계획을 그냥 할 일 목록처럼 쓰지 않습니다.
문서를 보면 목표, 아키텍처, 기술 스택, 파일 구조, 작업 단계, 테스트, 커밋까지 포함하는 구조를 요구합니다.

큰 흐름은 이렇게 이해하면 됩니다.

flowchart LR A["설계 승인"] --> B["파일 구조 정리"] B --> C["작업을 2~5분 단위로 분해"] C --> D["테스트와 검증 명시"] D --> E["커밋 단위까지 확정"]

이 흐름에서 핵심은 “계획도 구현처럼 구체적이어야 한다”는 점입니다.
추상적인 계획은 구현자에게 다시 해석 부담을 넘기기 때문입니다.


왜 파일 구조를 먼저 정할까요?#

writing-plans 문서는 작업을 나누기 전에 파일 구조부터 정리하라고 요구합니다.
무엇을 만들기 전에 어디에 둘지를 먼저 정하라는 뜻입니다.

이 단계가 중요한 이유는 파일 경계가 곧 책임 경계가 되기 때문입니다.

  • 어떤 파일이 무엇을 맡는지 분명해집니다
  • 같이 바뀌는 코드가 어디에 있어야 하는지 드러납니다
  • 하나의 파일이 너무 많은 일을 하지 않도록 제어할 수 있습니다
  • 구현 단계에서 “일단 여기 넣자”가 줄어듭니다

즉, 파일 구조는 나중에 정리할 정리 작업이 아닙니다.
계획 단계에서 이미 설계 결정을 잠그는 역할을 합니다.


왜 2~5분 단위가 중요할까요?#

이 부분이 Superpowers에서 가장 흥미로운 지점 중 하나입니다.
writing-plans는 각 단계를 아주 작게 쪼개라고 요구합니다.

예를 들면 이런 식입니다.

  • 실패하는 테스트를 작성하기
  • 테스트가 실제로 실패하는지 실행하기
  • 최소 구현 추가하기
  • 테스트가 통과하는지 확인하기
  • 커밋하기

중요한 점은, 이 다섯 개가 한 덩어리가 아니라 각각 한 단계라는 점입니다.

작은 단위가 좋은 이유는 분명합니다.

실패 지점을 바로 찾을 수 있습니다#

한 번에 많은 일을 하면 어디서 문제가 났는지 모르게 됩니다.
작은 단계는 실패 지점을 눈앞으로 끌어옵니다.

구현자가 길을 잃지 않습니다#

단계가 크면 다음 행동을 해석해야 합니다.
단계가 작으면 그냥 수행하면 됩니다.

중간 검증이 쉬워집니다#

테스트, 실행, 확인, 커밋이 분리되면, 각 단계가 끝날 때마다 상태를 점검할 수 있습니다.

즉, 작은 계획은 느린 계획이 아니라, 흔들리지 않는 계획입니다.


왜 테스트까지 계획에 넣을까요?#

많은 계획 문서는 기능 단계만 적고 테스트는 마지막에 밀어둡니다.
하지만 writing-plans는 처음부터 테스트를 단계 안에 넣습니다.

공식 문서가 이 구조를 강조하는 이유는 분명합니다.
Superpowers 전체 철학이 TDD3, 검증, 증거 중심 흐름 위에 있기 때문입니다.

계획에 테스트가 들어가면 좋은 점은 다음과 같습니다.

  • 구현보다 앞서 성공 기준이 보입니다
  • “됐는지 아닌지”를 말로 다투지 않게 됩니다
  • 구현자 마음대로 완료 선언하기 어려워집니다
  • 다음 단계로 넘어갈 근거가 분명해집니다

그래서 Superpowers는 테스트를 구현 뒤의 선택 사항으로 두지 않습니다.
계획 안에 미리 끼워 넣어서, 구현 전체를 그 기준에 맞추게 만듭니다.


왜 커밋까지 계획에 넣을까요?#

처음 보면 조금 과하다고 느껴질 수 있습니다.
하지만 writing-plans는 frequent commits를 매우 강하게 강조합니다.

이유는 단순합니다.

  • 커밋 단위가 작아야 되돌리기 쉽습니다
  • 어떤 변화가 어느 단계와 연결되는지 분명해집니다
  • 코드 리뷰가 더 쉬워집니다
  • 실패한 실험을 버리기가 쉬워집니다

즉, 커밋은 작업이 끝난 뒤의 정리 버튼이 아닙니다.
작업 단위를 분리하는 경계선입니다.

Superpowers는 이 경계선까지 계획 단계에서 미리 정해두려 합니다.
그래야 구현자가 나중에 감으로 뭉뚱그려 커밋하지 않게 됩니다.


좋은 계획은 어떻게 생겼을까요?#

writing-plans 문서를 보면 좋은 계획의 기준은 꽤 선명합니다.

좋은 계획의 특징

  • exact file paths가 있습니다
  • 단계마다 한 행동만 들어 있습니다
  • 테스트와 검증 명령이 포함됩니다
  • 기대 결과가 적혀 있습니다
  • 커밋 단위가 보입니다
  • 큰 덩어리 대신 체크박스 단위로 추적할 수 있습니다

반대로 좋지 않은 계획은 보통 이렇습니다.

나쁜 계획의 예

- 로그인 기능 구현
- 테스트 추가
- 검증

이건 계획처럼 보이지만 실제로는 제목만 있는 상태에 가깝습니다.
무엇을 어디에서 어떻게 바꾸는지, 무엇으로 확인하는지가 비어 있기 때문입니다.


계획이 구체적일수록 구현은 쉬워질까요?#

보통은 그렇습니다.
그리고 Superpowers가 바로 그 점을 노립니다.

구현이 어려운 이유는 종종 코딩 실력보다, 모호한 계획 때문입니다.
무엇을 해야 할지 모호하면, 구현자는 그 빈칸을 매번 자기 판단으로 채워야 합니다.

반대로 계획이 선명하면 구현은 더 단순한 작업이 됩니다.

  • 어느 파일을 만질지 압니다
  • 어떤 테스트부터 써야 할지 압니다
  • 어떤 명령으로 검증할지 압니다
  • 어디까지가 한 단계인지 압니다

Jesse Vincent의 글이 설계 뒤에 바로 계획을 놓는 것도 같은 맥락입니다.
좋은 계획이 있으면, 이후의 서브에이전트나 실행 흐름이 더 오래 흔들리지 않고 갈 수 있기 때문입니다.


마무리#

Superpowers가 큰 작업을 작은 계획으로 나누는 이유는 단순합니다.
좋은 설계만으로는 아직 구현이 안전해지지 않기 때문입니다.

writing-plans는 설계를 실행 가능한 작업 단위로 번역합니다.
파일 구조를 정하고, 단계를 2~5분 단위로 나누고, 테스트와 검증과 커밋까지 계획 안에 포함시킵니다.

다음 글에서는 이 계획을 실제 구현으로 옮기는 단계, 즉 subagent-driven-development, TDD, 코드 리뷰가 어떻게 이어지는지 설명하겠습니다.

Footnotes#

  1. Superpowers(슈퍼파워즈): 코딩 에이전트가 더 구조적으로 일하도록 돕는 skills 기반 시스템이다.

  2. writing-plans(라이팅-플랜스): 설계를 구체적인 구현 계획과 작업 단계로 바꾸는 Superpowers의 핵심 skill이다.

  3. TDD(테스트 주도 개발): 실패하는 테스트를 먼저 만들고, 그 테스트를 통과시키는 최소 구현을 작성하는 개발 방식이다.

공유

이 글이 도움이 되었다면 다른 사람과 공유해주세요!

Superpowers 완벽가이드 5편: 큰 작업을 작은 계획으로 나누는 구조
https://github.com/obra/superpowers
작성자
Moodturn
게시일
2026-03-18
Moodturn

목차