View on GitHub

manual-da-engenharia-para-codar

Este é o manual para compromissos de "código com" a engenharia.

Captura de Requisitos Não Funcionais

Objetivos

Em projetos de engenharia de software, características importantes do sistema, como testabilidade, confiabilidade, escalabilidade, observabilidade, segurança, gerenciabilidade, entre outras, devem ser consideradas como requisitos não funcionais de primeira classe no processo de levantamento de requisitos. Ao definir esses requisitos não funcionais em detalhes no início do projeto, eles podem ser adequadamente avaliados quando o custo de seu impacto nas decisões de design subsequentes é comparativamente baixo.

Para apoiar o processo de captura de requisitos não funcionais completos de um projeto, este documento oferece uma taxonomia para requisitos não funcionais e fornece um framework para sua identificação, exploração, atribuição aos stakeholders do cliente e, finalmente, codificação em requisitos de engenharia formais como entrada para o subsequente design da solução.


Áreas de Investigação

Segurança Empresarial

Autenticação e Autorização Empresariais

Monitoramento/Operações Empresariais

Outras tecnologias/práticas empresariais padrão

Ecossistema de Produção

Outras áreas/tópicos não abordados acima (requer entrada do cliente para enumerar de forma abrangente)


Processo de Investigação

  1. Identifique/brainstorm áreas/tópicos prováveis que requerem investigação/definição adicional.
  2. Identifique os stakeholders do cliente responsáveis por cada área/tópico identificado.
  3. Ag

ende sessões de definição de requisitos/debrief com cada stakeholder conforme necessário para alcançar uma compreensão suficiente do impacto provável de cada requisito no projeto, tanto no marco atual/inicial quanto no roadmap de longo prazo.

  1. Documente os requisitos/dependências identificados e as restrições de design relacionadas.
  2. Avalie os marcos atuais/near-term planejados através da lente dos requisitos/constrangimentos identificados.
    • Categorize cada requisito como afetando os marcos imediatos/near-termos ou como aplicável apenas ao roadmap de longo prazo/subsequentes marcos.
  3. Adapte os planos para os marcos atuais/near-termos para acomodar os requisitos categorizados como imediatos/near-termos.

Estrutura do Esboço/Atribuição do Stakeholder Responsável

No esboço a seguir, atribua o nome/email do ‘stakeholder responsável’ para cada elemento após o nível apropriado na hierarquia do esboço. Assuma o modelo de atribuição de responsabilidade por herança: o stakeholder em qualquer nível ancestral (pai) também é responsável pelos elementos descendentes (filhos), a menos que seja substituído no nível descendente.

Exemplo:

No exemplo anterior, ‘Susan’ é responsável por Pai1 e todos os seus descendentes, exceto por Pai1/filho2 e Pai1/filho2/neto1 (para os quais ‘John’ é o stakeholder). ‘Sam’ é responsável por Pai2 e todos os seus descendentes.

Essa abordagem permite a retenção da hierarquia lógica dos elementos em si, ao mesmo tempo em que intercala de forma flexível as identificações de ‘stakeholder’ dentro da hierarquia de tópicos, se e quando elas precisarem divergir devido a nuances organizacionais do cliente.