INSTRUÇÃO NORMATIVA Nº 3/SETI/UFFS/2013 (RETIFICADA, ALTERADA)

Retificada por:

INSTRUÇÃO NORMATIVA Nº 12/SETI/UFFS/2020

Alterada por:

INSTRUÇÃO NORMATIVA Nº 12/SETI/UFFS/2020

Dispõe sobre a metodologia de processo de software da Secretaria Especial de Tecnologia e Informação (SETI). (Antiga Instrução Normativa nº 003/SETI/UFFS)

O SECRETÁRIO ESPECIAL DE TECNOLOGIA E INFORMAÇÃO DA UNIVERSIDADE FEDERAL DA FRONTEIRA SUL no uso de suas atribuições legais e tendo em vista a delegação de competência do Magnífico Reitor através da Portaria nº 704/GR/UFFS/2012 de 29/06/2012, e considerando o acórdão nº 1999/2007-TCU-Plenário; as Instruções Normativas N° 04 de 12 de novembro de 2010 e Nº 02 de 14 de fevereiro de 2012, do Sistema de Administração dos Recursos de Tecnologia da Informação (SISP) do Ministério de Planejamento, Orçamento e Gestão; Nota Técnica SEFTI/TCU nº 05; a norma NBR ISO/IEC 12207:2009; o Guia do Scrum; resolve:

O SECRETÁRIO ESPECIAL DE TECNOLOGIA no uso de suas atribuições legais, tendo em vista a delegação de competência do Magnífico Reitor através da Portaria nº 704/GR/UFFS/2012, de 29 de junho de 2012, e considerando:

a. a Instrução Normativa SGD/ME nº 1, de 4 de abril de 2019, que dispõe sobre o processo de contratação de soluções de Tecnologia da Informação e Comunicação - TIC pelos órgãos e entidades integrantes do Sistema de Administração dos Recursos de Tecnologia da Informação - SISP do Poder Executivo Federal; e

b. o Guia do SCRUM que estabelece diretrizes para a gestão do desenvolvimento de produtos complexos e gestão e planejamento de projetos com intuito de entregar valor com frequência, (NOVA REDAÇÃO DADA PELA INSTRUÇÃO NORMATIVA Nº 12/SETI/UFFS/2020)

RESOLVE:

ESTABELECER a Metodologia de Processo de Software da Secretaria Especial de Tecnologia e Informação (SETI) nos termos seguintes:

CAPÍTULO I – DAS DISPOSIÇÕES GERAIS

Art. 1º Para fins desta Instrução Normativa, considera-se:

I. Desenvolvimento de software: conjunto de atividades relacionadas à criação de itens de software;

II. Manutenção de software: atividades relacionadas ao gerenciamento das modificações no item de software para mantê-lo atualizado e em perfeita operação;

III. Setor Solicitante: unidade administrativa que demande a contratação de um serviço de Tecnologia da Informação;

IV. Sistema: conjunto integrado que consiste em um ou mais processos, hardware, software, recursos e pessoas, capaz de satisfazer uma necessidade ou objetivo definido;

V. Software: componente constituído por um conjunto de programas, procedimentos e documentação desenvolvido para atendimento de necessidades específicas do órgão ou entidade, bem como aqueles previamente desenvolvidos e disponíveis no mercado para utilização na forma em que se encontram ou com modificações;

VI. Scrum: estrutura processual para suportar o desenvolvimento e manutenção de produtos complexos;

VII. Sprint: período de tempo predefinido durante o qual uma versão incremental potencialmente utilizável do item de software é criada.

Art. 1º Para fins desta Instrução Normativa, considera-se:

I - Desenvolvimento de software: conjunto de atividades relacionadas à criação de itens de software;

II - Processo de Desenvolvimento de software: conjunto de atividades organizadas, usadas para coletar e analisar requisitos, projetar, desenvolver, testar, manter e implantar Softwares;

III - Manutenção de software: atividades relacionadas ao gerenciamento das modificações no item de software para mantê-lo atualizado e em perfeita operação;

IV - Setor Solicitante: unidade administrativa que demande a contratação de um serviço de Tecnologia da Informação;

V - Sistema: conjunto integrado que consiste em um ou mais processos, hardware, software, recursos e pessoas, capaz de satisfazer uma necessidade ou objetivo definido;

VI - Software: componente constituído por um conjunto de programas, procedimentos e documentação desenvolvido para atendimento de necessidades específicas do órgão ou entidade, bem como aqueles previamente desenvolvidos e disponíveis no mercado para utilização na forma em que se encontram ou com modificações;

VII - Scrum é um framework simples e leve para gestão do desenvolvimento de produtos complexos, no qual utiliza uma abordagem iterativa e incremental para gestão e planejamento de projetos com intuito de entregar valor com frequência;

VIII - Sprint: período de tempo predefinido durante o qual uma versão incremental potencialmente utilizável do item de software é criada. (NOVA REDAÇÃO DADA PELA INSTRUÇÃO NORMATIVA Nº 12/SETI/UFFS/2020)

Art. 2º Considera-se processo de software o conjunto de atividades relacionadas ao desenvolvimento e a manutenção evolutiva, adaptativa ou corretiva de itens de software.

Parágrafo único. Esta normativa trata exclusivamente dos processos de software geridos pela SETI.

Art. 3º O desenvolvimento de itens de software abrange as etapas necessárias à análise, definição e implementação do software.

§ 1º A análise do software implica na identificação:

I - das funções e capacidades do sistema;

II - dos requisitos de negócio, organizacionais e de usuários;

III - dos requisitos de segurança, auditoria, ergonomia, interface e manutenção;

IV - das restrições de projeto do software.

§ 2º O projeto do software envolve as atividades de:

I - análise dos requisitos do software;

II - especificação da arquitetura do software;

III - projeto de alto nível da base de dados;

IV - definição e documentação dos requisitos preliminares de testes;

V - projeto das interfaces externas ao item de software.

§ 3º A implementação do software envolve atividades de desenvolvimento em linguagem de programação de computador e respectiva documentação:

I - de cada requisito de software e de cada requisito de base de dados;

II - dos procedimentos de teste e dados para testar cada requisito de software e cada requisito de base de dados.

Art. 4º A manutenção envolve as etapas de identificação, análise, implementação e revisão de modificações no software.

§ 1º A etapa de identificação consiste na recepção e registro de relatórios de defeitos e pedidos de modificação dos usuários.

§ 2º A etapa de análise envolve a análise do relatório de problema ou pedido de modificaçao, avaliando-se o seu impacto na organizaçao, no sistema existente e nos sistemas com os quais interage, observados:

I - o tipo de modificação;

II - o escopo da modificação;

III - a criticidade da modificação.

§ 3º A implementação das modificações envolve as etapas estabelecidas no artigo 3º, parágrafo 3º desta instrução normativa, observados:

I - os critérios de teste e avaliação das partes modificadas e das não modificadas;

II - a completa e correta implementação dos requisitos novos e dos modificados;

III - a garantia de que os requisitos originais não modificados não foram afetados.

Art. 5° Durante o ciclo de vida de um produto de software podem ocorrer vários ciclos de desenvolvimento, implementação inicial e/ou melhorias contínuas do produto.

Parágrafo único. Os ciclos de melhorias podem ser desenvolvidos através de projeto ou por pequenas manutenções evolutivas analisadas e realizadas pela equipe de desenvolvimento.

Art. 6° São condições essenciais para a execução de processo de software na Universidade Federal da Fronteira Sul:

§ 1º A oficialização da demanda através de:

I - Documento de Oficialização de Demanda (DOD) quando se tratar de desenvolvimento de uma nova solução;

II - Solicitação formal, como definida no artigo 13 desta Instrução Normativa, quando se tratar de manutenção de software.

Art. 7° As equipes de desenvolvimento vinculadas à SETI são responsáveis pela execução das etapas mencionadas nos artigos 3° e 4º desta Instrução Normativa.

Parágrafo único. A instância solicitante participará das etapas mencionadas no caput deste artigo quando requisitado pela equipe de desenvolvimento.

CAPÍTULO II – DO DESENVOLVIMENTO DE SOFTWARE

Art. 8° As atividades de desenvolvimento mencionadas no artigo 3º desta Instrução Normativa seguirão fluxo adaptado para realidade da UFFS da metodologia ágil de desenvolvimento de software Scrum.

Art. 9º O desenvolvimento dos requisitos do software ocorrerão em períodos chamados de Sprints, que se dividem nas etapas de codificação de requisitos, testes, homologação, correções e entrega.

§ 1º A etapa de codificação dos requisitos é o período em que as funcionalidades do software são codificadas em linguagem de programação de computador.

I - A etapa de codificação dos requisitos terá duração padrão de dez dias úteis, podendo variar em comum acordo entre a equipe de desenvolvimento e o setor solicitante do software, antes de seu início.

II - Na etapa de codificação também estão compreendidas as atividades relacionadas à colocação da versão desenvolvida durante a Sprint em homologação.

§ 2º A etapa de testes consiste em verificar se as funcionalidades implementadas estão de acordo com os requisitos funcionais do software.

I - Esta etapa deve ocorrer em paralelo e com igual duração da etapa mencionada no parágrafo 1º deste artigo.

II - Havendo inconsistência entre a funcionalidade implementada e o requisito funcional do software, ela retornará para o desenvolvedor realizar as correções necessárias, observando-se o período de duração desta etapa.

§ 3º A etapa de homologação é o período em que o setor solicitante recebe uma versão preliminar do software e realiza verificações da consistência dos requisitos de software implementados.

I - Esta etapa se inicia ao final da codificação e terá duração padrão de cinco dias úteis, podendo variar em comum acordo entre a equipe de desenvolvimento e o setor solicitante do software.

II - Os preparativos para execução desta etapa devem ser realizados na etapa de codificação de requisitos, conforme inciso II do parágrafo 1º deste artigo.

III - A homologação é realizada em base de dados separada da base de dados de produção para preservar os dados do sistema.

IV - Quando detectadas inconsistências durante esta fase, o setor solicitante as comunicará, através de formulário próprio, à equipe de desenvolvimento que providenciará a correção dos defeitos na etapa de correção, conforme o parágrafo 4º deste artigo.

V - Após verificados todos os itens de software codificados na Sprint corrente, se houver entendimento de que os requisitos estão de acordo com a implementação, o setor solicitante deverá comunicar através de formulário próprio o aceite da versão desenvolvida.

§ 4º A etapa de correção consiste na retificação das inconsistências formalizadas na etapa de homologação.

I - Esta etapa iniciará e ocorrerá em paralelo, somados cinco dias úteis, à etapa de homologação.

II - A correção da inconsistência ocorrerá após análise pela equipe de desenvolvimento responsável pelo software, observando-se o disposto no Artigo 4º, parágrafo 2º, desta Instrução Normativa.

III - Quando a correção demandar tempo de realização superior ao estipulado nesta etapa, a equipe de desenvolvimento entrará em contato com o setor solicitante para acordar o tempo necessário.

§ 5º A etapa de entrega consiste na colocação da versão homologada pelo setor solicitante em produção.

I - Esta etapa inicia-se imediatamente após a comunicação formal definida no parágrafo 3º, inciso V, deste artigo.

II - Após o recebimento da comunicação de que trata o inciso I deste parágrafo, a equipe de desenvolvimento acordará a data de disponibilização com o setor solicitante, considerando as atividades necessárias para acomodar a nova versão na produção.

Art. 10. A equipe de desenvolvimento manterá registro dos requisitos de software atendidos e não atendidos em Sprints, bem como o número de horas necessárias para atendê-los.

§ 1º Para estimar o esforço necessário para implementar um item de software, o número de horas necessárias para desenvolver o requisito será utilizado como métrica.

§ 2º O registro do número de horas necessárias para desenvolvimento dos requisitos de software não atendidos comporá o Banco de Horas do setor solicitante.

§ 3º A cada inclusão de novo requisito de software, a equipe de desenvolvimento fará avaliação e dará ciência ao setor solicitante sobre número de horas de desenvolvimento necessárias para atender ao requisito, registrando a informação no Banco de Horas do setor solicitante, considerando:

I - codificação e documentação dos itens de software;

II - codificação e documentação dos itens de bancos de dados.

Art. 11. A equipe de desenvolvimento disponibilizará um número de horas de trabalho a serem cumpridas dentro do período estipulado para a Sprint, conforme disponibilidade da equipe e considerando o disposto no parágrafo 3º, incisos I e II, deste artigo.

§ 1º O setor solicitante deverá escolher tantos requisitos quantos forem necessários para preencher o número de horas disponibilizadas pela equipe de desenvolvimento para a Sprint considerando:

I - O número de horas necessárias para o desenvolvimento de cada requisito de software.

II - O número de horas disponibilizado pela equipe de desenvolvimento.

§ 2º O somatório do número de horas necessárias para o desenvolvimento dos requisitos escolhidos não ultrapassará o número de horas disponibilizado pela equipe de desenvolvimento.

§ 3º Cabe ao setor solicitante a priorização dos requisitos de software a serem desenvolvidos na Sprint.

Art. 12. A Sprint será considerada encerrada após a colocação da versão desenvolvida no ambiente de produção.

Parágrafo único. Todas as inconsistências detectadas após a finalização da Sprint, seguirão o fluxo de manutenção definido no Artigo 12 desta Instrução Normativa.

CAPÍTULO III – DA MANUTENÇÃO DE SOFTWARE

Art. 13. As atividades de manutenção de itens de software mencionadas no artigo 4º desta Instrução Normativa seguirão o fluxo de desenvolvimento definido nos artigos 8º e 9º desta Instrução Normativa.

§ 1º As inconsistências que impossibilitem a utilização do software serão atendidas pela equipe de desenvolvimento e entrarão no fluxo de desenvolvimento, reduzindo-se a duração de cada etapa ao mínimo necessário para o seu atendimento.

§ 2º Caberá à equipe de desenvolvimento avaliar a solicitação de manutenção e comunicar o procedimento que será adotado ao setor requisitante.

Art. 14. Os pedidos de manutenção de itens de software deverão ser enviados à equipe de desenvolvimento através de formulário próprio.

Art. 14. Os pedidos de manutenção de itens de software deverão ser enviados à equipe de desenvolvimento através do sistema de atendimento ATI (https://ati.uffs.edu.br). (NOVA REDAÇÃO DADA PELA INSTRUÇÃO NORMATIVA Nº 12/SETI/UFFS/2020)

Art. 15. Caberá à equipe de desenvolvimento o registro histórico das alterações no item de software.

CAPÍTULO IV – DOS DADOS MANIPULADOS PELOS SISTEMAS

Art. 16. Os ativos de informação manipulados pelos sistemas em produção são de responsabilidade do(s) setor(es) solicitante(s) do software.

Parágrafo único. As equipes de desenvolvimento ficam isentas de quaisquer inconsistências nos dados decorrente da utilização indevida do software.

Art. 17. A Diretoria de Sistemas de Informação e as equipes de desenvolvimento somente disponibilizarão ativos de informação manipulados pelos sistemas para outras instâncias da UFFS quando formalmente autorizado pelo(s) setor(es) responsável(eis) por aquelas informações.

CAPÍTULO V – DAS DISPOSIÇÕES FINAIS

Art. 18. A Secretaria Especial de Tecnologia e Informação poderá emitir instrumentos complementares a esta Instrução Normativa.

Art. 19. Os casos omissos a esta Instrução Normativa serão resolvidos no âmbito da Diretoria de Sistemas de Informação.

Art. 20. Esta Instrução Normativa entra em vigor na data de sua publicação.

Data do ato: Chapecó-SC, 26 de agosto de 2013.
Data de publicação: 13 de setembro de 2016.

Braulio Adriano de Mello
Secretário Especial de Tecnologia e Informação