# Безпечно змінюйте наявну систему

Taiga Learning · Робочий аркуш
https://taiga.training/uk/lessons/existing-systems/

Використовуйте вигадану або дозволену інформацію. Не записуйте секрети в цей робочий аркуш.

## Навчальні цілі
- Виявляти контракти, на які може вплинути локальна зміна коду.
- Пояснювати поетапну зміну за підходом expand-and-contract.
- Відрізняти відкат коду від відновлення даних.

## Вправа
Оберіть невелику зміну поля або API. Перелічіть усі компоненти, що читають і записують дані, зокрема фонові задачі. Опишіть перший крок, який лише додає нове, перевірку переходу та умову видалення. Визначте крок, який може унеможливити відкат.

## Ваша відповідь
- Сценарій і межі:
- Припущення та відкриті питання:
- Запропонована відповідь або рішення з обґрунтуванням:

## Перевірте свою відповідь
| Твердження або критерій | Доказ або тест | Результат або прогалина | Відповідальний |
| --- | --- | --- | --- |
| | | | |
| | | | |
| | | | |

## Наступна дія
- Дія, відповідальний і дата:
- Коли ви переглянете цю відповідь?

## Принцип, який слід запам’ятати
Переглядайте перехід між версіями, а не лише остаточний дизайн. Старі й нові компоненти можуть працювати одночасно.

## Джерела
- [Martin Fowler: Parallel Change](https://martinfowler.com/bliki/ParallelChange.html)

Цей робочий аркуш допомагає навчатися. Його заповнення саме по собі не дає дозволу на зміну в продуктивному середовищі.
