# Bezpiecznie zmieniaj istniejący system

Taiga Learning · Arkusz
https://taiga.training/pl/lessons/existing-systems/

Używaj fikcyjnych lub zatwierdzonych informacji. Nie umieszczaj sekretów w arkuszu.

## Cele nauki
- Wskaż kontrakty, na które może wpłynąć lokalna zmiana kodu.
- Wyjaśnij etapową zmianę expand-and-contract.
- Odróżnij rollback kodu od odzyskiwania danych.

## Ćwiczenie
Wybierz małą zmianę pola lub API. Wymień wszystkie komponenty odczytujące i zapisujące dane, w tym zadania w tle. Opisz pierwszy krok dodający, kontrolę przejścia i warunek usunięcia. Wskaż krok mogący uniemożliwić rollback.

## Twoja odpowiedź
- Scenariusz i zakres:
- Założenia i otwarte pytania:
- Proponowana odpowiedź lub decyzja z uzasadnieniem:

## Sprawdź odpowiedź
| Twierdzenie lub kryterium | Dowód lub test | Wynik lub luka | Właściciel |
| --- | --- | --- | --- |
| | | | |
| | | | |
| | | | |

## Następne działanie
- Działanie, właściciel i data:
- Kiedy przejrzysz tę odpowiedź?

## Zasada do zapamiętania
Przeglądaj przejście między wersjami, nie tylko projekt końcowy. Stare i nowe komponenty mogą działać równocześnie.

## Źródła
- [Martin Fowler: Parallel Change](https://martinfowler.com/bliki/ParallelChange.html)

Arkusz wspiera naukę. Samo ukończenie nie upoważnia do zmiany produkcji.
