Ir para o conteúdo principal

2) Integração com Painel Gerencial da CODE

OBJETIVO

Descrever o processo de análise e indicar a melhor alternativa para implantação da USER STORY “Eu, como gestor, preciso dos dados do Pipefy persistidos em um banco de dados”.

JUSTIFICATIVA

Após realização de diversas reuniões com gestão, os mesmos solicitaram que os dados gerados pelo fluxo de trabalho da SETIC-CODE dentro da ferramenta Pipefy fossem persistidos em  um banco de dados próprio, permitindo aos mesmos a criação de relatórios para a avaliação e tomada de decisões.

RESULTADOS ESPERADOS

  1. Relatório contendo a análise da melhor maneira de realizar a implantação da demanda
  2. Lista dos Pipes que serão utilizados para atender a demanda;
  3. Lista de equivalência dos campos personalizáveis dos Cards que serão persistidos no banco;
  4. Atender ao SPIKE "Planejamento da estrutura do banco de dados do Pipefy".

ENVOLVIDOS

  • Rodrigo Kreuzberg (Scrum Master)
  • Tiago Silveira (Product Owner)
  • Baymax (BI Team)

GLOSSÁRIO

  • API - Interface de Programação de Aplicações é o conjunto de rotinas e padrões estabelecidos por um software para a utilização de suas funcionalidades.
  • PIPEFY - ferramenta de controle de demandas e fluxo de trabalho atualmente utilizada pela SETIC.
  • GraphQL - sintaxe que descreve uma maneira de solicitar dados.

PREMISSAS

  1. Consultas no Pipefy deverão utilizar GraphQL;
  2. Relatórios podem conter dados de mais de um time;
  3. Relatórios serão gerados pela gerência, sendo necessária a coleta do máximo de subsídios o possível.

MAPEAMENTO

Após avaliação prévia, foi identificada a necessidade de mapear quais Pipes e Campos serão utilizados para atender a demanda. As informações estão descritas a seguir.

Pipes Mapeados

Pipes de Desenvolvimento

PIPE IDPIPE NAMEPIPE URL
725642Caveirashttps://app.pipefy.com/pipes/725642
786310Defensoreshttps://app.pipefy.com/pipes/786310
451637Guardiõeshttps://app.pipefy.com/pipes/451637
451635Vingadoreshttps://app.pipefy.com/pipes/451635
877708Esquadrão Suicídahttps://app.pipefy.com/pipes/877708
979418Tambaquihttps://app.pipefy.com/pipes/979418
961531Baymaxhttps://app.pipefy.com/pipes/961531
786390Black Opshttps://app.pipefy.com/pipes/786390
301411216AC/DChttps://app.pipefy.com/pipes/301411216

Pipes de Demandas

PIPE IDPIPE NAMEPIPE URL
1158684Demandashttps://app.pipefy.com/pipes/1158684
1158790Projetoshttps://app.pipefy.com/pipes/1158790
451374Produtoshttps://app.pipefy.com/pipes/451374
735403Dark Soulshttps://app.pipefy.com/pipes/735403
1083563Amazonashttps://app.pipefy.com/pipes/1083563
1263167300https://app.pipefy.com/pipes/1263167
Campos Mapeados

Pipes de Desenvolvimento

PROPRIEDADETIMEDEPARA
SprintCaveirasfield_20_connector sprint
Defensoresfield_17_connector
Guardiõesfield_41_connector
Vingadoresfield_39_connector
Esquadrão Suicidafield_10_connector
Tambaquifield_13_connector
Baymaxfield_11_connector
Black Opsfield_13_connector
AC/DCfield_15_connector
ProdutoCaveirasfield_11_connectorproduto
Defensoresfield_3_connector
Guardiõesfield_31_connector
Vingadoresfield_28_connector
Esquadrão Suicidafield_1_connector
Tambaquifield_5_connector
Baymaxfield_1_connector
Black Opsfield_5_connector
AC/DCfield_8_connector
Pontos de História de UsuárioCaveirasfield_6_numberpontos
Defensoresfield_6_number
Guardiõesfield_8_number
Vingadoresfield_4_number
Esquadrão Suicidafield_2_number
Tambaquifield_2_number
Baymaxfield_3_number
Black Opsfield_4_number
AC/DCfield_2_number
Tipo de DemandaCaveirasfield_16_connectortipo
Defensoresfield_12_connector
Guardiõesfield_48_connector
Vingadoresfield_35_connector
Esquadrão Suicidafield_6_connector
Tambaquifield_9_connector
Baymaxfield_7_connector
Black Opsfield_11_connector
AC/DCfield_13_connector
ReleaseCaveirasfield_17_connectorrelease
Defensoresfield_13_connector
Guardiõesfield_46_connector
Vingadoresfield_36_connector
Esquadrão Suicidafield_7_connector
Tambaquifield_10_connector
Baymaxfield_8_connector
Black Opsfield_12_connector
AC/DCfield_14_connector
Planejado na SprintCaveirasfield_10_stringplanejado
Defensoresfield_10_string
Guardiõesfield_36_string
Vingadoresfield_34_string
Esquadrão Suicidafield_12_string
Tambaquifield_14_string
Baymaxfield_11_string
Black Opsfield_8_string
AC/DCfield_11_string
O quê?Caveirasfield_2_stringoque
Defensoresfield_2_string
Guardiõesfield_12_string
Vingadoresfield_5_string
Esquadrão Suicidafield_2_string
Tambaquifield_2_string
Baymaxfield_1_string
Black Opsfield_1_string
AC/DCfield_2_string

 

Pipes de Desenvolvimento (Antigo)

Pontos de História (antigo)Caveirasfield_5_numberpontos_old
Defensoresfield_5_number
Guardiõesfield_6_number
Vingadoresfield_3_number
Esquadrão Suicidafield_1_number
Tambaquifield_1_number
Baymaxfield_2_number
Black Opsfield_3_number
AC/DCfield_1_number
Necessidade (Antigo)Caveirasfield_15_connectornecessidade_old
Defensoresfield_7_connector
Guardiõesfield_34_connector
Vingadoresfield_34_connector
Esquadrão Suicida 
Tambaquifield_8_connector
Baymaxfield_5_connector
Black Opsfield_4_connector
AC/DCfield_9_connector
Projeto (Antigo)Caveirasfield_14_connectorprojeto_old
Defensoresfield_5_connector
Guardiõesfield_33_connector
Vingadoresfield_33_connector
Esquadrão Suicidafield_5_connector
Tambaquifield_7_connector
Baymaxfield_4_connector
Black Opsfield_6_connector
AC/DCfield_7_connector
Planejado na Sprint? (Antigo)Caveirasfield_9_stringplanejado_old
Defensoresfield_10_string
Guardiõesfield_31_string
Vingadoresfield_30_string
Esquadrão Suicidafield_9_string
Tambaquifield_10_string
Baymaxfield_9_string
Black Opsfield_5_string
AC/DCfield_7_string
Tipo de Demanda (label) (Antigo)Caveirasfield_1_label_selectatividade_old
Defensoresfield_1_label_select
Guardiõesfield_25_label_select
Vingadoresfield_20_label_select
Esquadrão Suicidafield_1_label_select
Tambaquifield_1_label_select
Baymaxfield_1_label_select
Black Opsfield_1_label_select
AC/DCfield_1_label_select

MODELO DE CONSULTA

Para a obtenção dos dados necessários, é possível utilizar a seguinte consulta GraphQL:

query {
  cards(pipe_id: #PIPE_ID, first: 50) { //EX: ACCD: "301411216"
    pageInfo {
      endCursor
      startCursor
      hasNextPage
      hasPreviousPage
    }
    edges {
      node {
        id
        title
        createdAt
        done
        current_phase {
          id
          name
        }
        labels {
          id
          name
        }
        fields {
          indexName
          name
          updated_at
          value
          report_value
          label_values {
            id
            name
          }
        }
      }
    }
  }
}

As consultas podem ser testadas no link https://app.pipefy.com/graphiql, logando com a conta dashboardsetic.

RESULTADOS

Após análise dos Pipes, assim como seus campos, foi identificada a necessidade de implantação do projeto em algumas etapas, sendo elas: 

# ETAPA PREVISÃO CONCLUSÃO
1 Estudo de viabilização da implantação dos Pipes de Desenvolvimento 25/11/2020 17/11/2020
2 Implantação dos Pipes de Desenvolvimento; 11/12/2020  
3 Estudo de viabilização da implantação dos Pipes de Demandas;  29/03/2021  
4 Implantação dos Pipes de Demandas;    

CONCLUSÃO

Conforme demonstrado, o projeto será implantado em etapas, descritas no parágrafo anterior. A utilização do GRAPHQL foi definida anteriormente, sendo documentada no link a seguir https://documentos.sistemas.ro.gov.br/books/pipefy/page/ferramentas-de-integra%C3%A7%C3%A3o-do-pipefy .

RECOMENDA-SE a adoção dos campos Sprint e Time, atualmente utilizado pelos Guardiões e Defensores, nos Pipes de TODOS os times de Desenvolvimento.

REFERÊNCIAS

Documentação - Ferramentas de Integração Pipefy - https://documentos.sistemas.ro.gov.br/books/pipefy/page/ferramentas-de-integra%C3%A7%C3%A3o-do-pipefy