- 
                Notifications
    You must be signed in to change notification settings 
- Fork 1
DevOps ‐ Requirement Tracking
Este documento tem como objetivo apresentar o processo de rastreabilidade de requisitos no desenvolvimento do produto Stratify. A rastreabilidade garante que cada requisito funcional e não funcional seja acompanhado desde sua definição até a sua implementação, assegurando alinhamento entre as necessidades identificadas, o planejamento e as entregas realizadas.
O processo inicia-se pelo levantamento dos Requisitos Funcionais e Não Funcionais, que descrevem as necessidades detalhadas do sistema. Estes requisitos são validados e priorizados pelo Product Owner para garantir foco nas funcionalidades de maior valor. Com o objetivo de tornar os requisitos mais precisos e efetivos para auxiliar o Product Owner e orientar a equipe de desenvolvimento, há um documento separado detalhando melhor cada requisito discutido, os stakeholders que serão beneficiados com cada um e as justificativas para compreender de forma completa o escopo de cada requisito.
Este documento é público e pode ser visualizado neste link:
https://quantumbitbr.github.io/API_5SEM/#/
Com os requisitos já elaborados, realiza-se a vinculação direta entre cada Requisito e sua respectiva User Story, que por sua vez se desdobra em Tasks. Essa estrutura mantém a rastreabilidade completa, permitindo o acompanhamento do desenvolvimento desde a necessidade inicial até a implementação da funcionalidade.
Para gerenciar o processo de desenvolvimento, optamos pelo Jira devido a seus recursos exclusivos como workflows visualmente customizáveis, rastreabilidade bidirecional em tempo real entre diferentes níveis de planejamento (épicos, histórias e tarefas). A ferramenta oferece relatórios dinâmicos com visualizações inteligentes que evoluem conforme o projeto avança, além de quadros de acompanhamento que se adaptam automaticamente a diferentes contextos de trabalho, proporcionando controle preciso em todas as etapas do ciclo de desenvolvimento.
No Jira, cada User Story está vinculada aos seus respectivos requisitos, e as tarefas (tasks) derivadas são relacionadas às User Stories correspondentes, garantindo rastreabilidade clara e organizada, observável a partir de cada requisito. Optamos por vincular os requisitos diretamente como Épicos no Jira para manter uma rastreabilidade mais clara e objetiva.
O Jira está integrado ao GitHub para conectar o código às tarefas:
- Branches e commits são nomeados com os IDs das tasks no Jira, garantindo rastreamento direto do código até o requisito original.
Este processo assegura o acompanhamento desde o requisito até a entrega do código, facilitando a validação, auditoria e alinhamento com as expectativas do cliente e dos stakeholders, além de ser cíclico, sendo possível realizar a aplicação do processo independentemente do tempo e expansão do projeto.
A rastreabilidade no Stratify é garantida pela integração entre Jira e GitHub, com commits e branches vinculados aos IDs das tarefas (ex: SCRUM-23-fix(form): fix form validation). Isso permite acompanhar cada entrega desde o requisito até o código-fonte.
Para reforçar esse controle, utilizamos o pre-commit, uma ferramenta que executa verificações automáticas antes de um commit ser realizado.
- Garante o padrão das mensagens de commit com ID do Jira.
- Aplica formatações automáticas (ex: Prettier, Black).
- Impede commits com erros ou fora do padrão.
Ao tentar commitar com uma mensagem fora do padrão, como layout fix, o pre-commit bloqueia a ação e orienta o desenvolvedor a utilizar o formato correto, por exemplo:
SCRUM-17-style(button): changed button alignment.
- Padronização e redução de falhas humanas.
- Agilidade nas revisões e entregas mais alinhadas.
Com isso, unimos boas práticas de versionamento com automação, garantindo que todo o processo de desenvolvimento esteja conectado às demandas reais do projeto.