Orientação aos Tribunais
O processo de disponibilização de soluções à plataforma é comunitário e descentralizado, podendo dele participar quaisquer Tribunais brasileiros, órgãos públicos externos e, conforme regulamentação de portaria da presidência do CNJ, particulares.
A instituição deve manifestar ao CNJ seu interesse em colaborar com o desenvolvimento da plataforma. A habilitação como instituição colaboradora se dará por meio de assinatura de Termo de Cooperação Técnica entre as duas partes, conforme estabelecido pela Gerência Executiva da PDPJ-Br.
Os Tribunais e órgãos externos, bem como os particulares admitidos a colaborar com a plataforma, indicarão livremente os desenvolvedores e analistas que participarão dos projetos, os quais terão acesso às ferramentas centralizadas de controle de demandas e de versionamento de código e arquivos do CNJ.
As instituições habilitadas podem colaborar no desenvolvimento e suporte de serviços, conforme diretrizes e padrões técnicos da plataforma, regulamentados através de portaria da presidência do CNJ. Entre as atividades que permitem colaboração estão:
- Fornecer pessoal técnico para participar de desenvolvimento de serviços da plataforma;
- Formar equipe interna para desenvolver serviços para a plataforma;
- Juntar-se a outra instituição habilitada para desenvolver soluções para a plataforma;
- Formar equipes de homologação de serviços;
- Formar equipes especializadas em regras de negócio.
Não. A PDPJ já conta com serviços de infraestrutura, necessários para o funcionamento da plataforma, e com alguns serviços com contexto de negócio para o judiciário. Ainda será necessário construir boa parte dos serviços de negócio da plataforma.
- Serviços de infraestrutura
- Serviço de descoberta
- Gateway de APIs
- Gerenciador de mensagens
- Serviço de autenticação e autorização (SSO)
- Serviços de IA
- Sinapses
- Serviços negociais
- Criminal
- Serviços de integração
- E-carta
- gov
- Sisbajud
O CNJ construiu em conjunto com os Tribunais uma lista de módulos e serviços a serem implementados para um sistema de processo eletrônico. O rol de módulos e serviços serve como guia/roadmap primordial para construção da plataforma.
As entidades habilitadas como colaboradoras devem, preferencialmente, se valer desse rol para se voluntariar a desenvolver um determinado módulo ou serviço.
Os módulos e serviços previamente definidos pelo CNJ, desenvolvidos e em desenvolvimento pela equipe do Conselho e Tribunais podem ser acessados e acompanhados através do endereço https://bit.ly/modulospdpj.
Sim, mediante necessidade do negócio, um serviço que ainda não tenha sido elencado pelo CNJ pode vir a ser proposto e desenvolvido. A necessidade identificada deve ser remetida ao CNJ através do sistema de demandas da PDPJ (Jira).
A demanda por um novo serviço pode ser implementada pelo próprio demandante, por outra instituição habilitada ou em grupos.
Sim, e aí reside um dos principais pontos da plataforma, a construção colaborativa. É importante frisar que para implementar um serviço ou módulo, a instituição habilitada, deve possuir ou compor um time de desenvolvimento. Este time deve possuir uma estrutura mínima, adotando práticas de desenvolvimento ágil.
Para os casos em que a instituição não possua pessoal suficiente ela poderá compor o time com membros de outras instituições.
Os times interessados deverão, cada qual, trabalhar em uma proposta de solução da demanda. As propostas devem ser apresentadas à comunidade em um evento chamado demoday, que deverá ser organizado pelo CNJ. Este evento tem por objetivo dar publicidade das propostas e requerer o feedback da comunidade sobre qual proposta é mais adequada àquele problema.
O time cuja proposta tiver maior aceitação por parte da comunidade será designado como time executor do projeto da solução. As propostas, a depender do entendimento da comunidade, poderão ser unificadas em uma só, e os times proponentes atuarão juntos na execução do projeto.
Após a escolha da proposta vencedora e, consequentemente, do time que executará o projeto, será definida uma reunião/evento de kickoff do projeto. Nessa reunião deverá ser definida a participação de um consultor técnico para o projeto, cuja função será acompanhar o desenvolvimento, guiando as decisões técnicas em compasso com as diretrizes e padrões arquiteturais da plataforma.
Na reunião/evento de kickoff também deverá ser estabelecido um Produto Mínimo Viável (MVP), que será a primeira entrega do projeto a entrar em esteira de disponibilização da solução à plataforma.
Recomenda-se a adoção de times Scrum contendo, pelo menos:
- O (Product Owner)
- Forma e mantém o backlog do projeto;
- Define as prioridades;
- Comunica-se com os domain experts e usuários finais;
- Garante que o produto está entregando o valor desejado aos usuários.
- Scrum Master
- Garante que o time está alinhado com as práticas ágeis do Scrum, e que o processo está sendo executado conforme preconizado pelo modelo, resguardadas adaptações necessárias a adequação conforme a cultura organizacional.
- Desenvolvedores (Mínimo 2)
- Profissionais da área de desenvolvimento, que executarão a implementação do backlog conforme definido nas sprints.
- Analista QA
- Aplica técnicas para aferir a qualidade e conformidade do código entregue de acordo com o que foi especificado.
- Analista de negócio
- Responsável por auxiliar na interpretação do domínio, e na elaboração de artefatos que servirão de insumos para os desenvolvedores (modelos, histórias de usuários, diagramas e etc.)
- Domain Expert (Mínimo 2)
- Detentor do conhecimento de negócio. Deve estar diretamente envolvido com o problema que se busca solucionar através do projeto. Pode ser, mas não obrigatoriamente, o usuário alvo ou final do projeto.
Os times devem estar capacitados e familiarizados com:
- Domain Driven Design (DDD);
- Arquiteturas de microserviços baseadas em coreografia;
- Metodologias ágeis;
- Testes unitários, de integração e end-to-end;
- Técnicas de modelagem de domínio (domain storytelling e event storming)
- APIs Restful;
- Message brokering;
- DevOps;
- Docker, Kubernetes e Rancher.
Os times podem e devem organizar seu modo de trabalho como acharem mais conveniente. Para casos onde os times são compostos por mais de uma instituição habilitada, recomenda-se que o trabalho seja executado de modo remoto.
Neste caso incentivamos os times a usarem ferramentas que possibilitem comunicação estreita e dinâmica entre os membros da equipe.
O CNJ coordenará a política de governança e gestão da PDPJ, contando, sempre que possível, com a participação de representantes do Poder Judiciário e do Sistema de Justiça, e será regulamentada em ato da Presidência do CNJ.
O CNJ também contribuirá:
- Promovendo capacitações e eventos que promovam a integração e nivelamento de conhecimento da comunidade;
- Provendo pessoal com atuação consultiva nos projetos que estejam sendo desenvolvidos para a PDPJ;
- Fornecendo ferramentas de colaboração para gestão e sustentação do desenvolvimento da plataforma (controle de demandas, repositório de código e comunicação);
- Gerenciando o processo de designação de equipes e acompanhamento geral do projeto.
A primeira entrega de cada projeto é determinada pela finalização do MVP acordado na reunião de kickoff. Tanto a primeira entrega do projeto (MVP), quanto as entregas parciais subsequentes, devem ser apresentadas para a comunidade. Após a apresentação a entrega entrará em fase de homologação, onde será criado ambiente semelhante ao de produção, já em infraestrutura de nuvem.
A solução deverá ser homologada pela comunidade. Sendo aprovada em homologação seguirá para a disponibilização do ambiente em produção.
Após a primeira entrega de cada projeto em produção, o serviço disponibilizado passa a ser sustentado pela equipe do projeto. Defeitos, bugs ou necessidades de melhoria serão tratados prioritariamente, mas não exclusivamente, pelo time que criou o serviço.
Acesse aqui o Fluxo de Colaboração.