Processo de Desenvolvimento no PJE
Conteúdo |
Público-alvo
As instruções a seguir se destinam aos tribunais criadores de demandas, priorizadores e às fábricas de desenvolvimento e de homologação do PJe.
Foi criada uma apresentação sobre o processo de desenvolvimento adotado para o PJe Nacional, que pode ser acessada aqui.
Criação das demandas
Nesta etapa a necessidade do tribunal é transformada em demanda no sistema gerenciador de demanda (Jira);
As demandas podem ser criadas tanto pelos tribunais, quanto por qualquer pessoa participante dos times envolvidos no desenvolvimento do PJe;
Antes da criação da demanda, deve-se fazer uma pesquisa preliminar no Jira em busca de demandas já relacionadas, demandas duplicadas ou até de informações de configuração para resolver a necessidade do tribunal;
Foi configurado no próprio Jira, no momento da criação da demanda, um template com informações mínimas para auxiliar tanto a equipe de desenvolvimento e de requisitos, quanto a equipe de revisão e a de homologação. A descrição da issue deve ser considerada a documentação da demanda.
Em média são criadas 6 demandas por dia* no Jira:
2 bugs / 3 defeitos / 1 melhoria
- Dados do dia 1/3/16, com base nos últimos 6 meses
Priorização das demandas
A classificação das demandas depende da prioridade dos tribunais, da complexidade das demandas e da sua criticidade;
A prioridade dos tribunais é informada no e-mail prioridade@cnj.jus.br e pode ser visualizada de forma consolidada no link: https://goo.gl/tiHR4c;
As demandas classificadas ganham uma ordem de classificação que pode ser verificada no campo Bussiness Value, a partir deste campo as demandas são ordenadas e ficam na fila para serem encaminhadas a uma das fábricas de desenvolvimento dos tribunais participantes do PJe Nacional.
- Demandas que estão nesta etapa podem ser vistas no seguinte filtro (Jira):
**Adm2.59 Classificar (backlog)
Fábricas de desenvolvimento do PJe
Atualmente o PJe tem as seguinte fábricas de desenvolvimento em atuação, responsáveis por desenvolver as demandas do PJe Nacional que serão instaladas em todos os tribunais:
- CNJ
- TJDFT
- TJMG
- TSE
- TJCE - em implantação
- TJRO - em implantação
Padrões de desenvolvimento
Os desenvolvedores devem seguir os seguintes procedimentos para o PJe: Desenvolvedor
Fábricas de homologação do PJe
Atualmente o PJe tem as seguinte fábricas em atuação, responsáveis por homologar as demandas do PJe Nacional que serão instaladas em todos os tribunais:
- CNJ - composta por pessoas do próprio CNJ;
- TJPR - em implantação;
- TJRO - em implantação.
Procedimento para homologação das demandas
Planejamento de testes
Nesta etapa são criados e documentados os cenários de teste, para isso utiliza-se:
- a descrição da própria demanda no Jira;
- a documentação das regras de negócio hoje disponíveis na wiki do projeto;
- o próprio Jira, em demandas relacionadas;
- e principalmente a experiência e documentação dos cenários de teste das equipes de teste do projeto.
Os cenários devem conter tanto os caminhos “felizes” para o teste da demanda, quanto os caminhos alternativos;
Os cenários criados para teste são incluídos em uma sub-tarefa da demanda que está sendo testada, para auxiliar às pessoas que venham a testá-la ou que venham a corrigir defeitos relatados na solução.
Execução de testes
Para a execução dos testes, a fábrica de testes do tribunal deverá montar um ambiente de testes com as últimas atualizações do branch master do projeto PJe;
Os cenários devem ser executados um-a-um e o resultado de cada cenário deve ser reportado e filmado (ex. de aplicativo de filmagem: www.screencast-o-matic.com);
Ao final deste processo deve-se incluir uma sub-tarefa à demanda principal que está sendo homologada, esta sub-tarefa deve ser do tipo "Execução de testes" e deve ser adicionada à demanda a lista de cenários testados, dos resultados obtidos (se aprovado ou se reprovado) e o filme dos testes executados;
Se houver algum cenário reprovado a demanda deverá ser devolvida para o desenvolver fazer os ajustes necessários, pela transição (do Jira) “Reprovar solução”;
Se todos os cenários forem aprovados a demanda deverá ser encaminhada para a próxima etapa (Integração), pela transição “Aprovar solução”.
Segue o que deve ser feito, tanto à issue principal, quanto à issue de sub-tarefa de execução de testes:
************************************************************************************************************* PREENCHIMENTO DA ISSUE PRINCIPAL ************************************************************************************************************* Prezados, demanda verificada e homologada para versão X.X.X. <Ambiente de homologação do CNJ>. Cenários testados e evidências encontram-se na subtask PJEII-XXXXX. Atenciosamente, <Nome do analista de teste> <Nome da fábrica de testes (TJRO, TJPR, CNJ, ...)>
************************************************************************************************************* PREENCHIMENTO DA SUBTASK DA ISSUE DE EXECUÇÃO DE TESTE ************************************************************************************************************* Prezados, foram testados os seguintes cenários: 1. Pré-condição: N/A *1.1. Cenário:* Verificar/Testar... *1.2. Perfil:* *1.3. Resultado:* APROVADO/REPROVADO *1.4. Evidência:* [XXXXX_EVIDENCIA_DE_TESTE_DDMMAAAA_HHMM]_NOME_DO_VIDEO.mp4 Ambiente: <http://vanadiod09:8180/pjecnj> Branch: X.X.X.x 00/00/0000 - 00:00 Versão: X.X.X Anexo evidência[s] do[s] teste[s] realizado[s]. Atenciosamente, <Nome do analista de teste> <Nome da fábrica de testes (TJRO, TJPR, CNJ, ...)>
Procedimento de homologação no ambiente do tribunal
Segue os procedimentos que devem ser adotados pela fábrica de testes do tribunal para homologar uma issue:
1. A issue principal deve ser tramitada para o status de “Aguardando Homologação Negocial” para “Homologação Negocial” quando for iniciado o teste da mesma. • Caso a issue seja “Reprovada”, tramitar a issue principal para “Rejeitado pela homologação Negocial” com a resolução igual a “Não Resolvido”. • Caso contrário, tramitar a issue para “Fechado” e com a resolução “Resolvido”. 2. Deve ser criada uma subtask do tipo “Execução de teste” vinculada a issue principal. (Ex.: PJEII-22535) 3. Os cenário de testes levantados, devem seguir o template “Template de preenchimento de issue de execucao de teste.txt”. 4. O nome das evidências de testes, devem seguir o padrão definido na Wikipje, [XXXXX_EVIDENCIA_DE_TESTE_DDMMAAAA_HHMM]_NOME_DO_VIDEO.mp4. 5. O nome das evidências de erro, devem seguir o padrão definido na Wikipje, [XXXXX_ERRO]_NOME_DO_VIDEO.txt. 6. Os defeitos detectados na homologação, devem seguir o template “Template de abertura de issue no jira.txt”. • Caso o defeito seja desestabilização da versão, reportar no projeto “PJE-VERSAO_1.7.2”. • Caso contrário, reportar no PJEII.
A issue deve ser homologada no ambiente do tribunal. Não temos ambiente de homologação disponibilizado pra fora, desta forma, o ambiente deve ser informado, se 1° ou 2° graus.
Homologação (negocial)
Consideramos a homologação de uma versão como um projeto e tendo isso em mente buscamos estabelecer as três dimensões principais para seu acompanhamento: custo x tempo x escopo.
- Quanto ao tempo, buscamos estabelecer o tempo do projeto de homologação em 3 a 4 semanas, para que seja possível que o tribunal tenha entregas periódicas e constantes e consiga se programar para evoluir as versões;
- Quanto ao custo, como o tempo é curto, consideramos esta uma dimensão fixa e dependente das equipes dos tribunais que disponibilizam as fábricas de homologação;
- Desta forma, como temos duas dimensões (relativamente) fixas o escopo torna-se a única dimensão gerenciável e para isso buscamos criar critérios objetivos para a seleção do escopo do projeto de homologação, assim:
- As demandas a serem homologadas devem estar desenvolvidas até o momento da definição do escopo da versão (todas as demandas já desenvolvidas podem ser vistas neste filtro: **Adm8.21 Escopo (testar-master - priorizado));
- Deve ser verificada a ordem de prioridade solicitada pelos tribunais (informação consolidada aqui https://goo.gl/tiHR4c e foi repassada via e-mail prioridadepje@cnj.jus.br);
- Deve ser avaliada a complexidade da demanda para ser integrada na versão, esta informação é dada principalmente pela quantidade de alterações feitas pelo desenvolvedor e pode ser identificada no GIT (http://git.cnj.jus.br/pje/pje/merge_requests);
- complexidade e tempo para homologação, esta informação é gerada pela equipe responsável pela homologação, neste momento é verificada a quantidade de regras de negócio envolvidas e cenários que devem ser verificados para a homologação da demanda.
- Com base nesses critérios são identificadas as demandas que “cabem” no projeto de homologação da versão e quanto mais pessoas temos para homologar a versão, maior é a capacidade do projeto em homologar mais demandas.
Procedimento para homologar as demandas
1. A issue principal deve ser tramitada para o status de “Aguardando Homologação Negocial” para “Homologação Negocial” quando for iniciado o teste da mesma;
• Caso a issue seja “Reprovada”, tramitar a issue principal para “Rejeitado pela homologação Negocial” com a resolução igual a “Não Resolvido";
• Caso contrário, tramitar a issue para “Fechado” e com a resolução “Resolvido”.
2. Deve ser criada uma subtask do tipo “Execução de teste” vinculada a issue principal. (Ex.: PJEII-22535)
3. Os cenário de testes levantados, devem seguir o template “Template de preenchimento de issue de execucao de teste.txt”.
4. O nome das evidências de testes, devem seguir o padrão definido na Wikipje, [XXXXX_EVIDENCIA_DE_TESTE_DDMMAAAA_HHMM]_NOME_DO_VIDEO.mp4.
5. O nome das evidências de erro, devem seguir o padrão definido na Wikipje, [XXXXX_ERRO]_NOME_DO_VIDEO.txt.
6. Os defeitos detectados na homologação, devem seguir o template “Template de abertura de issue no jira.txt”.
• Caso o defeito seja desestabilização da versão, reportar no projeto “PJE-VERSAO_1.7.2”.
• Caso contrário, reportar no PJEII.
Versionamento
A próxima versão do sistema e as versões já lançadas podem ser vistas aqui: Versões