【すぱいく】
スパイク とは?
最終更新:
💡 「わからない」を「わかった」に変える偵察任務
スパイクとは、アジャイル開発で技術的な不確実性を減らすために、期限を決めて短期集中で行う調査・検証のタスクのこと。通常のストーリーとの違いや、実施するタイミング・成果物の考え方をわかりやすく解説。
📌 このページのポイント
スパイクって、バレーボールのスパイクとは違うの?
違うよ!アジャイル開発のスパイクは、「よくわからない技術や問題を、短い期間で集中的に調べる」ための特別なタスクのことだよ。エクストリームプログラミング(XP)の現場で生まれた言葉なんだ。
どういうときに使うの?
普通のタスクと何が違うの?
普通のタスクは「機能を作る」のがゴールだけど、スパイクは「知識を得る」のがゴールなんだ。スパイクで書いたコードは本番に使えるほど作り込まないので、捨てる前提にすることが多いよ。わかったことをチームに共有して、見積もりや技術の選択に生かすんだ。
タイムボックスを超えても終わらなかったらどうするの?
期限が来たら「ここまでわかった、ここからはまだ不明」と報告して、追加のスパイクを計画するか、別の方法を検討するよ。調査を長引かせないのがポイントだね。
なるほど、偵察部隊みたいな感じなんだね!
まさにそう!本隊が安心して進めるように、先に道を調べておく偵察任務だね。スクラムガイドにはスパイクという用語は出てこないから、どう扱うかはチームで決めておこう。
まとめ:ざっくりこれだけ覚えればOK!
「スパイク」って出てきたら「よくわからないことを、期限を決めて集中的に調べるタスク」と思えればだいたいOK!
📖 おまけ:英語の意味
「Spike」 = 大くぎ・鋭い突起
💬 Ward Cunninghamによると、「正しい方向に進んでいると確信できる、いちばん簡単なプログラムは何か」を探る作業を、Kent Beckが「スパイク」と名付けたよ。丸太に大くぎを打ち込むように、端から端まで細く一気に貫くイメージで説明されているんだ