取り組む価値のある8つの作業
価値と再利用のしやすさで優先順に01読み取り専用レビュー
コミット前に、変更内容をもう一度レビューする
すでに書いた変更を確認すれば、見つかった問題を今の作業にすぐ活かせます。
- こんなときに
- コミットや引き継ぎを控えた未コミットの変更がある。
- 得られる成果
- コードの位置、発生条件、修正案を含む、根拠のある問題一覧。
このリポジトリの未コミットの変更を、ステージ済み・未ステージの両方を含めて、読み取り専用でレビューしてください。
最初にプロジェクトの規約と関連コードを読み、ロジック、境界条件、権限、並行処理、状態の整合性、回帰を確認してください。
明確な根拠がある問題を最大5件報告し、重大度、ファイルと行番号、発生条件、影響、最小限の修正案、検証方法を示してください。
命名、書式、個人的な好みは不具合として扱わないでください。確度の高い問題がなければ、その旨を伝えてください。
ファイルは変更しないでください。対象の変更がなければ説明して終了し、リポジトリ全体に範囲を広げないでください。
完了の目安各指摘が具体的な変更と発生条件に結びついている。問題が見つからないことも有効な結果です。
02小規模な変更
重要な操作を守るテストを1つ追加する
繰り返し実行できるテストは、今後の変更でも役立ちます。
- こんなときに
- 保守中のコードプロジェクトがあり、テスト環境が動作している。
- 得られる成果
- 重要なテスト1件、実行結果、未対応のリスク。
プロジェクトの規約、コード、既存テストを読み、重要かつ範囲の明確なユーザー操作を1つ選び、実際のテスト不足を調べてください。
まず関連する既存テストを実行し、変更前の状態を記録してください。環境が使えない場合や既存テストが失敗する場合は原因を説明し、既存の問題を今回の変更のせいにしないでください。
業務への影響から最も価値のあるテストを1つ選び、既存のフレームワークで追加してください。内部実装をなぞるだけでなく、ユーザーが観察できる振る舞いを検証し、カバレッジの数字を目的にしないでください。
追加テストと関連する回帰テストを実行し、検出できる不具合、結果、残るリスクを報告してください。
テストを通すために正常な業務ロジックを変えたり、別のテスト基盤を作ったりしないでください。コミットやデプロイはせず、この1件を終えたら終了してください。
完了の目安テストが実行でき、どの実際の不具合を防げるか説明できる。
03ドキュメント整備
起動手順と引き継ぎ資料を正確にする
担当が変わるたびに同じ手順を調べ直す手間を減らせます。
- こんなときに
- プロジェクトは動くが、資料が古い、または毎回説明が必要。
- 得られる成果
- 確認済みの起動手順、ディレクトリの役割、トラブル対応手順。
業務コードを変更せず、このプロジェクトの実行・引き継ぎ資料を検証してください。
規約、既存資料、パッケージ定義、設定を読み、既存資料の更新を優先してください。保存場所の規約に従い、同じ用途のファイルを重複作成しないでください。
インストール、起動、ビルド、テストのコマンド、主なディレクトリの役割、必要な環境変数名、よくある失敗の対処を整理してください。秘密鍵や実際の認証情報は記載しないでください。
環境が許す安全なローカルコマンドを検証してください。デプロイ、データ移行、外部への書き込みは行わないでください。確認済み、未確認、人による確認が必要な項目を区別し、ファイルや実行結果の根拠を示してください。
保守に必要な簡潔な説明だけを残し、大量のコメント生成、リファクタリング、依存関係の更新はしないでください。
完了の目安別の人が資料に沿って作業を始められ、検証済みの手順を判別できる。
04スクリプト作成
繰り返し作業を再利用できるスクリプトにする
一度作れば、ファイル整理やデータ処理で繰り返し使えます。
- こんなときに
- CSVの整形、ログ整理、ファイル変換、定型レポートを手作業で繰り返している。
- 得られる成果
- 最小限のスクリプト、使い方、実際のサンプルによる検証。
繰り返し行う手作業を1つ、最小限のスクリプトにしてください。
実装前に、現在の手順、実際の入力例の場所、期待する出力をまとめて私に確認してください。回答を得てから進め、対象ファイルを推測しないでください。
プロジェクトの規約に従い、既存の依存関係を優先してください。標準でdry-runに対応し、実際の出力は新しいディレクトリへ保存してください。再実行しても元の資料を壊さず、削除や上書きをしないでください。
不正な入力には明確なエラーと必要なログを出し、実際の入力・出力例1件で検証してください。実行コマンドと短い説明も付けてください。
データのアップロード、有料サービスの呼び出し、外部への書き込みはしないでください。この作業ができたら終了し、汎用基盤に拡張しないでください。
完了の目安同じサンプルを繰り返し処理でき、出力が正しく、原本も残っている。
05ブラウザ検証
ユーザーの立場でサイトの操作を1つ試す
実際に操作することで、無反応なボタン、エラー表示、モバイルの問題を見つけられます。
- こんなときに
- アクセス可能なサイトかローカル環境があり、確認したい操作が決まっている。
- 得られる成果
- 再現可能な問題、スクリーンショット、再確認の手順。
実際のブラウザで、サイトのユーザー操作を1つ確認してください。
最初にURL、対象の操作、利用可能なテスト環境を確認してください。ブラウザツールがなければ明示して手動確認の手順を示し、実行したとは言わないでください。
通常・空・不正な入力、読み込み中・失敗時の状態、モバイル表示、キーボード操作、コンソールエラー、失敗したリクエストを確認してください。
送信、支払い、公開、実データの変更に関わる場合は確定前に止め、テスト環境を使うか私に確認してください。
重要な問題を最大3件、再現手順、期待と実際の動作、スクリーンショットとともに報告してください。問題がなければ確認した範囲を示してください。
この操作だけを確認し、業務コードは変更しないでください。最後に再実行できる確認手順を残してください。
完了の目安問題ごとに再現手順があり、画像が実際の確認内容と一致している。
範囲、関連コード、受け入れ条件を先に整理すると、次回の実装を始めやすくなります。
- こんなときに
- 機能のアイデアはあるが、実装方法がまだ決まっていない。
- 得られる成果
- 現状のプロジェクトに基づく実装計画と受け入れ条件。
次の機能の実行可能な実装計画を作ってください。今回は業務コードを変更しないでください。
まず解決したい問題と期待するユーザーの操作を私に聞いてください。その後、プロジェクトの規約と関連実装を読み、存在しないシステムを想定しないでください。
現在と目標の動作、対象範囲と対象外、関連モジュール、主要な選択肢と取捨選択、互換性リスク、検証方法を示してください。
実装を個別に検証できる小さな段階に分け、それぞれにユーザーが確認できる受け入れ条件を付けてください。不明点は明記し、推測を事実にしないでください。
内部資料の保存規約に従って簡潔な計画を保存してください。計画ができたら終了し、実装やデプロイは行わないでください。
完了の目安各段階の完了条件が明確で、重要な不明点が記載されている。
07資料整理
散らばったメモを探しやすい資料にまとめる
コードを書く予定がなくても、手元の情報を再利用できる形にできます。
- こんなときに
- 会議メモ、下書き、プロジェクト記録、断片的な説明がある。
- 得られる成果
- 構造化した文書、確認事項、アクション一覧。
既存の資料を整理してください。最初に資料の場所と整理後の用途を確認し、無関係なディレクトリを読まないでください。
原本を保ち、ワークスペースの文書規約に従って新しい文書に結果を書いてください。
重複情報をまとめ、テーマ別に整理し、事実、意見、決定、確認事項を区別してください。重要な結論には元のファイルや段落を示してください。
矛盾と不足を明記し、事実、日付、数値を作らないでください。既存の行動項目だけを抽出し、担当者や期限を捏造しないでください。
整理した本文、確認事項、短い索引を出力してください。主要な結論が原資料まで追跡できることを確認し、資料はアップロードしないでください。
完了の目安重要な結論の出典が追跡でき、矛盾や不足が勝手に消されていない。
08読み取り専用分析
表の重複・欠損・異常を見つける
一行ずつの手作業を、根拠のあるデータ品質レポートに置き換えられます。
- こんなときに
- 集計、インポート、分析の前に確認したいCSVや表計算ファイルがある。
- 得られる成果
- 異常一覧、判断根拠、必要に応じた整形案。
私が指定するCSVまたは表計算ファイルのデータ品質を確認してください。
最初にファイルの場所、列の意味、主要な業務ルールを確認してください。ルールが不明なら記述的な確認にとどめ、外れ値を自動的に誤りと判断しないでください。
重複、欠損、型の不一致、日付形式、既知のルールから明らかに外れる数値を調べてください。
各問題の種類について、件数、行番号やレコード識別子、判断根拠、想定される影響を示してください。不要な個人情報は報告に含めないでください。
原本の削除、上書き、アップロードや、無断での欠損補完はしないでください。異常レポートと整形ルール案を出し、総レコード数を照合してください。
今回は確認のみとし、整形ルールの承認後に別途処理してください。
完了の目安各異常に位置と判断根拠があり、原データは変更されていない。