Pular para conteúdo

Papéis Scrum: cadastro declarado e alocação

Papel Scrum não vem do GitHub. Vem de declaração do tenant — e a decisão de cadastrar manualmente foi tomada pela pessoa mantenedora em 2026-08-10.

Item Issue Prioridade
Épico — papéis cadastrados e alocados #98 P1
Cadastrar os papéis reconhecidos pelo tenant #99 P1
Alocar uma pessoa a um papel, com período #100 P2

Estão no product backlog — itens do Projects v2 sem iteration atribuída. É o que os distingue de trabalho puxado.

De onde veio a necessidade

github-to-sro.md, linha 39, já registrava a lacuna quando o mapeamento foi escrito:

Conceito Observável no GitHub? Por quê
sro.product_owner ❌ não há papel Scrum no GitHub
sro.scrum_master ❌ idem
sro.developer ⚠️ por regra assignee de issue ou autor de PR — papel presumido, não declarado

Presumir Developer a partir de atividade responde a pergunta errada. Quem abriu PR trabalhou no projeto; não decorre que a organização o reconheça como desenvolvedor daquele time, nem desde quando. A presunção continua sendo item próprio — G4.7 — e exige proveniência de inferência.

Cadastro manual não é contorno da lacuna. É a resposta certa para um conceito que existe por declaração, e a proveniência é project_decision, como já acontece com Product Owner na skill do papel.

O que a derivação já decidiu, e o backlog não pode contrariar

Rodando scripts/derive_information_model.py --ontology sro, os doze papéis da SRO aparecem assim — e a frase é do próprio derivador:

sro.product_owner:      role elevado a eo.person [outra ontologia];
                        materializa pelo relator, não por discriminador
sro.product_owner_role: role elevado a eo.organizational_role [outra ontologia];
                        materializa pelo relator, não por discriminador

Papel não é coluna

Uma coluna type em eo_people com valor product_owner diria que ser Product Owner é propriedade da pessoa. Não é. Ela responderia "qual o papel desta pessoa" e perderia três coisas:

Perde Por que importa
em qual contexto a mesma pessoa é PO num time e desenvolvedora em outro
desde quando "quem era o PO no sprint 3" é pergunta legítima, e a coluna só sabe o hoje
se há mais de um uma coluna guarda um valor; alocações são várias

É a ADR 0004 D5. E ela quase foi violada em silêncio: até 2026-08-10 o derivador só aplicava essa guarda quando o alvo do lifting estava na mesma ontologia, e CMPO e SPO já produziam eo.person.type += {project_person_stakeholder} com o CI verde. Ver L22.

Papel e agente no papel são conceitos distintos

Conceito O que é Onde materializa
sro.product_owner_role o papel organizacional linha em eo_organizational_roles
sro.product_owner quem o desempenha não materializa sozinho — é role
sro.product_owner_membership a alocação tabela própria, relator

O terceiro é o que torna os dois primeiros úteis. Sem ele, o catálogo é uma lista que ninguém referencia.

Ordem, e por que ela não é preferência

Alocar exige que o papel exista. Não é sequência escolhida por conveniência: a alocação tem chave estrangeira para o papel, e construir na ordem inversa produziria uma tela de alocação com um campo que não tem para onde apontar.

Fatia vertical nas duas

Cada uma entrega tela junto. Um catálogo sem tela é infraestrutura sem consumidor, que é a L21 — registrada porque resume_observation/3 passou um sprint testado, verde e inalcançável por qualquer pessoa.

Limitação declarada do Projects v2

sro.user_story.importance é decimal, e o projeto não tem campo numérico de importância — só Priority, que é seleção única de P0 a P2. A ordem do backlog é registrada nessa escala, com a perda de granularidade que ela impõe.

Improvisar com label trocaria um dado ordenável por um rótulo que não ordena. A alternativa correta é criar o campo numérico, e isso mexe na configuração do projeto — o que causou a L11 e custou reatribuir 96 itens. Fica declarado, não improvisado.

O que estes itens não fazem

Não faz De quem é
inferir papel a partir de atividade no GitHub G4.7, em github-to-sro.md
criar papel fora do catálogo da ontologia papel inventado não responde CQ15 nem CQ16
guardar papel como atributo da pessoa ADR 0004 D5 — e agora o derivador impede
anotar RSRO e SYS_SWO pendência própria, 16 conceitos sem estereótipo