# 既存システムを安全に変更する

Taiga Learning・ワークシート
https://taiga.training/ja/lessons/existing-systems/

架空の情報か、承認された情報を使ってください。このワークシートにシークレットを入れないでください。

## 学習目標
- 局所的なコード変更が影響する契約を特定します。
- 段階的なexpand-and-contractの変更を説明します。
- コードのロールバックと、データの復旧を区別します。

## 演習
小さなフィールド変更またはAPI変更を選んでください。バックグラウンドジョブを含め、データを読み書きするすべてのコンポーネントを列挙します。追加だけを行う最初の段階、移行の確認、削除の条件を記述します。ロールバックを妨げる可能性がある段階を特定してください。

## あなたの回答
- シナリオと範囲：
- 前提条件と未解決の問い：
- 回答案または判断案と、その理由：

## 回答を検証する
| 主張または基準 | 証拠またはテスト | 結果または不足 | 担当者 |
| --- | --- | --- | --- |
| | | | |
| | | | |
| | | | |

## 次の対応
- 対応、担当者、日付：
- この回答をいつ見直しますか？

## 覚えておく原則
最終設計だけでなく、バージョン間の移行をレビューします。古いコンポーネントと新しいコンポーネントが同時に動く場合があります。

## 出典
- [Martin Fowler: Parallel Change](https://martinfowler.com/bliki/ParallelChange.html)

このワークシートは、学習を支援します。完了しても、それだけで本番の変更が許可されるわけではありません。
