実装スプリント6〜最終仕上げと動作確認
概要
- 日程: Day 17 / セッション 2
- 時間: [9:40-12:20](途中休憩11:00-11:10を含む)
- 形式: 実習
- ゴール: 画面遷移図の最初から最後までを通しで操作し、エラーなく動作する状態に仕上げられる
- 学習形式: ハンズオン実習、相互レビュー
導入(5分)
実装最終スプリントです。Day 10のプロトタイプから数えて8日間、作り続けてきた製品を、今日「発表で動かせる状態」に仕上げます。
ここで考えてみてください。
マラソンの最終コーナーで、新しいフォームを試すランナーはいるでしょうか?
いませんよね。最終盤でやることは、いつものフォームでゴールまで走り切ることです。開発も同じで、最終日に新しい挑戦(新機能)をすると、ゴール直前で転びます。
今日のテーマは3つです。
- 新機能の追加を凍結し、仕上げに徹する
- 最初から最後までの「通し」で動作確認する
- 発表当日の環境を想定して備える
本編(25分)
1. フィーチャーフリーズ〜「足す」をやめると品質が上がる
朝会で宣言した通り、今日は**フィーチャーフリーズ(機能凍結)**です。新しい機能は追加せず、いまあるものの完成度を上げます。
これは料理の盛り付けに例えられます。お客様に出す直前は、新しい食材を鍋に足す時間ではありません。味を最終確認し、皿を温め、盛り付けを整える時間です。ここで「やっぱりもう一品」と揚げ物を始めたら、全部が冷めます。
何が凍結対象かを線引きしましょう。
- 「ボタンの文言を分かりやすく直す」「デモ用データを整える」「エラーメッセージを丁寧にする」は仕上げに該当します。既存の体験を磨く作業だからです
- 「新しい画面を1枚足す」「入力項目を増やす」「新しい処理を追加する」は仕上げに該当しません。新たなテスト範囲とデグレードの危険を持ち込むからです
ここで自分のかんばんを見てください。
Todoに残っているカードの中に、こっそり「新機能」が混ざっていませんか?
混ざっていたら、いますぐ「対応しない」置き場へ。それは明日からの発表準備で「今後の拡張」として輝く材料です。
コード例・実例
凍結後の作業を仕分けた例です。
やる(仕上げ)
- デモ導線上の不具合 2件の修正
- 一覧画面のボタン文言の変更(昨日のなりきり操作の指摘)
- デモ用データの投入(ペルソナの名前で登録しておく)
- エラー画面のメッセージを優しい日本語に変更
やらない(凍結)
- お気に入り機能の追加 → 発表で「今後の拡張」として紹介
- 管理者画面の新設 → 同上
- ソート機能の追加 → 同上
ここがポイント
- 凍結は「妥協」ではなく「品質戦略」。変更を減らすことがデグレードを減らす唯一確実な方法
- 文言・見た目・データの整備は凍結対象外。むしろ発表映えに直結する仕上げの主役
- よくある間違い: 「小さい機能だから大丈夫」と例外を作る。小さい変更でも壊れるときは派手に壊れる
コラム
フィーチャーフリーズは世界中の開発現場の公式行事です。OSのLinuxカーネルでは、新機能を取り込める「マージウィンドウ」は最初の2週間だけ。残りの約7週間はひたすら修正と安定化に充てられます。OSのDebianに至っては、リリース前のフリーズ期間が数か月に及ぶことも。何千人もの凄腕開発者たちでさえ「新しいものを足しながら品質を上げることはできない」と認めて、わざわざ「足すのを禁止する期間」を制度にしているのです。みなさんの「最終日は凍結」は、世界標準の縮小版というわけです。
2. 通し動作確認〜最初から最後まで、作った本人以外が
仕上げの中心は通し動作確認です。画面遷移図の最初の画面から最後の画面まで、ユーザの一連の流れを途切れずに操作します。
昨日のテストとの違いを整理します。
- 昨日: 機能ごとに切り分けて確認した(部品検査)
- 今日: 最初から最後まで一続きに確認する(完成車の試走)
部品が全部合格でも、組み合わせると問題が出ることがあります。「登録した直後のデータが一覧に反映されない」「画面Aで入れた値が画面Cで消えている」——これらは通しでしか見つかりません。
そして鉄則がもう1つ。通し確認は実装した本人以外が行うことです。
ここで考えてみてください。
なぜ、作った本人だと確認にならないのでしょうか?
本人は無意識に「動く道」を選ぶからです。入力する値も、ボタンを押す順番も、体が正解を覚えています。初見の目こそが、発表会の聴衆の目にいちばん近いのです。
コード例・実例
通し確認のシナリオは、CJM(To-Be版)と画面遷移図から作れます。
通しシナリオ例(ペルソナ: 田中さん・32歳)
1. トップ画面を開く
2. 新規登録する(田中さんのプロフィールで)
3. ログインする
4. 目的の情報を検索する
5. 予約(登録)を実行する
6. 完了を確認し、マイページで内容を見る
7. ログアウトする
担当: この機能群を作っていないメンバー
制限: 実装者は口出し禁止(メモのみ)
AIへの相談例です。
- 「画面遷移図とCJM(To-Be版)を貼る。通し動作確認のシナリオを手順書形式で作って」
- 「通し確認で『画面Aの入力値が画面Cで消える』問題が出た。原因として考えられる箇所の候補を挙げて」
ここがポイント
- 実装者は隣で見ていてよいが、口出し禁止。「あ、そこはこう操作して」と言いたくなった場所こそ直すべき場所
- 通し確認は最低2周。1周目で見つけて直し、2周目で「直した状態で最初から最後まで」を確認する
- 修正後にいきなり最終通しをしない。修正→デグレード確認→通し、の順番を守る
コラム
2007年、スティーブ・ジョブズが初代iPhoneを発表したときの逸話です。実はあの伝説のデモの裏で、試作機はメモリ不足やネットワークの問題で頻繁にクラッシュしていました。エンジニアたちは、クラッシュせずに最後まで通る操作の道順を必死に探し出し、ジョブズはその「ゴールデンパス(黄金の道)」だけを、順番まで厳密に守ってリハーサルを重ねたといいます。本番のデモは完璧に成功し、世界が変わりました。みなさんが今日やる通し確認は、まさに自分たちの製品のゴールデンパス探しです。あのiPhoneですらそうだったのですから、堂々と「確実に通る道」を磨きましょう。
3. 発表当日を想定する〜デモは環境ごと仕上げる
製品が完璧でも、当日の環境で動かなければデモは失敗します。仕上げの最後のピースは環境の想定です。
遠足の前日に天気予報を見て雨具を準備するのと同じです。当日の朝に空を見てから慌てても、傘は買えません。
確認しておく観点は次の通りです。
| 観点 | 確認すること |
|---|---|
| 投影 | プロジェクタで文字が後ろの席から読めるか、解像度変化で崩れないか |
| ネットワーク | 会場の回線で動くか、不安定でも見せられる代替手段はあるか |
| データ | デモ用データは見せて恥ずかしくない内容か(「あああ」「test1」が残っていないか) |
| 機材 | 発表に使う端末で実際に動くか、開発端末と違うなら今日試す |
コード例・実例
AIへの相談例です。
- 「明日から発表準備に入る。Webアプリのデモを会場のプロジェクタで行う場合の、環境起因のトラブルとその予防策を一覧にして」
- 「デモ用データとして登録しておくべきデータの観点(件数・内容・名前のリアリティ)を提案して」
ここがポイント
- デモ用データは製品の一部。ペルソナの名前・現実的な内容で登録しておくと、発表の説得力が一段上がる
- 「動く環境」を今日確定させ、明日以降はその環境を変えない。環境変更は実質的に凍結破りと同じ
- 代替手段(録画・スクリーンショット)の準備はDay 20のリハーサルでも行う。今日は「最悪でも見せられる素材」を残す意識で十分
コラム
環境トラブルの最も有名な犠牲者は、おそらくビル・ゲイツです。1998年、Windows 98の発表イベントで、ステージ上でスキャナを接続した瞬間、世界中のメディアの前で画面が真っ青なエラー画面(ブルースクリーン)になりました。ゲイツは「これがまだ製品版を出していない理由ですね」と切り返し、会場は爆笑。デモの失敗を一言のユーモアで切り抜けた例として語り継がれています。教訓は2つ。デモの神様は最高の舞台ほど意地悪をすること、そして万一のときに備えて「切り返しの一言」と「代替手段」を持っておくことです。
💬 AIに聞いてみよう
ここまでの内容で疑問があれば、AIに質問してみましょう。たとえば:
- 「フィーチャーフリーズとコードフリーズは違うもの?」
- 「通し確認で問題が出たとき、直すか・回避するかの判断基準は?」
- 「実務では実装完了をどうやって判定しているの?『Doneの定義』についてもっと教えて」
実習・演習(150分・途中休憩11:00-11:10)
課題
朝会で合意した「Doneの定義」を満たす状態に製品を仕上げます。
- 残修正(9:40-10:40): 昨日の優先順位リストに従い、デモ導線上の不具合から修正する。修正ごとにデグレード確認を行う
- 通し確認1周目(10:40-11:00): 実装した本人以外が、通しシナリオに沿って最初から最後まで操作する。問題と「迷い」を記録する
- 休憩(11:00-11:10)
- 最終修正(11:10-11:50): 1周目で見つかった問題のうち、デモに影響するものを修正する。デモ用データもここで整える
- 通し確認2周目(11:50-12:20): 直した状態で再度、最初から最後まで通す。発表に使う端末・想定環境で行い、エラーなく完走することを確認する
成果物
- 完成した製品(画面遷移図の最初から最後までエラーなく通しで動作するもの)
- 通し確認の記録(シナリオと結果、2周分)
- 整備済みのデモ用データ
- 完了状態に向けて更新されたかんばん
ヒント
- 通し確認中に新しい改善アイデアが浮かんでも、今日は実装しないこと。メモして発表の「今後の拡張」の材料にしましょう
- 修正が11:50までに終わらない場合は「直す」から「隠す・避ける」に切り替えましょう。導線から外せばデモは守れます
- 環境起因で動かないときは、AIに「開発環境では動くが、別の端末で〜というエラーが出る」と状況を貼って相談しましょう
- 2周目の通しで新たな問題が出たら、デモへの影響度を冷静に判断。影響しないなら「既知の問題」として記録だけ残すのも正解です
まとめ(5分)
今回学んだことを一言でまとめると、**「最終日は足さずに磨く。通しで確かめ、環境ごと仕上げる」**です。
- フィーチャーフリーズは品質を上げる世界標準の戦略
- 通し確認は「作った本人以外」が「最初から最後まで」行う
- デモは製品+データ+環境のセットで完成する
このあとの終会で、いよいよ実装完了を宣言します。明日からは「作る」フェーズから「伝える」フェーズへ。8日間かけて作った製品の価値を、ペルソナの物語とともに世に出す準備が始まります。
🔄 振り返りチェック
以下の問いに答えられるか確認してみましょう:
- フィーチャーフリーズの目的を、デグレードという言葉を使って説明できるか
- 通し動作確認を「作った本人以外」が行う理由を説明できるか
- 自チームの製品の「ゴールデンパス」(確実に通るデモの道順)を口頭で再現できるか
答えに自信がない場合は、該当部分を読み返すか、AIに質問してみてください。
補足資料
- 参考リンク: 自チームで使っている実行環境(公開先)の公式ドキュメント
- 発展課題: 「実務のリリース判定会議では何をチェックするのか」をAIに聞き、今日のDoneの定義と比べてみましょう
学習ガイド
このセクションは、受講者が理解を深めることをサポートする参考情報です。
想定される質問と回答例
| 質問 | ヒント |
|---|---|
| 通しの途中で必ず止まる不具合が直らない | 「直す」以外の道を考える。操作順の変更で避けられるか、その機能を導線から外せるか。ゴールデンパスは迂回路でもよい |
| Doneの定義をどうしても満たせない | 朝会の基準に立ち返り、範囲の絞り込み(デモ導線優先)をチームで合意し直す。黙って基準を下げるのが一番危険 |
| デモ用データは何件くらい入れる? | 一覧画面が「使われている感」を出せる件数(5〜10件程度)。ペルソナと関係者の名前でリアリティを出す |
| 改善したい点が山ほど残っているが悔しい | 健全な証拠。リストにして残せば、発表の「今後の展望」と最終日のKPTで全部活きる |
| 1周目で問題ゼロだった | 1周目で見逃した可能性もある。違うメンバーで2周目を行う・違うデータで試すなど、視点を変えて確認 |
つまずきやすいポイント
| つまずきポイント | ヒント |
|---|---|
| 「最後に1機能だけ」と凍結を破ってしまう | 最終日の新機能はテスト時間が確保できず、未検証のままデモに乗る。デグレードの危険を思い出す |
| 通し確認を実装者本人がやってしまう | 本人は無意識に正解の操作をする。担当を交差させ、実装者は記録係に回る |
| 1周目の修正が長引き、2周目をやらずに終わる | 11:50になったら修正を打ち切って2周目に入る。「最後まで通した」事実が明日からの安心材料になる |
| 発表用の端末・環境で初めて動かすのが当日になる | 環境差異のトラブルは当日には直せない。今日のうちに本番想定の環境で最低1回は通す |
| デモデータが「あああ」「test1」のまま | 発表で映ると一気に説得力を失う。ペルソナの名前と現実的な内容で必ず置き換える |