📖 テーマ設定
🔊 音声設定
1.2
1.0
1.0
▶️ 再生コントロール
🎵 BGM設定
0.3
🔔 効果音設定
0.3

実装スプリント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つ。通し確認は実装した本人以外が行うことです。

ここで考えてみてください。
なぜ、作った本人だと確認にならないのでしょうか?

本人は無意識に「動く道」を選ぶからです。入力する値も、ボタンを押す順番も、体が正解を覚えています。初見の目こそが、発表会の聴衆の目にいちばん近いのです。

flowchart LR A["通し操作 (作った本人以外)"] --> B{"問題が見つかったか"} B --|見つかった|--> C["記録して優先度を判断"] C --> D["修正 (担当は作った本人)"] D --> G["デグレード確認"] G --> A B --|見つからない|--> F["デモ用データを整えて最終通し"]

コード例・実例

通し確認のシナリオは、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の定義」を満たす状態に製品を仕上げます。

  1. 残修正(9:40-10:40): 昨日の優先順位リストに従い、デモ導線上の不具合から修正する。修正ごとにデグレード確認を行う
  2. 通し確認1周目(10:40-11:00): 実装した本人以外が、通しシナリオに沿って最初から最後まで操作する。問題と「迷い」を記録する
  3. 休憩(11:00-11:10)
  4. 最終修正(11:10-11:50): 1周目で見つかった問題のうち、デモに影響するものを修正する。デモ用データもここで整える
  5. 通し確認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」のまま 発表で映ると一気に説得力を失う。ペルソナの名前と現実的な内容で必ず置き換える
読み上げを開始します...

AIに質問する