# Alterar um sistema existente em segurança

Taiga Learning · Ficha de trabalho
https://taiga.training/pt-PT/lessons/existing-systems/

Use informação fictícia ou aprovada. Não coloque segredos nesta ficha.

## Objetivos de aprendizagem
- Identificar contratos que uma alteração local do código pode afetar.
- Explicar uma alteração faseada do tipo expand-and-contract.
- Distinguir o rollback do código da recuperação dos dados.

## Exercício
Escolha uma pequena alteração de um campo ou de uma API. Liste todos os componentes que leem e escrevem os dados, incluindo tarefas em segundo plano. Descreva um primeiro passo aditivo, uma verificação da transição e uma condição para a remoção. Identifique o passo que pode impedir o rollback.

## A sua resposta
- Cenário e âmbito:
- Pressupostos e perguntas em aberto:
- Resposta ou decisão proposta, com razões:

## Verifique a sua resposta
| Afirmação ou critério | Evidência ou teste | Resultado ou lacuna | Responsável |
| --- | --- | --- | --- |
| | | | |
| | | | |
| | | | |

## Próxima ação
- Ação, responsável e data:
- Quando vai rever esta resposta?

## Princípio a reter
Reveja a transição entre versões, além da conceção final. Componentes antigos e novos podem funcionar ao mesmo tempo.

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

Esta ficha apoia a aprendizagem. Completá-la não autoriza, por si só, uma alteração em produção.
