Processo de Desenvolvimento e Sustentação de software

Última atualização: 20/08/2024 11:06
Fonte: SETIC
Processo Desenvolvimento Sustentacao Produto Software_V 007a.png

Definições


Responsável pelo Processo

Coordenadoria de Desenvolvimento de Sistemas


Papéis

Desenvolvedor

Responsável técnico pelas demandas de desenvolvimento, atuando no levantamento de requisitos, execução, teste e validações necessárias.

Equipe de produto

Todos os colaboradores que atuam na implementação e gestão das demandas de desenvolvimento, de forma auto-organizada e multidisciplinar.

Gestor do Produto

Responsável pelo acompanhamento das demandas, priorização do backlog, definição de necessidades e aceite das entregas.

Requisitante

Solicitante da demanda de software

CIS

Coordenadoria de implantação de Sistemas

Comitê Gestor

Comitê composto pela Direção, Coordenadorias e representantes da área de segurança e projetos da Secretaria de Tecnologia da Informação e Comunicações do Tribunal, responsável pelo acompanhamento e deliberações referentes à gestão de TIC.

Equipe Segurança  Informação

Escritório de Segurança da Informação



Ferramentas 

Gitlab, Assyst, Jira e Redmine

Registro e gestão de demandas de software.

Ferramenta de acesso a banco de dados

Criação de objetos de banco de dados e manipulação de dados

Ferramenta de programação

Codificação de software

Ferramenta de Versionamento

Armazenamento e controle de versão de artefatos do ciclo de desenvolvimento de software. Atualmente utilizados SVN e GitLab.

Oraculum

Gestão do portfólio de produtos de software.

Ferramenta de testes de vulnerabilidade

Soluções para realizar testes de segurança no software.



Indicador de benefício do processo

Descrição do indicador

Método de apuração / fórmula de cálculo

Frequência

Índice de Aderência ao Processo

Avaliar o índice de aderência de cada ação estratégica obtido nas reuniões de auditoria e estabelecer um índice geral de aderência para toda a Coordenadoria de Desenvolvimento de Sistemas.

Meta: manter em 100%

Semestral



Controle de execução do processo

Controle

Método de execução

Frequência

Auditoria

Realizar uma reunião com representantes das equipes executoras do processo, para avaliar a aderência, os benefícios gerados e oportunidades de melhoria do processo.

Essa reunião deve identificar se o processo necessita de revisão.

Anual


Considerações:


(1) Sistemas Nacionais – Sistemas nacionais sob responsabilidade do TRT da 4ª Região seguem processo, ferramentas e arquitetura definidos pelo Conselho Superior da Justiça do Trabalho.


(2) Iniciativas de Inovação – Iniciativas que envolvem inovação tecnológica e alto grau de incerteza, usualmente tendo como resultado apenas um protótipo e não ainda uma solução, há flexibilização no uso dos artefatos descritos neste processo.

 

Descrição das tarefas


Fase 1 – Planejar


Analisar Demanda

Descrição

Realizar análise da demanda recebida com vistas a identificar a necessidade de construção de um novo produto de software.

Papéis

Desenvolvedor

Entradas

Demanda

Saídas

Demanda analisada

Atividades

Verificar novo produto

Verificar a necessidade de construção de um novo produto de software.


Aprovar Implementação

Descrição

Aprovar a construção de um novo produto de software, a partir da demanda recebida.

Papéis

Comitê Gestor de TIC

Entradas

Demanda analisada

Saídas

Demanda aprovada

Atividades

Apresentar

Apresentar a demanda analisada.

Deliberar

Deliberar sobre a construção do novo produto de software


Registrar demanda no Backlog

Descrição

Registrar a demanda analisada em backlog, para posterior priorização.

Papéis

Desenvolvedor

Entradas

Demanda analisada / Demanda aprovada

Saídas

Demanda registrada em backlog

Atividades

Cadastrar

Cadastrar a demanda na ferramenta de registro e gestão de demandas de software.

Preencher

Preencher as informações necessárias.

Ferramentas

Gitlab, Assyst, JIRA ou RedMine


Selecionar Demanda

Descrição

Selecionar uma demanda do backlog para análise de implementação.

Papéis

Desenvolvedor

Considerações importantes

Deve-se dar preferência às demandas priorizadas no backlog, caso existam.

Entradas

Demanda registrada em backlog

Demanda registrada em backlog priorizado

Saídas

Demanda selecionada

Atividades

Analisar

Analisar se a demanda será executada imediatamente

Ferramentas

Gitlab,  Assyst, JIRA ou RedMine


Registrar em Backlog Priorizado

Descrição

Registrar a priorização da demanda analisada, a fim de que seja executada tão logo seja possível.

Papéis

Desenvolvedor

Considerações importantes

Entradas

Demanda selecionada

Saídas

Demanda registrada em backlog priorizado

Atividades

Rotular

Rotular a demanda como prioritária.

Ferramentas

Gitlab


Definir Gestor de Produto 

Descrição

Identificar o gestor que será responsável pelo novo produto

Papéis

Equipe do Produto

Entradas

Demanda selecionada

Saídas

Gestor de produto definido

Atividades

Identificar

Obter, por e-mail enviado à principal área de negócio envolvida,  a indicação do Gestor do Produto

Solicitar

Solicitar ao Escritório de Processos que encaminhe a formalização do Gestor do Produto por meio de processo eletrônico


Registrar Ação Estratégica

Descrição

Complementar as informações da ação estratégica.

Papéis

Desenvolvedor

Considerações importantes

As seguintes diretrizes devem ser observadas em relação ao uso do Gitlab para ações contidas no PDTIC:


  • Para cada ação deve haver uma ISSUE principal (e somente uma) registrada no GitLab.

  • Usar nome exatamente igual ao nome da ação no PDTIC (verificar com o EP).

  • Marcar com o label “estrategico”. 

  • Marcar com o label referente ao PDTIC vigente (por exemplo “PDTIC 2020-2021”);

  • Toda a DOCUMENTAÇÃO pertinente a ação deve estar anexada ou referenciada (indicação do link para acesso) no GitLab.


Quando uma ação importante é identificada pela equipe e não consta no PDTIC, ela deverá ser marcada com o label “estratégico”, para posteriormente ser avaliada sua inclusão no PDTIC.

Entradas

Demanda selecionada

Saídas

Demanda registrada como ação estratégica

Atividades

Atribuir rótulos

Atribuir rótulos (estratégico e/ou PDTIC), conforme o caso.

Atualizar informações

Atualizar as informações da demanda caso esteja no PDTIC

Ferramentas

Gitlab


Designar demanda

Descrição

Designar responsável pela execução da demanda.

Papéis

Desenvolvedor

Considerações importantes

A demanda deve ser designada à pessoa responsável por sua execução.

Entradas

Demanda selecionada

Saídas

Demanda designada

Atividades

Designar

Designar a demanda selecionada ao responsável pela sua execução

Ferramentas

Gitlab, Assyst, JIRA ou Redmine


Verificar Requisitos LGPD

Descrição

Definir o tratamento especial a ser dado às informações pertinentes à LGPD

Papéis

Gestor do Produto

Considerações importantes

Quando aplicável, o desenvolvedor deverá registrar os requisitos recebidos do Gestor do Produto no GitLab 

Entradas

Demanda designada

Saídas

Demanda aderente à LGPD

Atividades

Definir requisitos

Definir os requisitos para aderência à LGPD

Repassar

Repassar os requisitos para a Equipe do Produto

Registrar

Registrar no Gitlab as informações referentes aos requisitos LGPD

Ferramentas

e-mail, GitLab


Cadastrar demanda para outra área

Descrição

Cadastrar demanda(s) filha(s) da demanda principal para acionar outras equipes da SETIC

Papéis

Desenvolvedor

Considerações importantes

Entradas

Demanda aderente à LGPD

Saídas

Demanda para outra área enviada

Atividades

Registrar demanda

Registrar nova demanda no Git citando o responsável da equipe

Ferramentas

Gitlab


Fase 2 – Executar


Verificar requisitos de acessibilidade

Descrição

Verificar a necessidade de incluir os requisitos de acessibilidade na implementação da demanda, conforme regramento vigente na Resolução CNJ 401/2021, no Modelo de Acessibilidade em Governo Eletrônico (eMag) e no Avaliador e Simulador de Acessibilidade em Sítios do Governo (ASES).

Papéis

Equipe de produto

Considerações importantes

Para produtos novos, é uma atividade obrigatória. Para as demais demandas, deve-se avaliar a necessidade desta verificação.;

Entradas

Demanda aderente à LGPD

Saídas

Demanda com requisitos verificados

Atividades

Verificar

Verificar os requisitos de acessibilidade, se necessário

Registrar

Registrar os requisitos, caso aplicável, para uso na etapa de implementação

Ferramentas

Gitlab, Assyst, JIRA ou Redmine


Implementar a demanda

Descrição

Implementar a demanda, de acordo com a necessidade exposta pelo requisitante e a análise técnica realizada.  

Papéis

Equipe de produto

Considerações importantes

Se a demanda executada não resultar em software funcional, as atividades para integrar, testar, validar pacote de software e liberar em produção não serão realizadas.

Caso envolva pacote de software, a implementação deve seguir as orientações definidas no Guia de Desenvolvimento de Software Seguro.e no Guia de Arquitetura de Software.

Entradas

Demanda com requisitos verificados

Saídas

Demanda implementada

Atividades

Implementar

Implementar a demanda seguindo as orientações definidas pelo Grupo Técnico de Software Seguro.

Testar

Executar os testes unitários conforme os padrões definidos pelo Grupo Técnico de Testes de Software.

Armazenar

Armazenar na ferramenta de versionamento os códigos das funcionalidades implementadas, bem como scripts de criação / atualização da estrutura de dados.

Ferramentas

Gitlab ou JIRA

Ferramenta de acesso a banco de dados

Ferramenta de programação


Criar o ambiente de homologação

Descrição

Criar o  ambiente de homologação para que o teste integrado possa ser realizado.

Papéis

Equipe de produto

Entradas

Demanda implementada

Saídas

Ambiente de homologação disponível

Atividades

Criar

Criar o ambiente de homologação conforme os requisitos do novo produto.


Integrar

Descrição

Reunir os códigos das funcionalidades da demanda executada, bem como scripts de criação / atualização da estrutura de dados.

Papéis

Equipe de produto

Entradas

Demanda implementada

Saídas

Produto

Atividades

Combinar

Combinar os códigos  implementados.

Executar

Executar os scripts de criação / atualização da estrutura de dados.

Ferramentas

Ferramenta de Versionamento


Testar

Descrição

Realizar o teste integrado das funcionalidades implementadas, a fim de verificar o funcionamento esperado do pacote de software.

Papéis

Desenvolvedor

Considerações importantes

Executar testes conforme os padrões definidos no Guia de Testes de Software.

Entradas

Produto

Saídas

Produto testado

Atividades

Testar integração

Realizar o  teste integrado das funcionalidades no pacote de software.

Verificar

Verificar se o pacote de software está apto para a validação.


Testar Vulnerabilidade

Descrição

Realizar testes de vulnerabilidade do sistema e sua infraestrutura, a fim de verificar riscos à segurança da informação.

Papéis

Equipe Segurança Informação

Considerações importantes

Preferencialmente, o teste deve ser executado em ambiente controlado, que não cause impactos negativos ao desempenho da aplicação e da infraestrutura que a suporta e também à integridade dos dados, bem como não interfira nas atividades de homologação.

Entradas

Produto testado

Saídas

Produto testado para vulnerabilidades

Atividades

Definir escopo do teste

Informar qual sistema será testado, qual ambiente, data/hora da execução, qual o IP, url, credencial a ser utilizada, etc 

Realizar testes

Executar os testes planejados

Elaborar relatório do teste

Elencar os resultados obtidos no teste, com eventuais recomendações do que corrigir e/ou priorizar.

Ferramentas

Ferramentas de testes de vulnerabilidades


Validar Demanda

Descrição

Comunicar o Gestor de Produto sobre a disponibilização do ambiente de homologação, solicitando a devida validação da demanda e retorno.

Papéis

Gestor de Produto

Considerações importantes

A validação do produto deve ser obtida por e-mail ou através de reunião registrada em ata.

Entradas

Produto testado em ambiente de homologação

Saídas

Produto validado

Atividades

Comunicar

Comunicar o Gestor de Produto orientando-o sobre como realizar a validação.

Obter

Obter a validação pelo Gestor de Produto.

    
Fase 3 – Finalizar


Criar o ambiente de produção

Descrição

Criar o  ambiente de produção para a instalação do novo produto.

Papéis

Equipe de produto

Entradas

Produto validado

Saídas

Ambiente de produção criado

Atividades

Criar

Criar o ambiente de produção conforme os requisitos do novo produto.


Repassar para operação

Descrição

Realizar as atividades necessárias para o uso e posterior suporte ao produto.

Papéis

Desenvolvedor

Entradas

Produto validado

Saídas

Treinamento realizado

Atividades

Treinar

Treinar as equipes de atendimento a usuários e de implantação de sistemas. Quando for o caso treinar também os principais envolvidos.

Elaborar

Providenciar para que o manual de usuário seja confeccionado, seja pelo desenvolvimento, seja pela CIS, se necessário.


Registrar itens de configuração

Descrição

Registrar as informações da nova versão do produto na ferramenta de gestão de portfólio de produtos de software.

Papéis

Desenvolvedor

Entradas

Produto em Produção

Saídas

Versão de Produto Registrada

Atividades

Registrar

Registrar todas as informações relevantes na ferramenta, incluindo release notes.

Ferramentas

Oraculum


Encerrar demanda

Descrição

Formalizar o encerramento da demanda, descrevendo o que foi realizado e informando o gestor do produto e/ou requisitante da demanda.

Papéis

Desenvolvedor

Considerações importantes

Avaliar se a demanda concluída deve ser classificada como relevante, a fim de constar no relatório anual de atividades da SETIC.

Avaliar se a demanda deve ser encaminhada a outra área da SETIC.

Avaliar a necessidade de informar a Central de Serviços de TIC e, caso pertinente, encaminhar a demanda àquele setor. Caso contrário, encerrar a demanda.

Entradas

Demanda

Saídas

Demanda encerrada

Atividades

Fechar

Fechar a demanda no ferramenta de registro e gestão de demandas de software, se aplicável

Registrar

Registrar as informações na demanda

Encerrar

Encerrar a demanda ou encaminhar para outra área

Ferramentas

Gitlab, Assyst, JIRA ou RedMine