# Безбедно мењајте постојећи систем

Taiga Learning · Радни лист
https://taiga.training/sr/lessons/existing-systems/

Користите измишљене или одобрене информације. Не стављајте тајне у овај радни лист.

## Циљеви учења
- Препознајте уговоре интерфејса на које локална промена кода може да утиче.
- Објасните постепену промену по обрасцу expand-and-contract.
- Разликујте враћање кода од опоравка података.

## Вежба
Изаберите малу промену поља или API интерфејса. Наведите све компоненте које читају или уписују податке, укључујући позадинске послове. Опишите први корак који само додаје, проверу прелаза и услов уклањања. Утврдите који корак би могао да спречи враћање претходне верзије.

## Ваш одговор
- Сценарио и обим:
- Претпоставке и отворена питања:
- Предложени одговор или одлука са разлозима:

## Проверите свој одговор
| Тврдња или критеријум | Доказ или тест | Резултат или недостатак | Одговорна особа |
| --- | --- | --- | --- |
| | | | |
| | | | |
| | | | |

## Следећа радња
- Радња, одговорна особа и датум:
- Када ћете прегледати овај одговор?

## Принцип који треба запамтити
Прегледајте прелаз између верзија, а не само коначни дизајн. Старе и нове компоненте могу да раде истовремено.

## Извори
- [Martin Fowler: Parallel Change](https://martinfowler.com/bliki/ParallelChange.html)

Овај радни лист подржава учење. Његово попуњавање само по себи не даје овлашћење за измену у продукцији.
