ガイド付きの手順 · 8 分
ソフトウェアライフサイクルをたどる
エクスポート機能を、要件から運用まで追います。各段階の責任者、証拠、判断を確認します。
状況
顧客管理サービスの責任者として考えてください。マネージャーが、自分の組織の有効な顧客をまとめたファイルを求めています。この架空の機能を、要求から運用まで追います。
取り組むこと
- 「ニーズ」から始めます。「次の段階」で、同じ機能の七つの段階を順にたどってください。
- 各段階で、証拠の例を読みます。判断の問いに答えているかを考えてから、解説を開いてください。
シナリオ:顧客データのエクスポート
証拠とは、判断を支える文書やチェック結果です。以下の各段階に、例があります。順にたどるか、段階を直接選んでください。
段階 1 / 7
ニーズ
マネージャーは、自分の組織の有効な顧客のデータをエクスポートする必要があります。
- 責任者
- Product責任者
- 証拠
- 受け入れた成果と、許可された項目
マネージャーは毎週一時間、有効な顧客の情報を集めています。受け入れたニーズは、自分の組織の顧客名と顧客IDをCSVにエクスポートすることです。
段階 2 / 7
仕様
許可するユーザー、データ、障害時の振る舞い、受け入れ基準を定義します。
- 責任者
- Product責任者とセキュリティ責任者
- 証拠
- データフローと認可要件
受け入れ基準:組織Aのマネージャーは、リクエストの識別子を変えても、組織Bのレコードを受け取りません。
段階 3 / 7
実装
エージェントが、featureブランチに小さな変更を用意します。
- 責任者
- 開発チーム
- 証拠
- 要件に結び付いたdiff
PRは、データベースのクエリに組織フィルターを追加し、別の組織のリクエストを試すテストを追加します。ログインと請求処理は変えません。
段階 4 / 7
検証
実際の認可と、禁止されたリクエストを確認します。
- 責任者
- 独立したレビュー担当者
- 証拠
- 最終コミットに対するテストとレビュー
最終コミットのテストは、組織AのユーザーがBのレコードを受け取れないことを示します。レビュー担当者が、認可の連鎖を確認します。
段階 5 / 7
リリース
許可されたデプロイ用ロールで、受け入れた成果物をデプロイします。
- 責任者
- リリース責任者
- 証拠
- 成果物の識別子、承認、復旧計画
リリース責任者が、成果物のコミットとレビュー済みコミットを照合します。復旧手順には、以前のバージョンと、ロールバックを開始できる人を示します。
段階 6 / 7
運用
エクスポートの失敗、アクセス制御、サービスの振る舞いを監視します。
- 責任者
- サービス責任者
- 証拠
- メトリクス、限定された監査ログ、インシデント対応手順
エクスポートの失敗アラートは、オンコールのエンジニアに届きます。限定された監査ログは、顧客一覧全体をコピーせずに、実行者と組織を記録します。
段階 7 / 7
学習
次の変更の前に、利用状況と観測した問題を評価します。
- 責任者
- Product責任者とチーム
- 証拠
- フィードバックと更新した作業キュー
サポート依頼で、大きな顧客一覧のエクスポートが失敗すると報告されます。チームは、次の変更に性能要件とテストを追加します。
この流れは繰り返せます。新しい証拠によって、作業が仕様や実装に戻る場合があります。
最後に
コードは動きます。なぜ「実装」で終わりにできないのでしょうか?
回答を解説と比較する
動作するコードだけでは、レコードに誰がアクセスできるか、誰が障害に対応するかは分かりません。検証はデータ境界を確認します。リリースは、その証拠をデプロイするバージョンに結び付けます。運用は、稼働中のサービスの責任を割り当てます。学習は、観測した問題を次の変更につなげます。
仕事で使う
チームの機能を一つ選び、リリース責任者と、障害アラートを受け取る人を示してください。
別の演習を選ぶ