# Ändra ett befintligt system säkert

Taiga Learning · Övningsblad
https://taiga.training/sv/lessons/existing-systems/

Använd fiktiv eller godkänd information. Lägg inte hemligheter i övningsbladet.

## Lärandemål
- Identifiera kontrakt som en lokal kodändring kan påverka.
- Förklara en stegvis expand-and-contract-ändring.
- Skilj rollback av kod från återställning av data.

## Övning
Välj en liten fält- eller API-ändring. Lista alla komponenter som läser eller skriver berörda data, inklusive bakgrundsjobb. Beskriv ett första steg som lägger till utan att ta bort, en övergångskontroll och ett borttagningsvillkor. Identifiera vilket steg som kan förhindra rollback.

## Ditt svar
- Scenario och omfattning:
- Antaganden och öppna frågor:
- Föreslaget svar eller beslut, med skäl:

## Verifiera ditt svar
| Påstående eller kriterium | Underlag eller test | Resultat eller lucka | Ansvarig |
| --- | --- | --- | --- |
| | | | |
| | | | |
| | | | |

## Nästa åtgärd
- Åtgärd, ansvarig och datum:
- När ska du granska svaret igen?

## Princip att behålla
Granska övergången mellan versioner, inte bara den slutliga utformningen. Gamla och nya komponenter kan köras samtidigt.

## Källor
- [Martin Fowler: Parallel Change](https://martinfowler.com/bliki/ParallelChange.html)

Övningsbladet stöder lärande. Att fylla i det ger inte i sig tillstånd till en produktionsändring.
