開発記録
次の判断につながる開発の引き継ぎには、何を書くべきか
コンテンツサイトの引き継ぎ例をもとに、変更範囲、検証の根拠、障害、次の作業を整理する。作業記録から進捗を推測しなくても、受け取った人が今できる判断を把握できる説明を考える。
- AIとの協働
- 開発の引き継ぎ
- 検証
- 協働の進め方
「完了しました。テストもすべて通っています。」作業を締めくくるにはよさそうな言葉ですが、受け取った人はまだ何をすればよいのか分からないかもしれません。今できるのは草稿を読むことなのか、スマートフォンの表示を確認することなのか、それとも、もう一般公開してよいのでしょうか。
引き継ぎの説明は、次の人が判断するための情報を渡すものです。開発の全過程を再現する必要はありません。ただし、成果をどこで見られるか、根拠がどこまでを裏づけるか、まだ何が行われていないかは明確にする必要があります。
このサイトの開発や記事の作業を整理するとき、私は「実行記録」と「引き継ぐ相手に向けた説明」を分けています。前者は経緯を調べるためのものです。後者は、相手が同じ調査をやり直さなくても、確認すべき箇所を見つけられるようにするためのものです。
最初に成果と、その確認場所を伝える
開発者は、直前にどのファイルを変更したかを知っています。引き継ぐ相手も知っているとは限りません。コンポーネント名を並べたり、「内容を更新しました」と伝えたりするだけでは、利用者がどこから違いを確認できるのかは分かりません。
次はコンテンツサイトを想定した引き継ぎの例です。このサイトで新たに公開を行った記録ではありません。
記事の日付フィールドの役割分担を扱う繁体字中国語の草稿を追加しました。ローカルの草稿プレビュー一覧から読めます。正式な記事一覧には表示されません。既存記事の本文と公開設定は変更していません。
この説明には、成果、確認の入口、維持した範囲が含まれています。チーム内での引き継ぎなら、実際のプレビューURLや変更ファイルを添えてもよいでしょう。公開記事に、非公開の環境情報や内部の管理情報まで載せる必要はありません。
「変更しなかったもの」も、毎回埋めるための定型欄ではありません。既存記事やスタイル、データの保護が要件になっている場合に、その範囲に対応する確認を報告します。比較もせずに「ほかの機能には一切影響ありません」と書くことはできません。
ツール名ではなく、受け入れ条件に答える根拠を書く
「check、lint、buildが通った」という報告は、技術的なチェックを通過したことは伝えられます。それでも、利用者が最も気にしている点に答えているとは限りません。
草稿を正式サイトに出さないことが要件なら、必要なのは正式出力とsitemapの確認です。ダイアログを閉じた後にフォーカスを戻すことが要件なら、該当する操作の観察が必要です。コマンド名を添えるのは構いませんが、結論はその要件に直接答えるものにします。
次の表も書き方の例であり、この記事のために実施したテストの結果ではありません。
| 曖昧すぎる報告 | 判断の根拠になる書き方 |
|---|---|
| サイトは正常です | 指定記事のプレビューを閲覧でき、タイトルと本文が原稿に一致している。本番ホストは未確認 |
| 漏れはありません | 古い生成物を削除してからビルドし、出力の確認では、この草稿の正式ページやsitemapの項目は見つからなかった |
| 操作はすべてテスト済みです | 指定された開く操作とEscapeで閉じる操作を確認した。モバイルの支援技術は対象に含めていない |
| テストはすべて通りました | 引き継ぐ作業で実際に通過したチェックを列挙し、未実施の受け入れ確認は別に残す |
ビルドと検証についてのノートでは、それぞれのツールが何を証明できるかを説明しています。引き継ぎでツールの使い方を教え直す必要はありません。結果の中から、相手の判断に必要な根拠を選び、どの環境の、どの範囲で観察したのかを記します。
「まだしていない」と「阻害されてできない」を分ける
「未対応」は、まだ作業範囲に入れていないという意味にも、試みたものの環境に阻まれたという意味にもなります。この二つでは、必要な次の作業が異なります。
たとえば、スマートフォンでの読みやすさをまだ確認していないだけなら、サイトオーナーがプレビューを開いて確認すれば済むかもしれません。一方、依存パッケージのインストールに失敗した場合は、予定していたチェック自体を実行できていない可能性があります。後者を「細かな調整が少し残っています」に隠してはいけませんし、前者をコードが壊れているかのように書くべきでもありません。
障害を報告するときは、判断に影響する情報を残します。どの手順が失敗し、そのために何の結果が得られなかったのか。代替手段を使ったのか、その手段にはどんな制約が残るのか。パッケージのインストール方法を変更したなら、その後のチェックが通っていても、元のロックファイルで定めた環境に引き続き一致しているかを説明する必要があります。
エラーログを丸ごと貼り付けることを求めているわけではありません。アカウント、鍵、非公開のパス、無関係な内容を出さずに、調査の手がかりを渡すほうが、未整理の出力を長々と渡すよりも引き継ぎやすくなります。
次の作業と、その担当者を明示する
「確認してください」だけでは範囲が広すぎます。相手は、校正するのか、ボタンを押すのか、それとも製品の方向性全体を考え直すのか、判断できないかもしれません。
記事の草稿なら、たとえば「第2節の例が公開してよい範囲に収まっているか、スマートフォンで表が読みやすいかを確認してください」と書けます。機能の追加なら、どの入口から試し、何を観察するのかを示します。技術的なチェックが終わったからといって、人の判断が必要な部分を「見た感じで問題なければ大丈夫です」の一言で済ませるべきではありません。
その確認を受けて、何が行われるのかも伝えます。原稿の確認が済んだからといって、公開まで承認されたとは限りません。公開用のソース設定が整ったことも、デプロイしたこととは別です。草稿・組み込み・公開についてのノートでは、これらの状態を分けています。引き継ぎでは今どの状態にあるかを明示し、ファイルや会話の履歴から相手に推測させないようにします。
短い説明を先に置き、詳細をたどれるようにする
私は、まずそのまま読める要約を書き、リスクに応じて根拠を添えます。次のテンプレートは整理のための目安であり、毎回すべてを埋める書式ではありません。
成果:何を渡したか、どこで確認できるか。
範囲:何を変更し、どの重要な境界を維持したか。
根拠:実際に検証した条件、結果、環境。
制約:未実施の作業、阻害されている作業、合意した範囲の対象外。
次の作業:誰がどの結果を確認し、その後に何を判断できるか。
小さな文言修正なら、数文にまとめれば十分で、各項目に見出しを付ける必要はありません。データ、権限、非同期処理に関わる変更なら、より詳しいテストやリスクの記録が必要になることもあります。この書き方は、それぞれの領域に必要な専門的なチェックの代わりにはなりません。
たとえば、草稿の引き継ぎなら、最初に「本文はローカルプレビューに組み込み済みで、正式出力にはまだ含まれません」と伝え、その後に実際に得られた検証結果と閲覧先を添えられます。相手はまず何ができるかを把握でき、調べたくなったときには詳細も見つけられます。
要約に、検索、編集、コマンドの再実行を行った順番まで逐一書く必要はありません。ある失敗によって結果の信頼性が変わったのでなければ、そのような手順は作業記録に残しておけば十分です。
読んだ人が、次の判断をできるか
読み返すときは、変更に参加していない人の立場にいったん立ちます。成果を見つけられるか。検証済みと未確認を区別できるか。今「よいです」と返事をしたら、その後の作業について双方の理解が食い違わないか。
これらを明らかにするために追加の質問が必要なら、引き継ぎの説明にはまだ情報が足りません。逆に、判断にも調査にも役立たない細部なら、冒頭の要約ではなく、その後の記録に移せます。
ここで提案しているのは、引き継ぎの説明を編集するための方法です。工数、コミュニケーション効率、エラー率の測定は行っておらず、このテンプレートを使えば誤解をなくせると主張するものでもありません。目指す結果は具体的です。引き継ぐ人が、今何を確認できるか、まだ何を断言できないか、そして次の判断を誰がするのかを把握できることです。