# 기존 시스템을 안전하게 변경하기

Taiga Learning · 워크시트
https://taiga.training/ko/lessons/existing-systems/

가상 정보나 승인된 정보를 사용하세요. 이 워크시트에 비밀 정보를 넣지 마세요.

## 학습 목표
- 국소적인 코드 변경이 영향을 줄 수 있는 계약을 찾습니다.
- 단계적으로 확장한 뒤 기존 요소를 제거하는 변경 방식을 설명합니다.
- 코드 롤백과 데이터 복구를 구분합니다.

## 실습
작은 필드 변경이나 API 변경을 선택하세요. 백그라운드 작업을 포함해 데이터를 읽거나 쓰는 모든 구성 요소를 나열하세요. 기존 요소를 유지하면서 추가하는 첫 단계, 전환 검사, 제거 조건을 설명하세요. 어느 단계가 롤백을 막을 수 있는지 확인하세요.

## 작성할 답
- 시나리오와 범위:
- 가정과 미해결 질문:
- 제안하는 답이나 결정과 그 이유:

## 답 검증하기
| 주장 또는 기준 | 증거 또는 테스트 | 결과 또는 공백 | 담당자 |
| --- | --- | --- | --- |
| | | | |
| | | | |
| | | | |

## 다음 조치
- 조치, 담당자, 날짜:
- 이 답을 언제 다시 검토하나요?

## 기억할 원칙
최종 설계뿐 아니라 버전 사이의 전환 과정도 검토하세요. 이전 구성 요소와 새 구성 요소가 동시에 실행될 수 있습니다.

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

이 워크시트는 학습을 돕습니다. 작성 완료만으로 프로덕션 변경이 허가되지는 않습니다.
