, ,

[어원] spike — 날카로운 못에서 Agile 기술 검증 작업까지

한눈에 보기

항목내용
단어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 testspike = “가능한가?” 탐색 (구현 전) / 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와 비슷하다고 느끼는 것은 자연스럽다. 둘 다 “뭔가를 시도해본다”는 느낌이 있기 때문이다. 그러나 목적과 위치가 다르다.

spiketest
핵심 질문“이게 가능한가? 어떻게 하면 되는가?”“이게 맞게 동작하는가?”
시점구현 — 불확실성 제거구현 — 정확성 검증
결과물지식, 판단 근거, 추정치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 storyAgile: spike 작업을 나타내는 스토리 카드
spike and stabilize빠르게 탐색 후 안정화하는 패턴

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다