POC (Proof of Concept), feasibility study, timebox research
어원 분해
spike
└── PIE *spei- (뾰족한 것, 날카로운 끝)
├── Old Norse: spīkr (못, 쐐기)
│ └── 영어: spike (날카로운 못·돌기)
├── Old English: spīca (이삭, 뾰족한 것)
│ └── spica (라틴 경유) → spice (향신료 — 날카로운 맛)
└── 형제 단어
├── spine (가시, 척추 — 뾰족하게 돌출)
├── spear (창 — 찌르는 것)
├── spoke (바퀴살 — 바퀴 중심에서 뻗어나간 뾰족 막대)
└── spigot (꼭지, 마개 — 뾰족한 막개)
PIE *spei-는 “끝이 날카롭다”는 물리적 형태를 뿌리로 가진다. spike, spine, spear는 모두 “뾰족하게 찌르거나 돌출된 것”이라는 공통 이미지를 공유한다.
의미 변천
시기
의미
맥락
14세기
큰 못, 쐐기
목공·건축 — 나무를 관통하는 금속 못
17~18세기
뾰족한 돌기, 식물의 이삭
자연 묘사 (spike of wheat: 밀 이삭)
19세기
동사: 못으로 고정하다, 계획을 무산시키다
“spike someone’s guns” — 적의 대포에 못을 박아 쓸 수 없게 함
20세기 초
급격한 상승/하락 (그래프의 뾰족한 피크)
전기·신호 공학 — voltage spike, signal spike
1990년대~
IT: 기술 탐색 작업 (Agile spike)
Extreme Programming — Kent Beck 명명
현재
traffic spike, CPU spike
서버 부하의 급격한 순간 증가
Agile Spike — IT에서의 의미
이름의 유래
1990년대 Extreme Programming(XP)을 만든 Kent Beck이 이 표현을 사용하기 시작했다. 비유는 이렇다:
목재에 구멍이 뚫리는지 확인하려면 드릴로 완전히 파는 대신 못(spike)을 한 번 박아보면 된다. 뚫리면 가능, 안 뚫리면 불가. 빠르고 직접적인 탐색.
소프트웨어에서 spike는 “이 기술로 이 문제를 해결할 수 있는가?”라는 질문에 답하기 위해 제한된 시간 안에 탐색하는 작업이다. 결과물은 동작하는 소프트웨어가 아니라 판단 근거(지식)다.
Spike의 핵심 특성
특성
설명
Time-boxed
시간 제한이 있다. “2일 안에 결론 낸다”처럼 끝이 정해져 있다
Throw-away 가능
spike 중 작성한 코드는 버려도 된다. 목적은 지식 획득이지 코드가 아니다
질문이 명확
“X 기술로 Y를 구현할 수 있는가?” 처럼 구체적인 질문을 가지고 시작한다
결과물은 지식
문서, 판단 결과, 다음 스프린트를 위한 추정치
두 가지 종류
종류
목적
예시
Technical Spike
기술적 가능성 탐색
“gRPC로 스트리밍이 되는가?”, “이 라이브러리가 요구사항을 충족하는가?”
Functional Spike
요구사항·UX 불확실성 해소
“사용자가 이 플로우를 이해하는가?”, “이 기능의 범위가 어디까지인가?”
spike vs test — 비슷해 보이지만 다르다
spike를 test와 비슷하다고 느끼는 것은 자연스럽다. 둘 다 “뭔가를 시도해본다”는 느낌이 있기 때문이다. 그러나 목적과 위치가 다르다.
spike
test
핵심 질문
“이게 가능한가? 어떻게 하면 되는가?”
“이게 맞게 동작하는가?”
시점
구현 전 — 불확실성 제거
구현 후 — 정확성 검증
결과물
지식, 판단 근거, 추정치
pass / fail 판정
코드 운명
버려도 됨 (throw-away)
프로덕션에 남음
실패의 의미
“이 방향은 안 된다” → 방향 전환 근거
“버그가 있다” → 수정 필요
반복 여부
일회성 탐색
CI/CD에서 반복 실행
spike가 끝난 뒤 “이렇게 구현하면 된다”는 결론이 나오면, 그 다음 스프린트에서 실제 구현과 함께 test를 작성한다. 즉, spike → 구현 → test가 자연스러운 흐름이다.
더 정확한 유사어
용어
spike와의 관계
차이
POC (Proof of Concept)
가장 유사 — 둘 다 가능성 탐색
POC는 외부에 보여주기 위한 경우도 많음. spike는 팀 내부 탐색에 집중
Feasibility Study
유사 — 기술적 실현 가능성 조사
더 공식적·문서 중심. spike는 코드 탐색 포함
Prototype
부분 유사
prototype은 사용자에게 보여줄 결과물을 목표로 함
Research Task
유사
spike는 time-box와 구체적 질문이 필수. research는 더 넓음
예문
일반 영어 — 뾰족한 것, 급증
The fence was topped with iron spikes.
울타리 위에 철제 못이 박혀 있었다.
We saw a spike in CPU usage right after the deploy.
배포 직후 CPU 사용량이 급격히 치솟았다.
Traffic spikes every Monday morning when users log in.
사용자들이 로그인하는 월요일 아침마다 트래픽이 급증한다.
Agile / 개발 영어
Let's do a spike before committing to this architecture.
이 아키텍처를 확정하기 전에 spike를 먼저 해보자.
We ran a two-day spike to evaluate whether gRPC fits our streaming requirements.
gRPC가 스트리밍 요구사항에 맞는지 평가하기 위해 이틀짜리 spike를 진행했다.
The spike revealed that the third-party SDK can't handle concurrent requests.
spike 결과, 서드파티 SDK가 동시 요청을 처리하지 못하는 것으로 밝혀졌다.
Spike output: confirmed feasibility; estimate for actual implementation is 3 points.
Spike 결과: 구현 가능성 확인됨. 실제 구현 추정치는 3 포인트.
답글 남기기