Percurso 04Lição 1 / 10

Ligar todo o ciclo de vida do software

Siga 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ó.

Fundamentos10 minRevisto

Publicado por Como escrevemos

Verifique a sua compreensãoUm agente abre um PR com testes aprovados. Qual é a conclusão justificada?Faça o exercício
Um agente abre um PR com testes aprovados. Qual é a conclusão justificada?

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:

FaseEvidências que sustentam a decisão seguinte
Compreender a necessidadeUtilizador, problema e condição de sucesso identificados
Especificar o comportamentoAções permitidas, limites e critérios de aceitação
ImplementarAlteração passível de revisão ligada ao requisito
VerificarVerificações relevantes e revisão independente da versão real
LançarArtefacto aceite, ambiente de destino e método de recuperação
OperarSinais do serviço, responsabilidade pelos incidentes e processo de manutenção
AprenderFeedback 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)
Verifique a sua compreensão ↑

Continuar a aprender

Fontes e leituras adicionais

Leituras relacionadas da Taiga