Ligar todo o ciclo de vida do software
ConcluídoSiga uma funcionalidade desde a necessidade do utilizador até à operação e ao feedback. Identifique as decisões que a geração de código não resolve por si só.
Publicado por TaigaComo escrevemos
Verifique a sua compreensãoUm agente abre um PR com testes aprovados. Qual é a conclusão justificada?Faça o exercício
O que vai aprender
- Explicar as principais decisões antes e depois da implementação.
- Ligar um requisito à verificação e às evidências operacionais.
- Distinguir uma ferramenta de programação de um sistema de entrega de software.
Siga uma funcionalidade através do sistema
Um assistente de programação pode ajudar a produzir uma implementação. Um sistema de entrega de software também tem de determinar o que desenvolver, verificar o resultado, lançá-lo e apoiar a sua utilização. A IA pode ajudar nestas atividades, mas as decisões continuam a existir.
Considere um pedido fictício: um gestor precisa de um export de clientes. A primeira pergunta útil é por que motivo o export é necessário. Um relatório periódico pode resolver a necessidade com menor exposição dos dados. Aceitar demasiado cedo o nome da funcionalidade pode criar trabalho desnecessário.
A pergunta seguinte diz respeito aos limites. Que utilizadores podem exportar que registos? Que campos são necessários? Para onde vai o ficheiro? Estas decisões moldam a implementação e as verificações relevantes.
Preserve as evidências entre fases
O ciclo de vida torna-se pouco fiável quando cada fase recebe uma descrição incompleta da anterior. Um ticket diz «acrescentar export», um PR acrescenta um endpoint e um operador recebe um serviço sem responsável.
Use uma ligação explícita entre as fases:
| Fase | Evidências que sustentam a decisão seguinte |
|---|---|
| Compreender a necessidade | Utilizador, problema e condição de sucesso identificados |
| Especificar o comportamento | Ações permitidas, limites e critérios de aceitação |
| Implementar | Alteração passível de revisão ligada ao requisito |
| Verificar | Verificações relevantes e revisão independente da versão real |
| Lançar | Artefacto aceite, ambiente de destino e método de recuperação |
| Operar | Sinais do serviço, responsabilidade pelos incidentes e processo de manutenção |
| Aprender | Feedback dos utilizadores e resultados observados |
Esta tabela é um modelo prático de ensino. As organizações podem usar outros nomes para as fases e combinar atividades. Preserve as decisões mesmo quando o fluxo de trabalho está muito automatizado.
Mantenha a verificação relevante para a necessidade
No export, a transferência bem-sucedida de um ficheiro é uma verificação. Outra confirma que um gestor não consegue exportar registos de outra organização. Uma terceira verifica o conjunto de campos exigido. Estas verificações respondem a requisitos diferentes.
Não infira segurança generalizada a partir de um indicador verde nos testes. Identifique o que as verificações abrangem e o que continua por verificar. O SSDF do NIST descreve o desenvolvimento seguro como práticas ao longo do ciclo de vida, em vez de uma única análise final. Leia o referencial.
A decisão de lançamento deve usar evidências da versão que vai ser instalada. Se o código mudar após a revisão, determine que verificações e decisões precisam de renovação. Mantenha esta relação explícita no processo de entrega.
Inclua a operação na conceção inicial
Decida como o responsável pelo serviço irá detetar um export falhado, um padrão anormal de pedidos ou um tempo de resposta inaceitável. Evite registar nos logs os dados de clientes exportados como método conveniente de depuração.
A monitorização deve ajudar um responsável a agir. As orientações SRE da Google distinguem os sintomas do serviço das causas internas e explicam a importância de sinais úteis. Orientações de monitorização.
Planeie a recuperação antes de um incidente. Identifique quem pode suspender a funcionalidade, restabelecer o serviço e comunicar o efeito. A conclusão do deployment é uma transição para estas responsabilidades.
Use o feedback para mudar a decisão seguinte
Após o lançamento, verifique se os gestores usam o export e se este resolve o problema original. Reveja os incidentes, as questões de suporte e o esforço de manutenção. Converta os resultados relevantes em requisitos atualizados ou trabalho.
Esta ligação distingue uma fábrica de software que cobre todo o ciclo de vida de um conjunto de geradores de código. Avalie se o sistema preserva a intenção e as evidências ao longo de toda a sequência. Explore o ciclo de vida interativo para examinar cada decisão.
Faça o exercício
Use o explorador do ciclo de vida para o export de clientes. Em cada fase, identifique o responsável, as evidências e a decisão. Encontre uma transição em que a sua organização perde atualmente contexto. Descreva a menor alteração que o preservaria.
Descarregar ficha (Markdown)Desmarcar esta opção elimina todo o progresso guardado neste browser.
O progresso fica neste browser. Sem conta nem rastreamento.