한눈에 보기
| 항목 | 내용 |
|---|---|
| 단어 | spike /spaɪk/ |
| 품사 | 명사, 동사 |
| 일반 의미 | 날카로운 뾰족한 못·쐐기; 급격한 상승 (traffic spike) |
| IT/Agile 의미 | 불확실성을 제거하기 위한 시간 제한(time-boxed) 기술 탐색 작업 |
| 어원 경로 | PIE *spei- (뾰족한 것) → Old Norse spīkr / Old English spīca → 영어 spike |
| Agile 유래 | Extreme Programming(XP)의 Kent Beck이 명명 — “못을 박아서 통과할 수 있는지 보는” 행위에서 |
| spike vs test | spike = “가능한가?” 탐색 (구현 전) / test = “맞게 동작하는가?” 검증 (구현 후) |
| 더 정확한 유사어 | 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 포인트.
파생어와 관련 표현
| 표현 | 의미 |
|---|---|
| spike (동사) | 못을 박다 / 급증하다 / 계획을 무산시키다 |
| spiked | 뾰족한 / (음료에) 다른 것을 탄 |
| spiky | 뾰족뾰족한 / (성격이) 날카로운 |
| voltage spike | 전압 순간 급등 (회로 손상 원인) |
| traffic spike | 서버 트래픽 급증 |
| spike story | Agile: spike 작업을 나타내는 스토리 카드 |
| spike and stabilize | 빠르게 탐색 후 안정화하는 패턴 |
이어서 읽기
spike 처럼 물건 이름이 그대로 일의 이름이 된 경우가 개발 용어에는 꽤 많다. 달리다가 ‘작동하다’가 된 run 과, 원본을 뒤트는 mangle 을 아래에 이어 둔다.
답글 남기기