Escolar Documentos
Profissional Documentos
Cultura Documentos
MTRICAS DE SOFTWARE
DO SISP
VERSO 2.1
ROTEIRO DE
MTRICAS DE SOFTWARE
DO SISP
VERSO 2.1
Presidenta da Replblica
Dilma Vana Rousseff
Ministro do Planejamento, Oramento e Gesto
Nelson Barbosa
Secretria De Logstica E Tecnologia Da Informao
Cristiano Rocha Heckert
Diretor do Departamento de Governana e Sistemas de Informao
Wagner Silva de Arajo
Coordenador-Geral de Sistemas de Informaes
Orlando Batista da Silva Neto
Grupo de Mtricas de Software do SISP
Lucineia Turnes (SLTI/MP)
Valeria Maria Siqueira Bezerra (SLTI/MP)
Equipe de Elaborao da Verso 2.1
Cinthya Hiromi Seko de Oliveira SERPRO
Claudia Hazan - SERPRO
Daniella Elizabeth Carneiro - SERPRO
George Atsushi Murakami - TCU
Igor de Mesquita Barbosa - CGU
Jose Romildo Araujo de Andrade DTI/SE/MP
Gileno Dias dos Santos DTI/SE/MP
Ktia Cristina Barbosa Loschi de Melo - SERPRO
Lucineia Turnes SLTI/MP
Marcia Regina Guiotti Bomfim - MPT
Marcus Vinicius Borela de Castro - TCU
Tadeu Rocha - CGU
Valeria Maria Siqueira Bezerra SLTI/MP
Esta obra est licenciada por uma Licena Creative Commons Atribuio-NoComercial-CompartilhaIgual 3.0 Brasil
SUMRIO
1Introduo............................................................................................................................................... 8
2Objetivo..................................................................................................................................................... 9
3Contagem de Pontos de Funo........................................................................................................ 10
3.1Determinar Propsito, Tipo e Escopo da Contagem e Fronteira da Aplicao..........................................................11
3.2Identificar Funes de Dados e Funes Transacionais............................................................................................12
3.3Calcular Tamanho Funcional...................................................................................................................................13
3.4Requisitos No Funcionais......................................................................................................................................14
4.13Verificao de Erros..............................................................................................................................................30
4.14Pontos de Funo de Teste....................................................................................................................................31
4.15Componente Interno Reusvel..............................................................................................................................31
10Concluso............................................................................................................................................. 67
11Referncias Bibliogrficas............................................................................................................... 68
Anexo I Portaria SLTI/MP N 31, de 29 de Novembro de 2010............................................................ 70
Anexo III Modelo de Documento de Contagem de Pontos de Funo Projetos de
Manuteno Pequenos (< 100 PF)............................................................................................................. 75
Anexo IV - Como Evitar Armadilhas em Contratos de Desenvolvimento e
Manuteno de Sistemas.......................................................................................................................... 76
Anexo V Resumo da Tcnica EFP (Enhancement Function Points) publicada pela NESMA..... 82
Anexo VI Notas Tcnicas das Verses Anteriores deste Roteiro................................................. 84
ndice de Figuras
Figura 1: Procedimento de Contagem de Pontos de Funo............................................................................................ 11
Figura 2: Processo de Estimativas de Projetos de Software [Hazan, 2008] ...................................................................... 36
Figura 3: Modelo Lgico da Anlise de Pontos de Funo............................................................................................... 39
Figura 4: Relao entre a Estimativa de Prazo e de Esforo............................................................................................. 44
ndice de Tabelas
Tabela 1: Contribuio Funcional dos Tipos Funcionais................................................................................................... 13
Tabela 2: Identificao dos Arquivos Lgicos Internos da Aplicao................................................................................ 40
Tabela 3: Identificao dos Arquivos de Interface Externa da Aplicao.......................................................................... 40
Tabela 4: Identificao das Entradas Externas da Aplicao............................................................................................ 41
Tabela 5: Identificao das Consultas Externas da Aplicao........................................................................................... 41
Tabela 6: Identificao das Sadas Externas da Aplicao................................................................................................ 42
Tabela 7: Distribuio de Esforo por Macroatividades do Projeto.................................................................................. 43
Tabela 8: Expoente t por tipo de Projeto........................................................................................................................ 45
Tabela 9: Estimativa de Prazo de Projetos menores que 100 PF...................................................................................... 45
Tabela 10: Percentuais definidos para a mudana de requisitos...................................................................................... 49
Tabela 11: Planejamento do Backlog das Sprints da Release N . ..................................................................................... 62
Tabela 12: Contagem Detalhada de Pontos de Funo da Release N. ............................................................................. 65
Tabela 13: Contagem de PF da Release N para Baseline da Aplicao . ............................................................................65
1 Introduo
Diversas instituies pblicas e privadas tm utilizado a mtrica Ponto de Funo (PF) nas estimativas
e dimensionamento de tamanho funcional de projetos de software devido aos diversos benefcios de utilizao desta mtrica, destacando-se: regras de contagem objetivas, independncia da soluo tecnolgica
utilizada e facilidade de estimativa nas fases iniciais do ciclo de vida do software. importante ressaltar
que a Instruo Normativa SLTI/MP N 4, de 11 de setembro de 2014, recomenda o uso de mtricas em
contratos de projetos de software, restringindo o uso da mtrica de esforo homem-hora. Alm disso, a
Portaria SLTI/MP n 31, de 29 novembro de 2010, recomenda o uso da mtrica Ponto de Funo para os
rgos integrantes do SISP, bem como a adoo do Roteiro de Mtricas de Software do SISP na contratao de servios de desenvolvimento e manuteno de solues de software. O Tribunal de Contas da
Unio (TCU) tem publicado vrios acrdos que recomendam a utilizao da mtrica Ponto de Funo No
Ajustado em contratos de prestao de servios de desenvolvimento e manuteno de sistemas, entre os
quais podem ser citados:
Acrdo n 1.782/2007: recomenda o uso da mtrica Ponto de Funo como forma de
pagamento dos servios contratados de desenvolvimento e manuteno de sistemas, ao invs
de se realizar a converso dos pontos de funo em horas, baseado na produtividade mdia da
tecnologia empregada.
Acrdo n 1.910/2007: em ateno ao princpio da eficincia, faz duas recomendaes: adotar
a tcnica de medio por ponto de funo sem ajustes pelas caractersticas da aplicao (pontos
de funo no ajustados) e diferenciar, na frmula de clculo, os custos dos pontos de funo
para desenvolver novas funcionalidades, daqueles relativos a supresses ou alteraes de
funcionalidades existentes.
Acrdos nos 1.125/2009 e 1.274/2010: determinam no vincular a mtrica de tamanho
funcional (Ponto de Funo) com a de esforo (homem-hora).
Acrdos nos 2.348/2009 e 1.647/2010: reforam a determinao de no usar qualquer
tipo de fator de ajuste na medio por pontos de funo na contratao de servios de
desenvolvimento de software, para impossibilitar alteraes na remunerao da funcionalidade
medida, por se basear em interpretao subjetiva dos nveis das caractersticas gerais de
sistemas, em desacordo com o previsto no art. 54, 1, da Lei n 8.666/93 e art. 2, XXIV, da IN
SLTI n 04/2014. Alm disso, o acrdo 1.647/2010 determina que no se use exclusivamente
o Manual de Prticas de Contagem (CPM) do IFPUG nas contrataes de servios de
desenvolvimento, e que sejam adicionadas clusulas complementares que elucidem pontos no
abordados pelo CPM; e recomenda a diferenciao, em sua frmula de clculo, dos custos de
pontos de funo para o desenvolvimento completo de uma funcionalidade (todas as fases do
ciclo de desenvolvimento) daqueles necessrios execuo de apenas uma fase do ciclo.
O Manual de Prticas de Contagem de Pontos de Funo (CPM 4.3) [IFPUG, 2010b], publicado pelo
International Function Point Users Group (IFPUG), define as regras de contagem de pontos de funo.
importante ressaltar que a mtrica Ponto de Funo foi concebida como uma medida de tamanho fun-
2 Objetivo
Este documento tem como objetivo principal apresentar um roteiro de mtricas, com base nas regras
de contagem de pontos de funo do Manual de Prticas de Contagem (CPM 4.3), para vrios tipos de
projetos de desenvolvimento e de manuteno de sistemas, promovendo o uso de mtricas objetivas nos
contratos de prestao de servios desses projetos. Alm da contagem de pontos de funo, este roteiro
apresenta um processo de estimativas com base na mtrica Ponto de Funo, visando apoiar as organiza-
es nas estimativas de tamanho, custo, prazo e esforo de seus projetos desenvolvidos internamente ou
contratados.
A verso 2.1 apresenta uma pequena variao com relao verso anterior 2.0:
alterao no fator de impacto de 40% para 30% para as funcionalidades excludas de um Projeto
de Melhoria (seo 4.2).
ajuste no tratamento e contagem em pontos de funo para o item denominado Componente
Interno Reusvel, apresentado na seo 4.15 deste documento.
correo dos percentuais da Tabela 10 referentes ao retrabalho decorrente de mudanas
de requisitos durante o desenvolvimento ou manuteno do software. Consequentemente,
ainda na subseo 6.2.1 Consideraes sobre Mudanas de Requisitos foram atualizados os
exemplos que mostram a aplicao desses percentuais da Tabela 10.
criao de um novo captulo (Captulo 7) que aborda o tratamento das mudanas em
funcionalidades em um projeto de desenvolvimento usando mtodos geis, principalmente,
para o cenrio de contrataes de software usando a mtrica Ponto de Funo.
A alterao do modelo de contratao de software, decorrente da implantao de um processo de
medio de software mais objetivo, requer uma mudana cultural, devido mudana do paradigma homem-hora para a nova forma de contratao com base na mtrica Ponto de Funo. Este roteiro tem
como propsito apoiar os rgos e entidades do SISP nessa mudana cultural. recomendvel a leitura
do Anexo IV, pois apresenta vrios tpicos importantes a serem observados pelos rgos contratantes na
utilizao do modelo de contratao de software usando a mtrica PF.
Duas premissas foram consideradas na elaborao deste roteiro:
Simplicidade: Este roteiro deve ser simples para incentivar os rgos e entidades do SISP a
utilizar a mtrica Ponto de Funo como medida padro no estabelecimento de contratos de
prestao de servios de desenvolvimento e manuteno de sistemas.
Consistncia: Este roteiro deve definir critrios objetivos, visando prover a consistncia no
uso de mtricas em contratos de prestao de servios de desenvolvimento e manuteno de
sistemas. Deste modo, dois profissionais ao aplicarem o roteiro no dimensionamento de um
projeto de software devem obter o mesmo resultado.
10
estabelecer uma medida de tamanho do software em pontos de funo, com base na quantificao das
funcionalidades solicitadas e entregues, sob o ponto de vista do usurio. Assim, a APF tem como objetivo
medir o que o software faz, por meio de uma avaliao padronizada dos requisitos de negcio do sistema.
O Manual de Prticas de Contagem (CPM) [IFPUG, 2010b] apresenta as regras de contagem de pontos
de funo de projetos de desenvolvimento, projetos de melhoria e aplicaes implantadas. A Figura 1 ilustra o procedimento de contagem de pontos de funo, descrito nas sees seguintes.
Obter a
documentao
disponvel
do projeto
Identique os
requisitos
funcionais
Identicar o Propsito
da Contagem
Identicar o Tipo de
Contagem
Determinar o Escopo
da Contagem
Contar
Funes de
Dados
Calcular
Tamanho
Funcional
Contar
Funes
Transacionais
Determinar a Fronteira
da Aplicao
Documentar
e Reportar a
Contagem
11
instalada. A fronteira da aplicao, que a interface conceitual que indica o limite lgico entre o sistema
sendo medido e os usurios (tambm entre outras aplicaes), deve ser definida com base na viso do
usurio, desconsiderando questes de implementao. Deve-se ressaltar que toda contagem de pontos
de funo realizada dentro de uma fronteira estabelecida.
O estabelecimento da fronteira da aplicao pode ser subjetivo, por exemplo, em uma aplicao com
vrios mdulos, a fronteira pode ser estabelecida para cada mdulo ou subsistema ou, ainda, pode-se
considerar toda a aplicao, dependendo da viso do usurio. De fato, a definio da fronteira depende
de processos de negcios, alm disso, o posicionamento da fronteira influencia fortemente a contagem de
pontos de funo. Desta forma, devido a essa subjetividade, em editais para contratao de projetos de
manuteno fortemente recomendado a definio das fronteiras de todas as aplicaes a serem contratadas. Os roteiros de contagem dos rgos e entidades tambm devem definir as fronteiras das aplicaes
implantadas em um anexo, e este deve ser atualizado sempre que for implantada uma nova aplicao.
Mais informaes sobre esse assunto podem ser encontradas no Anexo IV.
12
Aps a identificao dos tipos funcionais para cada requisito funcional definido no documento de
requisitos do sistema, deve-se avaliar a complexidade (Baixa, Mdia, Alta) e a contribuio funcional do
mesmo para a contagem de pontos de funo, observando as regras de contagem de pontos de funo
descritas no CPM. A identificao e a avaliao das complexidades dos tipos funcionais no podem ser
realizadas de maneira subjetiva. A contagem de pontos de funo deve seguir rigorosamente as regras de
contagem do CPM e as definies complementares do roteiro de mtricas do rgo, e deve ser realizada
por profissionais capacitados do rgo.
A Tabela 1 apresenta a contribuio dos tipos funcionais na contagem de pontos de funo.
Tipo Funcional
Complexidade
Baixa Mdia Alta
7 PF
10 PF
15 PF
5 PF
7 PF
10 PF
3 PF
4 PF
6 PF
4 PF
5 PF
7 PF
3 PF
4 PF
6 PF
13
3.4Requisitos No Funcionais
A mtrica Ponto de Funo uma mtrica de tamanho funcional, ou seja, dimensiona projetos de
software com base nos requisitos funcionais da aplicao, no contemplando diretamente os requisitos
no funcionais do projeto.
Nesse sentido, em contratos de software baseados na mtrica Ponto de Funo fundamental definir
claramente no edital os requisitos no funcionais do projeto a serem atendidos pela empresa contratada.
Os requisitos no funcionais impactam no esforo e, consequentemente, no custo do projeto.
Os requisitos no funcionais esto associados aos aspectos qualitativos de um software, considerando
aspectos relacionados ao uso do software. Seguem abaixo alguns tipos de requisitos no funcionais, com
exemplos, que podem ser mencionados nos editais:
Usabilidade: a soluo deve atender aos requisitos dos Padres Web em Governo Eletrnico
(e-PWG) Cartilha de Usabilidade; a aplicao deve ter help on-line de sistema, tela e campo
(sensvel a contexto); a aplicao deve ser disponibilizada nos idiomas Portugus, Espanhol e
Ingls.
Tcnicos: a aplicao deve funcionar adequadamente nos navegadores: Internet Explorer 7.0
ou superior e Mozilla Firefox 3.0 ou superior; a soluo deve ser desenvolvida em linguagem
Java com banco de dados PostgreSQL; para o desenvolvimento da soluo, deve ser utilizado
preferencialmente um dos seguintes frameworks Java: Demoiselle, Jaguar e MDArt; a soluo
deve atender aos requisitos do e-PWG; deve utilizar as ferramentas AWSTATS e Google Analytics
para gerar estatsticas de acesso.
Segurana: a aplicao deve realizar controle de segurana dos dados de acordo com politica de
backup definida em conformidade com a norma ISO/IEC 27002.
14
15
c representa um ou mais caracteres indicando que o resultado no mantm conformidade plena com
o padro internacional.
Exemplo: 250 PF* (IFPUGISO/IEC 20926:200xsisp)
* FP na verso em portugus
4.1Projeto de Desenvolvimento
o projeto para desenvolver e entregar a primeira verso de uma aplicao de software. Seu tamanho
funcional a medida das funcionalidades entregues ao usurio no final do projeto. Tambm considera-se
as funcionalidades de converso de dados. Segue a frmula de clculo utilizada no dimensionamento de
projetos de desenvolvimento de software:
PF_DESENVOLVIMENTO = PF_INCLUIDO + PF_CONVERSO
Este roteiro recomenda a supresso do PF_CONVERSO das frmulas de contagem de pontos de funo de projetos de desenvolvimento quando for caracterizado um esforo relativamente maior dessa atividade, conforme descrito na seo 3.3.
4.2Projeto de Melhoria
O Projeto de Melhoria (enhancement), tambm denominado de projeto de melhoria funcional ou manuteno evolutiva, est associado s mudanas em requisitos funcionais da aplicao, ou seja, incluso
de novas funcionalidades, alterao ou excluso de funcionalidades em aplicaes implantadas.
Segundo o padro IEEE Std 1219 [IEEE, 1998], esta manuteno seria um tipo de manuteno adaptativa, definida como: modificao de um produto de software existente para mant-lo funcionando adequadamente em um ambiente que sofre mudanas. O projeto de melhoria considerado um tipo de
projeto de manuteno adaptativa com mudanas em requisitos funcionais da aplicao, ou seja, com
funcionalidades includas, alteradas ou excludas na aplicao, segundo o CPM 4.3.
Este roteiro separa o projeto de melhoria (quando as mudanas so associadas aos requisitos funcionais) do projeto de manuteno adaptativa (quando as mudanas esto associadas aos requisitos no funcionais da aplicao). Um projeto de melhoria consiste em demandas de criao de novas funcionalidades
(grupos de dados ou processos elementares), demandas de excluso de funcionalidades (grupos de dados
ou processos elementares) e demandas de alterao de funcionalidades (grupos de dados ou processos
elementares) em aplicaes implantadas em produo.
Segue a frmula de clculo utilizada no dimensionamento de projetos de melhoria de software:
PF_MELHORIA = PF_INCLUIDO + (FI x PF_ALTERADO) + (0,30 x PF_EXCLUIDO) + PF_CONVERSO
16
17
18
4.4Manuteno Corretiva
Mesmo com a execuo de atividades de garantia da qualidade, pode-se identificar defeitos na aplicao entregue. A manuteno corretiva altera o software para correo de defeitos. Encontra-se nesta
categoria, as demandas de correo de erros (bugs) em funcionalidades de sistemas em produo.
importante destacar que as demandas de manuteno corretiva frequentemente precisam ser atendidas com urgncia. Assim, o grau de criticidade do projeto poder trazer impacto nas estimativas de custo
e esforo. O padro IEEE Std 1219 [IEEE,1998] define um tipo de manuteno corretiva, denominado de
19
Manuteno Emergencial como manuteno corretiva no programada executada para manter o sistema
em estado operacional.
Quando o sistema em produo tiver sido desenvolvido pela contratada, a manuteno corretiva ser
do tipo Garantia se estiver no perodo de cobertura e em conformidade com as demais condies de
garantia previstas em contrato. Caso no exista clusula contratual de garantia, deve ser considerada a
garantia preconizada por lei (Cdigo do Consumidor).
Quando o sistema estiver fora da garantia ou no tenha sido desenvolvido pela empresa contratada,
dever ser estimado e calculado o tamanho do projeto de manuteno corretiva. Nestes casos, a aferio
do tamanho em pontos de funo da funcionalidade ou das funcionalidades corrigidas deve considerar
um fator de impacto (FI) sobre o PF_ALTERADO.
PF_CORRETIVA = FI x PF_ALTERADO
Fator de Impacto (FI):
50% quando estiver fora da garantia e a correo for feita pela mesma empresa que
desenvolveu a funcionalidade.
75% quando estiver fora da garantia e a correo for feita por empresa diferente daquela que
desenvolveu a funcionalidade.
As demandas de manuteno corretiva no contemplam atualizao de documentao da funcionalidade corrigida, pois este roteiro considera que, normalmente, manuteno corretiva no se refere a erros de
requisitos. Caso seja erro em requisitos, essa demanda deve ser tratada como projeto de melhoria (alterao
de funcionalidade), descrito na seo 4.2. Porm, quando o erro for causado por documentao dbia ou imprecisa (elaborada pela contratada) da funcionalidade corrigida, a manuteno corretiva poder contemplar
os ajustes na documentao, mesmo fora da garantia, mediante negociao entre as partes.
Caso seja demandada a redocumentao da funcionalidade corrigida, porque a documentao no
existe ou est desatualizada, deve-se adicionar ao FI um fator de redocumentao de 15%, conforme descrito na seo 4.2.
Os percentuais de multiplicao so estimados, podendo ser reajustados conforme avaliao da base
histrica dos servios realizados no rgo ou entidade.
4.5Mudana de Plataforma
So considerados nesta categoria, projetos que precisam ser migrados para outra plataforma. Por
exemplo, um sistema legado em COBOL que necessita ser redesenvolvido em JAVA; o banco de dados de
um sistema legado que precisa ser migrado para o DB2.
Recomenda-se enfaticamente a realizao da anlise de impacto das mudanas propostas, para efeito
de determinao do percentual adequado para aplicao sobre o total de pontos de funo das funcio-
20
nalidades impactadas. Por exemplo, em uma anlise de impacto pode ser identificado que no haver
mudanas no cdigo-fonte ou em funo transacional, sendo necessrio apenas testar o sistema, ento
deve-se utilizar um percentual contemplando apenas a fase de testes. No caso do teste apontar a necessidade de atualizar alguma funo transacional, no deve ser contado o esforo do teste, mas sim o esforo
abordado nesta seo, conforme as frmulas apresentadas nos tpicos seguintes.
As prximas subsees apresentam os tipos de projetos de mudana de plataforma. Os projetos de
mudana de plataforma que se enquadram em mais de uma subseo, devem ser contados apenas uma
vez, considerando o tipo de projeto com maior contagem de pontos de funo. Os percentuais de multiplicao apresentados so estimados, podendo ser reajustados conforme avaliao da base histrica dos
servios realizados no rgo ou entidade.
21
Em casos de mudana de banco hierrquico para relacional, em sistemas sem documentao, devido
s mudanas envolvidas, deve-se considerar como um novo projeto de desenvolvimento, ou seja, as funes de dados e funes transacionais devem ser contadas. Assim, ser utilizada a frmula de projeto de
desenvolvimento do CPM 4.3, conforme frmula abaixo:
PF_REDESENVOLVIMENTO_BD_HIERRQUICO = PF_INCLUDO + PF_CONVERSO
Nos projetos de redesenvolvimento de banco de dados hierrquico para relacional, recomenda-se a
supresso do PF_CONVERSO da frmula acima, conforme descrito na seo 3.3.
Caso o projeto j possua documentao de requisitos, ento a fase de requisitos no deve ser contratada. importante destacar que isso se aplica a qualquer fase que no se deseja contratar. Deve-se
considerar apenas os percentuais das fases contratadas.
Caso a demanda de redesenvolvimento seja de um sistema gerenciador de banco de dados relacional
para outro relacional, deve ser utilizada a seguinte frmula:
PF_REDESENVOLVIMENTO_BD_RELACIONAL = (PF_ALTERADO X 0,30) + PF_CONVERSO
O PF_ALTERADO deve considerar apenas as funcionalidades impactadas. As funcionalidades que possuem apenas demandas de testes, devem ser contadas usando o percentual da fase de testes (ver Tabela 7).
Nos projetos de redesenvolvimento de banco de dados relacional para outro relacional, recomenda-se tratar o PF_CONVERSO dentro do mesmo projeto.
Na mudana de banco relacional para relacional, geralmente a estrutura de dados no alterada,
desta forma no contamos as funes de dados.
4.6Atualizao de Verso
So consideradas nesta categoria, demandas para uma aplicao existente - ou parte de uma aplicao existente - executar em verses diferentes de browsers (ex: Internet Explorer, Firefox, Chrome, etc) ou
de linguagens de programao (ex: verso mais atual do JAVA). Tambm so consideradas nesta categoria
atualizao de verso de banco de dados.
Nesta categoria foram observadas demandas de diferentes tipos de projetos, descritos nas prximas
subsees. Os percentuais de multiplicao apresentados nessas subsees so estimados, podendo ser
reajustados conforme avaliao da base histrica dos servios realizados no rgo ou entidade.
Outro ponto a ser observado a classificao, em alguns casos, dessas demandas como componente
interno reusvel (seo 4.15).
Recomenda-se enfaticamente a realizao da anlise de impacto das mudanas propostas para efeito
de determinao do percentual adequado para aplicao sobre o total de pontos de funo das funcio-
22
nalidades impactadas. Por exemplo, em uma anlise de impacto, pode ser identificado que no haver
mudanas no cdigo-fonte ou em funo transacional, sendo necessrio somente testar o sistema, ento
deve-se utilizar um percentual contemplando apenas a fase de testes. No caso do teste apontar a necessidade de atualizar alguma funo transacional, no deve ser contado o esforo do teste, mas sim o esforo
abordado nesta seo, conforme as frmulas apresentadas nas subsees seguintes.
23
citado acima. importante ressaltar que os sistemas Web devem seguir o padro W3C, como recomendado na e-Ping. Caso seja necessrio fazer a adequao do sistema para atendimento ao padro W3C,
pode-se usar a frmula acima.
4.7Manuteno em Interface
A manuteno em interface, denominada na literatura de manuteno cosmtica, associada s demandas de alteraes de interface, por exemplo: fonte de letra, cores de telas, logotipos, mudana de
botes na tela, mudana de posio de campos ou texto na tela. Tambm se enquadram nessa categoria
as seguintes manutenes:
Mudanas de texto em mensagens de erro, validao, aviso, alerta, confirmao de cadastro ou
concluso de processamento;
Mudana em texto esttico de e-mail enviado para o usurio em uma funcionalidade de
cadastro. A demanda deve ser contada como manuteno em interface na funcionalidade de
cadastro;
Alterao de ttulo de um relatrio;
Alterao de labels de uma tela de consulta.
Nestes casos, a aferio do tamanho em pontos de funo das funes transacionais impactadas ser
realizada com a aplicao de um fator de reduo de modo a considerar 20% da contagem de uma funo
transacional de mais baixa complexidade (3 PF), ou seja 0,6 PF, independentemente da complexidade da
funcionalidade alterada. Neste tipo de manuteno no so contadas funes de dados.
PF_INTERFACE = 0,6 PF x QUANTIDADE DE FUNES TRANSACIONAIS IMPACTADAS
Est contemplada a atualizao da documentao das funcionalidades da aplicao impactadas pela
manuteno nas demandas desta categoria. Assim, a documentao (documento de requisitos, documento de interface, prottipo, entre outros) das funcionalidades alteradas deve ser atualizada. Caso no exista
24
documentao para as funcionalidades alteradas, no ser contemplada a redocumentao das funcionalidades da aplicao impactadas pela manuteno nas demandas desta categoria.
Observao 1 Help: As demandas de projetos de desenvolvimento de sistemas ou de manuteno
de funcionalidades contemplam o desenvolvimento ou atualizao do help da funcionalidade em questo,
sendo tratada como uma atividade de documentao no processo de software. No caso de demandas
especficas de desenvolvimento ou atualizao de help esttico de funcionalidades, estas podem ser enquadradas nesta seo e poder ser usado um valor de multiplicao inferior a 0,6 PF conforme anlise
de impacto das mudanas propostas. Em caso de requisitos de usurio para o desenvolvimento de funcionalidades de manuteno de help, deve-se contar a funo de dados de help e as funcionalidades de manuteno de help (por exemplo: incluir help de tela, consultar help de campo) de acordo com o CPM 4.3.
O percentual de multiplicao estimado, podendo ser reajustado conforme avaliao da base histrica dos servios realizados no rgo ou entidade.
25
4.9Apurao Especial
So funcionalidades executadas apenas uma vez para: corrigir problemas de dados incorretos na base
de dados das aplicaes ou atualizar dados em bases de dados de aplicaes, detalhados na subseo
4.9.1; gerar um relatrio especfico ou arquivo para o usurio por meio de recuperao de informaes
nas bases da aplicao, detalhados na subseo 4.9.2. A subseo 4.9.3 considera os casos de reexecuo
de uma apurao especial.
Caso a apurao seja de correo de dados devido a erros de funcionalidades de aplicaes desenvolvidas pela contratada, observar as clusulas contratuais com relao a garantias e prazos de correo.
Recomenda-se fortemente ao rgo contratante sempre solicitar formalmente para a empresa contratada o armazenamento do script para permitir posterior reexecuo.
Cabe ressaltar que o rgo deve avaliar a complexidade das demandas tpicas de apurao especial,
podendo utilizar um percentual redutor nas frmulas descritas nas subsees seguintes. Por exemplo, o
redutor percentual pode ser aplicado em funo da complexidade das demandas, documentao demandada e/ou do processo de desenvolvimento utilizado.
26
27
4.10Atualizao de Dados
Em alguns casos, as demandas de correo de problemas em base de dados esto associadas a atualizaes manuais (de forma interativa), diretamente no banco de dados em um nico registro, e que no
envolvem clculos ou procedimentos complexos. So exemplos desse tipo de demanda, a atualizao do
valor de um campo de uma tabela cadastrado erroneamente ou a excluso de um registro de uma tabela.
Nestes casos, a aferio do tamanho em Pontos de Funo deve considerar 10% do PF de uma Entrada
Externa e os Tipos de Dados da Entrada Externa so todos os TD considerados na funcionalidade campos
atualizados e campos utilizados para a seleo do registro.
28
29
4.13Verificao de Erros
As verificaes de erro ou anlise e soluo de problemas so as demandas referentes a todo comportamento anormal ou indevido apontado pelo cliente nos sistemas aplicativos. Neste caso, a equipe de
desenvolvimento da contratada se mobilizar para encontrar as causas do problema ocorrido. Se for constatado algum erro de sistema, a demanda ser atendida como manuteno corretiva (seo 4.4).
Entretanto, uma vez no constatado o problema apontado pelo cliente ou o mesmo for decorrente
de regras de negcio implementadas ou utilizao incorreta das funcionalidades, ser realizada a aferio
do tamanho em pontos de funo das funcionalidades verificadas que o cliente reportou erro. Caso no
exista documentao de testes disponvel dessas funcionalidades verificadas, ser considerado 20% do
tamanho funcional dessas funcionalidades com solicitao de anlise pelo rgo contratante, segundo a
frmula abaixo:
PF_VERIFICAO = PF_Funcionalidade_Reportada_Com_Erro x 0,20
Caso exista documentao de testes das funcionalidades verificadas, ento ser considerado 15%
(mesmo percentual da fase de Testes, conforme Tabela 7) do tamanho funcional das funcionalidades analisadas, segundo a frmula abaixo:
PF_VERIFICAO = PF_Funcionalidade_Reportada_Com_Erro x 0,15
importante ressaltar que a demanda de verificao de erros deve ser associada a uma funcionalidade especfica. Os casos de sistema fora do ar por conta de problemas de rede ou banco de dados devem
30
ser tratados como servios de suporte e no servios de desenvolvimento e manuteno de sistemas. Esses servios de suporte no fazem parte do escopo desse roteiro de mtricas, no se aplicando verificao
de erros nestes casos.
O percentual de multiplicao proposto acima estimado, podendo ser reajustado conforme avaliao da base histrica dos servios realizados no rgo ou entidade.
PF_COMPONENTE = FI X PF_ALTERADO
Exemplo de manuteno de componentes:
Mudana em tpico de um menu de um sistema em PHP que aparece em todas as telas da
aplicao. A contagem pode ser realizada considerando o componente Apresentar Menu.
Alm disso, existem casos onde so realizadas manutenes de valores de elementos internos
de configurao que afetam o comportamento ou a apresentao do sistema de forma geral,
tais como pginas de estilos (arquivos CSS de sistemas Web), arquivos com mensagens de erro,
arquivos de configurao de sistema e arquivos de internacionalizao. Nestes casos, a aferio
do tamanho em pontos de funo ser realizada com a aplicao de um fator de reduo de
modo a considerar 20% da contagem de uma funo transacional de mais baixa complexidade
(3 PF), ou seja 0,6 PF. Assim sendo, deve ser utilizada a seguinte frmula de clculo:
PF_COMPONENTE_ARQUIVO = 0,6 PF x QTD_ARQUIVOS_ALTERADOS
32
fora de uma fronteira de aplicao, por exemplo, apresentao de dados em tela, impressora,
arquivo, voz. Este termo utilizado para incluir, dentre outros, diferentes plataformas tcnicas e
formatos de arquivos como diferentes mdias.
Mltiplas Mdias: quando a mesma funcionalidade entregue em mais de uma mdia.
Frequentemente, apenas uma mdia requisitada para um usurio especfico em um
determinado momento, por exemplo consulta de extrato bancrio via Internet como oposto a
consulta de extrato bancrio via terminal do banco.
Multi-Mdia: quando mais de uma mdia necessria para entregar a funcionalidade , por
exemplo, uma nova notcia publicada na Internet que apresentada em vdeo e texto. Observe
que a notcia completa s apresentada para o usurio se ele ler o texto e assistir o vdeo.
Abordagem Single Instance: esta abordagem no reconhece que a mdia utilizada na entrega da
funo transacional uma caracterstica de diferenciao na identificao da unicidade da funo
transacional. Se duas funes entregam a mesma funcionalidade usando mdias diferentes, elas
so consideradas a mesma funcionalidade em uma contagem de pontos de funo.
Abordagem Multiple Instance: esta abordagem especifica que o tamanho funcional obtido
no contexto do objetivo da contagem, permitindo uma funo de negcio ser reconhecida
no contexto das mdias que so requisitadas para que a funcionalidade seja entregue. A
abordagem multiple instance reconhece que a mdia para entrega constitui uma caracterstica
de diferenciao na identificao da unicidade da funo transacional.
Os cenrios descritos nas sees seguintes no representam uma lista completa de situaes de mltiplas mdias. O entendimento dos exemplos a seguir facilitar o entendimento de outros cenrios envolvendo mltiplas mdias.
Este roteiro deve ser atualizado considerando a publicao de novas diretrizes do IFPUG e novos cenrios que emergiro nas contagens de PF de projetos dos rgos e entidades do SISP.
33
Uma aplicao grava dados em um arquivo de sada e imprime um relatrio com informaes idnticas s gravadas no arquivo.
Nesses casos, sugere-se a utilizao da abordagem single instance considerando que os dados impressos e os dados apresentados no arquivo de sada sejam idnticos e que a ferramenta de desenvolvimento
apoie a gerao dessas mltiplas sadas. Assim, apenas uma funcionalidade ser includa na contagem de
pontos de funo. Caso as lgicas de processamento da gerao do arquivo de sada e do relatrio em
papel sejam distintas, o processo elementar no nico e, portanto, a funcionalidade ser contada duas
vezes. Alm disso, se a gerao das mltiplas sadas no seguirem o padro da ferramenta de desenvolvimento e tiverem que ser customizadas para o cliente, ento ser utilizada a abordagem multiple instance.
34
volvimento suportar um gerador de relatrios que o usurio visualize o relatrio em tela e o gerador permita
ao usurio imprimir o relatrio, salvar em html ou salvar no formato de valores separados por vrgula, ento
se contar apenas uma vez, observando que a funcionalidade ser da ferramenta e no da aplicao.
35
Coletar e Analisar
Requisitos Iniciais
Estimar Esforo
Banco de Dados
Histrico de Projetos
da organizao
Estimar Cronograma
Estimar Custo
Documentar
Estimativas e
Premissas
Documentar
Acompanhamento
Documentar
Resultados nais
e Lies Aprendidas
Estimar Recursos
Computacionais Crticos
Reestimar , conforme
necessidade
Estimar Tamanho
Analisar e Aprovar
Estimativas
Acompanhar
Estimativas
Calibrar e Melhorar
o Processo
O principal insumo (artefato de entrada) para um processo de estimativas o documento de requisitos. Como as estimativas devem ser realizadas no incio do processo de desenvolvimento de software, ento o artefato a ser utilizado um documento inicial de requisitos, por exemplo, o documento de viso ou
formalizao simples de requisitos. O estimador deve analisar os requisitos para garantir a qualidade e ento estimar o tamanho do projeto de software. O prximo passo a derivao das estimativas de esforo,
prazo (cronograma), custo (oramento) com base na estimativa de tamanho e nos dados histricos de projetos concludos da organizao, assim como o estabelecimento da estimativa de recursos computacionais
crticos e dos recursos da equipe a ser alocada ao projeto. Neste ponto, as principais estimativas foram
geradas e precisam ser documentadas. As premissas e suposies utilizadas na gerao das estimativas,
dentre as quais: complexidade do projeto, plataforma de desenvolvimento, tipo do projeto, percentual de
evoluo de requisitos, tambm devem ser documentadas [Hazan, 2008].
36
A realizao das estimativas por um analista de mtricas que no atue na equipe do projeto, constitui
uma prtica recomendada. O analista de mtricas deve analisar tambm a consistncia da documentao
utilizada na estimativa. No decorrer do processo de desenvolvimento, as estimativas devem ser acompanhadas conforme o refinamento dos requisitos. O projeto deve ser reestimado aps a fase de requisitos,
quando for gerada a especificao de casos de uso, e sempre que ocorrerem mudanas significativas nos
requisitos funcionais ou no funcionais. Quando o projeto concludo, deve-se aferir e documentar o
tamanho, prazo, custo, esforo e recursos realizados, assim como outros atributos relevantes do projeto,
visando a coleta de dados para a melhoria do processo de estimativas. As lies aprendidas tambm devem ser documentadas [Hazan, 2008].
Portanto, para os contratos de projetos de software, baseados na mtrica Ponto de Funo, as estimativas devem ser realizadas em, no mnimo, trs marcos do processo de desenvolvimento de software, a saber:
Estimativa inicial: realizada aps o fechamento do escopo do projeto. Geralmente baseada
em um documento inicial de requisitos como, por exemplo, o documento de viso. Constitui
uma boa prtica a previso de evoluo de requisitos, especialmente em projetos de
desenvolvimento de mdio ou grande porte. Nessa etapa importante destacar os seguintes
conceitos na rea de estimativas:
Uma Estimativa obtida por meio de uma atividade tcnica, utilizando mtodos de
estimativas. No deve sofrer interferncias polticas;
A Meta um desejo, em funo de necessidades de negcio, estabelecida
politicamente;
Um Compromisso um acordo da gerncia com as equipes tcnicas para alcanar
uma meta [Parthasarathy, 2007].
Em um cenrio ideal, os resultados da estimativa atendem s metas de negcio. Quando este cenrio
no real, fundamental a reduo de escopo do projeto, de modo que a meta se adapte aos resultados
da estimativa.
Contagem de Pontos de Funo de Referncia: realizada aps o aceite dos requisitos.
Geralmente, leva em considerao a especificao dos casos de uso e regras de negcio da
aplicao. Pode ser aplicada a contagem estimada ou a detalhada.
Contagem de Pontos de Funo Final: realizada aps a homologao da aplicao. Esta
contagem considera as funcionalidades efetivamente entregues para o usurio pela aplicao.
Neste caso, deve ser aplicada a contagem detalhada.
Para fins de faturamento, realizado durante o desenvolvimento, deve-se considerar a Contagem de
Referncia e posteriormente realizar os ajustes no faturamento aps a Contagem Final.
importante ressaltar que as mudanas de requisitos tambm sero consideradas no tamanho do
projeto a ser faturado (ver subseo 6.2.1). Alm disso, se estas mudanas forem significativas, maiores
que a evoluo de requisitos (scope creep) prevista na estimativa inicial, o prazo do projeto deve ser reestimado. Toda mudana de requisito deve passar por uma anlise de impacto entre contratante e contratada.
37
38
Documentao do
Software
Aplicao
Transaes
(EEs, CEs, SEs)
Pontos de Funo
(nmeros)
Mapeamento em nmeros
Dados
Internos (ALIs)
Outras
Aplicaes
Dados
Externos (AIEs)
Uma vez identificado o processo elementar, o estimador deve buscar o entendimento deste para
classific-lo em Entrada Externa, Consulta Externa ou Sada Externa. Adicionalmente, o estimador deve
descobrir os dados associados ao processo elementar, visando a determinao da complexidade funcional da funo identificada. Caso no seja possvel a identificao da complexidade da funcionalidade em
questo, recomenda-se a utilizao da complexidade Mdia. Na anlise do processo elementar tambm
so identificados os grupos de dados lgicos da aplicao, que so classificados como Arquivos Lgicos
Internos ou Arquivos de Interface Externa. Caso no seja possvel a identificao da complexidade da funo de dados em questo, recomenda-se a utilizao da complexidade Baixa. importante ressaltar que
se o estimador identificar mais de um Registro Lgico no Arquivo Lgico Interno, recomenda-se utilizar a
complexidade Mdia.
A seguir so apresentadas dicas para ajudar no mapeamento dos requisitos funcionais da aplicao
nos tipos funcionais da APF. As necessidades e funcionalidades especificadas para o projeto, contidas no
documento inicial de requisitos, devem ser enquadradas em uma das seguintes tabelas:
Tabela 2 - Contagem dos Arquivos Lgicos Internos (ALI): banco de dados lgico da aplicao (tabelas
e arquivos mantidos pela aplicao).
Consideraes: Identifique os grupos de dados lgicos de aplicao nos modelos de dados ou diagrama de classes ou a partir dos requisitos funcionais, descritos nos documentos de requisitos (documento
39
de viso, relao de casos de uso, etc). No considere arquivos fsicos, arquivos de ndices, arquivos de
trabalho e tabelas de relacionamento sem atributos prprios (tabelas que existem para quebrar o relacionamento m x n e apenas transportam as chaves estrangeiras). As entidades fracas tambm no so
consideradas um ALI. Se possvel, tente descobrir os atributos lgicos, campos reconhecidos pelo usurio,
e subgrupos de dados existentes para obter a complexidade funcional, segundo as regras de contagem
do CPM. Caso no seja possvel, a experincia tem mostrado que a maioria dos ALI dos sistemas so de
complexidade Baixa.
N ALI Baixa:
X 7 PF
N ALI Mdia:
X 10 PF
N ALI Alta:
X 15 PF
Total PF:
Tabela 2 - Identificao dos Arquivos Lgicos Internos da Aplicao
Tabela 3 - Contagem de Arquivos de Interface Externa (AIE): banco de dados de outras aplicaes,
apenas referenciados pela aplicao que est sendo estimada (tabelas e arquivos mantidos por outra
aplicao).
Consideraes: Identifique os grupos de dados lgicos de outras aplicaes referenciados pela aplicao que est sendo estimada. Frequentemente, o referenciamento de dados ocorre para a validao de
informaes em cadastros ou consultas. Algumas vezes, relatrios ou consultas referenciam dados externos de outras aplicaes, tambm considerados AIE. No so considerados AIE arquivos fsicos, arquivos
de ndice, arquivos de trabalho, tabelas de relacionamento sem atributos prprios e entidades fracas.
Geralmente, os AIE dos sistemas possuem a classificao de complexidade Baixa, porque so considerados para a determinao da complexidade funcional do AIE apenas os atributos referenciados pela
aplicao que est sendo contada.
N AIE Baixa:
X 5 PF
N AIE Mdia:
X 7 PF
N AIE Alta:
X 10 PF
Total PF:
Tabela 3 - Identificao dos Arquivos de Interface Externa da Aplicao
Tabela 4 - Contagem de Entradas Externas (EE): funcionalidades que mantm os Arquivos Lgicos Internos (ALI) ou alteram o comportamento da aplicao.
Consideraes: Identifique as funcionalidades de manuteno de dados. Conte separadamente a incluso, alterao e excluso de dados, isto , cada funo independente de incluso, alterao ou excluso
40
deve ser contada separadamente. A aplicao possui funes de entrada de dados que alteram o comportamento dela, por exemplo: processamentos batch ou processamento de informaes de controle?
Caso positivo, estas funes tambm devem ser identificadas como Entradas Externas. Se voc no possui
conhecimento sobre o processo elementar (funcionalidade analisada), considere as Entradas Externas
identificadas com complexidade Mdia.
N EE Baixa:
X 3 PF
N EE Mdia:
X 4 PF
N EE Alta:
X 6 PF
Total PF:
Tabela 4 - Identificao das Entradas Externas da Aplicao
Tabela 5 - Contagem de Consultas Externas (CE): funcionalidades que apresentam informaes para o
usurio sem a utilizao de clculos ou algoritmos. So os processos elementares do tipo l - imprime,
l - apresenta dados, incluindo consultas, relatrios, gerao de arquivos pdf, xls, downloads, entre outros.
Consideraes: Voc est desenvolvendo uma funo para apresentar informaes para o usurio:
uma consulta, relatrio, listbox, download, gerao de um arquivo, gerao de arquivo pdf, xls? Esta funo
no possui clculos ou algoritmos para derivao dos dados referenciados nem altera um Arquivo Lgico
Interno e nem muda o comportamento do sistema? Caso positivo, estas funes devem ser identificadas
como Consultas Externas. Se voc no possui conhecimento sobre o processo elementar (funcionalidade
analisada), considere as Consultas Externas com complexidade Mdia.
N CE Baixa:
X 3 PF
N CE Mdia:
X 4 PF
N CE Alta:
X 6 PF
Total PF:
Tabela 5 - Identificao das Consultas Externas da Aplicao
Tabela 6 - Contagem de Sadas Externas (SE): funcionalidades que apresentam informaes para o
usurio com utilizao de clculos ou algoritmos para derivao de dados ou atualizao de Arquivos Lgicos Internos ou mudana de comportamento da aplicao. So as consultas ou relatrios com totalizao
de dados, relatrios estatsticos, grficos, gerao de arquivos com atualizao log, downloads com clculo de percentual, entre outros.
Consideraes: Voc est desenvolvendo uma funcionalidade para apresentar informaes para o
usurio: uma consulta ou relatrio com totalizao de dados, etiquetas de cdigo de barras, grficos, relatrios estatsticos, download com percentual calculado, gerao de arquivo com atualizao de log? Caso
positivo, estas funes devem ser identificadas como Sadas Externas. Observe que esta funo deve ter
41
clculos ou algoritmos para processar os dados referenciados nos arquivos lgicos ou atualizar campos
(normalmente indicadores) nos arquivos ou mudar o comportamento da aplicao. Se voc no possui
conhecimento sobre o processo elementar (funcionalidade analisada), considere as Sadas Externas com
complexidade Mdia.
N SE Baixa:
X 4 PF
N SE Mdia:
X 5 PF
N SE Alta:
X 7 PF
Total PF:
Tabela 6 - Identificao das Sadas Externas da Aplicao
A estimativa de tamanho do projeto em PF deve ser gerada com a totalizao dos PF obtidos nas Tabelas 2, 3, 4, 5 e 6.
A frmula de contagem ou de estimativa de pontos de funo para projetos de desenvolvimento a
seguinte:
PF_DESENVOLVIMENTO = PF_INCLUIDO + PF_CONVERSO
Este roteiro recomenda a supresso do PF_CONVERSO das frmulas de contagem de pontos de funo de projetos de desenvolvimento, conforme descrito na seo 3.3.
42
Cada rgo ou entidade dever possuir sua prpria tabela de produtividade para cada linguagem,
considerando-se sempre dados histricos dos projetos j realizados.
Percentual de
esforo (%)
Engenharia de Requisitos
25%
Design / Arquitetura
10%
Implementao
40%
Testes
15%
Homologao
5%
Implantao
5%
43
horas extras e da incluso de pessoal adicional, gerando retrabalho. No entanto, a reduo de prazo tem
um limite, como demonstra a Regio Impossvel da Figura 4.
O mtodo utilizado para estimar o prazo dos projetos (Td) baseado na frmula de Capers Jones [Jones, 2007]. Esta estima o prazo, baseando-se no tamanho do projeto em pontos de funo, da seguinte
maneira:
Td = V t
Onde:
Td: prazo de desenvolvimento
V: tamanho do projeto em pontos de funo
Custo do Esforo
Regio Impossvel
(75% de Td)
Td
Tempo de Desenvolvimento
Observaes:
1) Td o tempo timo de desenvolvimento.
2) To o tempo que acarreta o menor custo.
3) To = 2 Td.
4) impossvel terminar em menos que 0,75*Td.
Figura 4 - Relao entre a Estimativa de Prazo e de Esforo
44
To
Tipo de Sistema
Expoente t
0,32 a 0,33
0,34 a 0,35
0,36
0,37
0,39
0,40
0,45
importante destacar que o mtodo s deve ser aplicado para projetos com mais de 100 PF. Caso o
rgo possua dados histricos de projetos, ento este deve trabalhar com seus dados histricos e modelos
de estimativas. Caso o projeto seja menor, o prazo deve ser obtido por meio da definio de prazo mximo
por tamanho funcional com base em dados histricos do rgo, conforme a Tabela 9.
Prazo mximo (em dias teis)
Projetos
Complexidade
Baixa
Projetos
Complexidade
Mdia
At 10 PF
9 dias
15 dias
De 11 PF a 20 PF
18 dias
30 dias
De 21 PF a 30 PF
27 dias
45 dias
De 31 PF a 40 PF
36 dias
60 dias
De 41PF a 50 PF
45 dias
75 dias
De 51 PF a 60 PF
54 dias
90 dias
De 61 PF a 70 PF
63 dias
105 dias
De 71 PF a 85 PF
70 dias
110 dias
De 86 PF a 99 PF
79 dias
110 dias
Tamanho do Projeto
Observao: Para os projetos de baixa complexidade foi considerada a produtividade de 7 hh/PF. Para
projetos de mdia complexidade foi considerada a produtividade de 12 hh/PF, sendo o limite 110 dias
45
teis, equivalentes a 5 meses,que o resultado da frmula de Capers Jones para projetos de 100 PF - Td =
100 0,35 = 5 meses. No caso de sistemas com complexidade alta, deve haver uma avaliao do rgo.
O prazo calculado considera todo o ciclo de vida do projeto, desde a fase de requisitos at a implantao. Assim, caso a estimativa tenha sido realizada ao final da fase de requisitos, descontar do prazo
restante o tempo gasto com a fase de requisitos.
Caso seja necessrio receber o projeto em um prazo menor que o calculado, recomenda-se propor
um processo de desenvolvimento incremental, priorizando funcionalidades em cada iterao de acordo
com a necessidade dele. Caso, ainda assim, a estimativa no atenda s necessidades do cliente, pode-se
reduzir o Td em at 25%, observando-se a Regio Impossvel. No entanto, quanto mais perto da Regio
Impossvel, o esforo e o custo do projeto aumentam de maneira exponencial. Assim, a reduo de prazo
de 10% implica no aumento de esforo de 20%; a reduo de prazo de 20% implica no aumento de esforo
de 50%; a reduo de prazo de 25% implica em um aumento de esforo de 70%. No recomendada a
reduo de prazo em mais de 20%.
Os percentuais de aumento de esforo so estimados, podendo ser reajustados conforme avaliao
da base histrica dos servios realizados no rgo ou entidade.
Na seo seguinte abordada a questo da distribuio de esforo e alocao de pessoas ao projeto.
46
47
48
Fator
Acrscimo
Tipo da Mudana
de Requisito
Alterao de
Requisitos
Alterao
Alterao de
Interface
Desistncia
Incluir
Funo
Requisito Original
Alterar
Funo
Excluir
Funo
50%
50%
0,6 PF
0,6 PF
130%
80%
30%
Cabe ressaltar que a quantidade de PF_RETRABALHO obtida, para fins de planejamento, gesto e faturamento, usa na sua frmula o percentual das fases ou atividades concludas at o momento da solicitao
da mudana de requisitos, conforme descrito acima.
Observaes Importantes:
49
1. Recomenda-se que o registro das demandas de alterao de requisitos seja realizado em separado, sendo contado em uma planilha de PF_RETRABALHO parte da contagem de PF do projeto.
Apesar das medies em separado, elas ainda devem guardar vnculo com o projeto em andamento, fazendo parte da sua baseline de tamanho.
2. O clculo do PF_RETRABALHO deve registrar o percentual das fases concludas do processo de
desenvolvimento at o momento da mudana de requisitos, para projetos que no tenham o gerenciamento do seu progresso, conforme descrito na subseo 6.2.3. Nos projetos onde exista o
gerenciamento do seu progresso, o PF_RETRABALHO deve registrar o percentual das atividades
concludas das fases do processo de desenvolvimento, no momento da mudana de requisitos,
usando os registros de acompanhamento do progresso do projeto ilustrados na subseo 6.2.3.
A seguir so descritos os tipos de mudana nos projetos.
1. Acrscimo de funcionalidades ao escopo do projeto
As mudanas que no tragam impacto aos requisitos originais do projeto, caracterizadas pelo acrscimo de funcionalidades ao escopo do projeto de desenvolvimento ou de manuteno, sero acrescentadas na contagem de PF do projeto e no geram contagem de PF_RETRABALHO, ou seja, representam um
trabalho adicional e no retrabalho. Enquadram-se nesta situao a incluso, a alterao ou a excluso de
funes que no constavam no escopo do projeto original.
2. Alterao de funo
A contagem de PF_RETRABALHO referente alterao deve considerar o percentual de 50% sobre
o tamanho da funo antes da alterao, independentemente do requisito original. Este item se refere
somente alterao de requisitos de funcionalidades que estavam sendo criadas ou alteradas no projeto
original (Caso 1).
Em caso de mudanas em interface (cosmticas), conforme apresentado na seo 4.7, considerar o
percentual de 20% da contagem de uma funo transacional de mais baixa complexidade (3 PF), ou seja
0,6 PF, independentemente da complexidade da funo antes da alterao (Caso 2).
Sobre a quantidade de PF_RETRABALHO obtida, para fins de gesto e faturamento, dever ser aplicado o percentual das fases concludas at o momento da solicitao de mudana de requisitos, para
projetos que no tenham o gerenciamento do seu progresso, conforme descrito na subseo 6.2.3, e o
percentual das atividades concludas, para projetos que tenham o gerenciamento do seu progresso, conforme os registros de acompanhamento do progresso do projeto, ilustrados na subseo 6.2.3.
A contagem de PF do projeto deve ser atualizada para refletir o novo grau de complexidade da funo
aps a mudana.
50
Exemplo:
Considerando-se que um projeto de melhoria tinha como escopo a alterao de uma EE (complexidade
alta - 6 PF) e a criao de uma CE (complexidade baixa - 3 PF) e uma SE (complexidade baixa - 4 PF). Alm
disso, no feito o gerenciamento do progresso desse projeto. A contagem de PF_MELHORIA :
Incluso de CE e SE: 3 PF + 4 PF = 7 PF
Alterao de EE: 6 PF * 50% = 3 PF
PF_MELHORIA v1 = 10 PF
Caso 1: Alterao de requisitos
No incio da homologao foram solicitadas mudanas nos requisitos da EE e da CE, sendo que a
complexidade da CE passou a ser mdia (4 PF) aps a mudana. Nesta situao hipottica, a contagem de
PF_RETRABALHO ser a seguinte:
EE original: 6 PF
CE original: 3 PF
PF_RETRABALHO = (6 PF + 3 PF) x 50%Nota 1 = 4,5 PF
PF_RETRABALHO = 4,5 PF x 90%Nota 2
PF_RETRABALHO = 4,05 PF
Nota 1: 50% o percentual a ser aplicado sobre o tamanho da funo original antes da sua alterao,
conforme apresentado na Tabela 10.
Nota 2: No contexto do exemplo e usando a distribuio de esforo da Tabela 7, o projeto na fase de
testes (a ltima fase concluda antes da fase de homologao) registra progresso de 90%. Assim, para fins
de gesto e faturamento, o valor do PF_RETRABALHO seria o correspondente a: 4,5 PF * 90% = 4,05 PF
cheios.
A contagem de PF_MELHORIA dever ser atualizada para refletir o aumento da complexidade da CE
alterada:
Incluso de CE alterada e SE: 4 PF + 4 PF = 8 PF
Alterao de EE alterada: 6 PF * 50% = 3 PF
PF_MELHORIA v2: 11 PF
Caso 2: Alterao de interface
Durante a fase de implementao foi solicitada uma alterao na funo SE, que um relatrio. A
demanda para alterar o tipo de fonte do ttulo do relatrio (alterao de interface - cosmtica). A complexidade da funo SE se mantm a mesma (complexidade baixa - 4 PF) aps a mudana. Nesta situao
hipottica, a contagem de PF_RETRABALHO ser a seguinte:
51
SE original: 4 PF
PF_RETRABALHO = 0,6 PF Nota 3
PF_RETRABALHO = 0,6 PF x 35%Nota 4
PF_RETRABALHO = 0,21 PF
Nota 3: 0,6 PF corresponde a 20% de uma funo de baixa complexidade (3PF), independente do tamanho da funo original antes da sua alterao, conforme apresentado na Tabela 10.
Nota 4: No contexto do exemplo e usando a distribuio de esforo da Tabela 7, o projeto na fase de
Design/Arquitetura (a ltima fase concluda antes da fase de implementao, onde ocorreu a solicitao
de mudana) registra progresso de 35%. Assim, para fins de gesto e faturamento, o valor do PF_RETRABALHO seria o correspondente a: 0,6 PF * 35% = 0,21 PF cheios.
Nesse caso de mudana de requisitos com alterao de interface (cosmtica), a contagem de PF_MELHORIA do projeto original no sofre alterao, visto que a complexidade da funo SE no alterada.
3. Desistncia de incluir, alterar ou excluir uma funo
Em caso de desistncia de incluir, alterar ou excluir uma funo, deve-se verificar qual era o requisito
original, pois o percentual a ser utilizado na contagem de PF_RETRABALHO varia para cada situao, conforme apresentado na Tabela 10. Alm do trabalho de retirar o que foi requisitado (percentuais definidos
na Tabela 10), deve-se considerar tambm em PF_RETRABALHO, o trabalho realizado (fases ou atividades
concludas do processo de desenvolvimento) at o momento da desistncia desse requisito. Por fim, o
requisito original deve ser removido do PF_MELHORIA. Enquadram-se nesta situao somente as desistncias de incluir, de alterar ou de excluir funcionalidades que constavam no escopo do projeto.
Quando a mudana no projeto for deixar de incluir uma funo, aplica-se o percentual de 130% ao
tamanho da funo original. Esse valor resultado da soma do percentual de 100% da incluso (escopo
original) com os 30% correspondentes excluso dessa mesma funo.
Quando a mudana no projeto for deixar de alterar uma funo, aplica-se o percentual de 80% ao
tamanho da funo original. Esse valor o resultado da soma do percentual de 50% da alterao (escopo
original) com os 30% referentes excluso dessa mesma funo.
Quando a mudana no projeto for deixar de excluir uma funo, aplica-se apenas o percentual de 30%
referente excluso da funo original.
Em todos os casos, a contagem de PF_MELHORIA deve ser atualizada removendo-se as funes que
no fazem mais parte do escopo do projeto.
Da mesma forma que no item 2 (Alterao de funo), para fins de gesto e faturamento, sobre a
quantidade de PF_RETRABALHO aplicado o percentual das fases concludas at o momento da solicitao de mudana de requisitos, para projetos que no tenham o gerenciamento do seu progresso, con-
52
forme descrito na subseo 6.2.3, e o percentual das atividades concludas, para projetos que tenham o
gerenciamento do seu progresso, conforme os registros de acompanhamento do progresso do projeto,
ilustrados na subseo 6.2.3.
Exemplos:
Desistncia de incluir funo
Suponha que um projeto de melhoria para a criao do relatrio XPTO, contado como uma SE de
complexidade mdia com 5 PF, teve uma demanda de excluso do projeto de melhoria durante a fase de
implementao (ou seja, o relatrio no ser mais construdo). Suponha, tambm, que no feito o gerenciamento do progresso desse projeto. Desta forma a contagem de PF_RETRABALHO ser a seguinte:
SE original: 5 PF
PF_RETRABALHO = 5 PF x 130%Nota 5 = 6,5 PF
PF_RETRABALHO = 6,5 PF x 35%Nota 6
PF_RETRABALHO = 2,275 PF
Nota 5: 130% o percentual a ser aplicado sobre o tamanho da funo original antes da desistncia
da sua incluso, conforme apresentado na Tabela 10.
Nota 6: No contexto do exemplo e usando a distribuio de esforo da Tabela 7, o projeto na fase de
Design/Arquitetura (a ltima fase concluda antes da fase de implementao, onde ocorreu a solicitao
de mudana) registra progresso de 35%. Assim, para fins de gesto e faturamento, o valor do PF_RETRABALHO seria o correspondente a: 6,5 PF * 35% = 2,275 PF cheios.
A contagem de PF_MELHORIA do projeto deve ser atualizada para que o relatrio XPTO deixe de constar na medio, conforme frmula abaixo:
Incluso de SE: 5 PF
PF_MELHORIA v2 = PF_MELHORIA v1 (Incluso de SE)
PF_MELHORIA v2 = PF_MELHORIA v1 5 PF
Desistncia de alterar funo
Se, no exemplo anterior, o relatrio XPTO estivesse sendo originalmente alterado (ao invs de includo), a nica diferena seria no percentual aplicado em PF_RETRABALHO:
SE original: 5 PF
PF_RETRABALHO = 5 PF x 80% Nota 7= 4 PF
PF_RETRABALHO = 4 PF x 35%Nota 8
PF_RETRABALHO = 1,4 PF
53
Nota 7: 80% o percentual a ser aplicado sobre o tamanho da funo original antes da desistncia da
sua alterao, conforme apresentado na Tabela 10.
Nota 8: No contexto do exemplo e usando a distribuio de esforo da Tabela 7, o projeto na fase de
Design/Arquitetura (a ltima fase concluda antes da fase de implementao, onde ocorreu a solicitao
de mudana) registra progresso de 35%. Assim, para fins de gesto e faturamento, o valor do PF_RETRABALHO seria o correspondente a: 4 PF * 35% = 1,4 PF cheios.
A contagem de PF_MELHORIA do projeto deve ser atualizada para que o requisito original (alterao
do relatrio XPTO, contado como uma SE de complexidade mdia com 5 PF) deixe de constar na medio.
Alterao de SE: 5 PF * 50% = 2,5 PF
PF_ MELHORIA v2 = PF_ MELHORIA v1 (Alterao de SE)
PF_ MELHORIA v2 = PF_ MELHORIA v1 (2,5 PF)
4. Desistncia de alterar uma funo seguida de excluso da funo
Quando a solicitao de mudana seja no s deixar de fazer o que estava no projeto original, mas
tambm exclu0m duas mudanas consecutivas:
a) Conta-se a desistncia de alterar a funo conforme descrito no item 3 (Desistncia de incluir,
alterar ou excluir uma funo), apurando a quantidade de PF_RETRABALHO correspondente e a
atualizao do PF_MELHORIA;
b) Conta-se o acrscimo ao escopo do projeto (excluir a funo da aplicao) conforme descrito
no item 1 (Acrscimo ao escopo do projeto), atualizando-se PF_MELHORIA.
54
Tamanho
Engenharia de
Requisitos
Design,
Arquitetura
Implementao
Testes
Homologao
Implantao
Caso de Uso 1
Atividade
Incluir Ativ.
Alterar Ativ
Excluir Ativ
Consultar Ativ
19 PF
50,00%
20%
0%
10%
0%
0%
Caso de Uso 2
Relatrio de
Projetos
5 PF
100 %
100%
50%
20%
0%
0%
....
Supondo a mudana de requisitos no Caso de Uso 2 do exemplo acima, para incluso de uma nova
informao a ser apresentada no Relatrio, a contagem de PF do requisito original a seguinte:
Caso de Uso 2 Relatrio de Projetos 5 PF
Esforo
da Fase
Tamanho
Esforo
realizado
Tamanho
realizado
Engenharia de
Requisitos
25%
1,25 PF
100%
1,25 PF
Design,
Arquitetura
10%
0,5 PF
100%
0,5 PF
Implementao
40%
2 PF
50%
1 PF
Testes
15%
0,75 PF
20%
0,15 PF
Homologao
5%
0,25 PF
0%
0 PF
Implantao
5%
0,25 PF
0%
0 PF
Macroatividades
Total: 2,9 PF
55
O tamanho realizado do requisito original de 2,9 PF. Conforme descrito na subseo 6.2.1, para o clculo do PF_RETRABALHO do requisito alterado ser considerado o fator de impacto de 50% na contagem
de PF. Portanto, a contagem do PF_RETRABALHO 2,9 x 0,50 = 1,45 PF.
56
57
7.1Conceitos
No cenrio de desenvolvimento de software com mtodos geis e dentro do contexto deste roteiro,
importante alinhar os seguintes conceitos:
Release: um ciclo que perpassa pelas fases do processo de desenvolvimento de software com o
objetivo de entregar, ao final do ciclo, um produto pronto a ser colocado em produo para uso.
A durao de cada release ser definida pela contratante na fase de planejamento do projeto conforme seu backlog priorizado de forma a garantir uma entrega de valor antecipada aos usurios.
58
Sprint: uma unidade de perodo de tempo fixo (time box) dentro da release, com datas de incio
e fim pr-definidas, dentro da qual executado um conjunto de atividades de desenvolvimento do
projeto previamente estabelecidas, gerando ao final um incremento do produto aceito e potencialmente implantvel.
Ciclo de Pagamento: perodo definido para fins de pagamento e apurao dos resultados entregues, podendo consistir de uma iterao (sprint), de um conjunto de iteraes, ou de uma release.
Considerando os critrios adotados para o projeto, como o tamanho da iterao (sprint), o tamanho da release, a produtividade da equipe do projeto e a expectativa de fluxo de caixa da contratada para manter seu equilbrio econmico-financeiro no atendimento do contrato, deve-se realizar
o faturamento por iterao (sprint), por grupo de iteraes, ou por release, desde que sempre
devidamente associado aos produtos entregues e aceitos de uma ordem de servio.
Produto Pronto: Visando a remunerao da contratada a partir da medio de resultados gerados
em um ciclo de pagamento, entende-se que um produto est pronto se foi entregue e aceito.
Cabe observar que o desenvolvimento de uma funcionalidade pode perpassar mais de uma sprint
e conter vrias histrias de usurios prontas e validadas em sprints diferentes. Nesse caso, a funcionalidade s ser considerada para fins de pagamento ao final do ciclo de pagamento em que
estiver com todas as suas histrias componentes prontas.
Refinamentos: so quaisquer mudanas ocorridas sobre uma funo transacional ou de dados j
previamente trabalhada(s) na release corrente (seja por meio de uma incluso, alterao ou excluso), provocadas pelo aprofundamento, detalhamento e complementao de requisitos durante o
processo de desenvolvimento.
7.2Orientaes
O desenvolvimento de software utilizando mtodos geis deve respeitar uma abordagem especfica
que considere as caractersticas dos mtodos geis, tanto no desenvolvimento quanto na gesto do projeto. Entretanto, essas caractersticas podem requerer adaptaes para o contexto de contrataes de
software na APF, no sentido de atender o cumprimento da legislao e dos princpios de economicidade
e eficincia. Nesse cenrio, algumas consideraes e sugestes so propostas para o desenvolvimento de
software utilizando mtodos geis na APF:
Remunerao baseada nos resultados entregues e aceitos (Produto Pronto);
Remunerao sempre atrelada a uma ordem de servio;
Promover o fluxo de demandas do projeto e o equilbrio econmico-financeiro da contratada;
Diviso do projeto de desenvolvimento ou manuteno em releases;
Ciclo da sprint (iterao) de 2 at 4 semanas;
Ciclo da release no deve ser igual ao ciclo da sprint, ou seja, release formada por apenas uma
sprint no permite a adoo das orientaes trazidas neste documento;
59
60
temente, no sejam remuneradas durante a release (ou seja, nos ciclos de pagamento do projeto), mas
que j estejam absorvidas pela contratada como parte inerente do processo gil de desenvolvimento
adotado para o projeto.
Nesse sentido, fundamental que o instrumento convocatrio de licitao especifique o mximo de
fatores, caractersticas e aspectos relevantes do projeto que podem influenciar no volume de mudanas
em funcionalidades em um projeto de desenvolvimento com mtodos geis para que as empresas candidatas ao certame avaliem adequadamente as possibilidades de atendimento do contrato, fornecendo profissionais qualificados e preo de ponto de funo exequvel para o contrato. Dessa forma, importante
destacar a necessidade do rgo contratante avaliar e controlar a sua gesto de riscos pela adoo de um
contrato de desenvolvimento de software com mtodos geis. O risco poder se mostrar inversamente
proporcional ao detalhamento dos fatores, caractersticas e aspectos do projeto expostos no edital de
contratao que possam interferir no desenvolvimento e no sucesso do projeto.
Processo
Elementar (PE)
Categoria (Inc,
Alt, Exc, Refin)
Tipo
(ALI, AIE, EE,
CE, SE)
Complex.
PF
Incluir
Aluno
Inc
EE
Baixa
Aluno
Inc
ALI
Baixa
Sprint 1
Sprint 2
Sprint 3
Incluir
Disciplina
Alt
EE
Baixa
1,5
Alterar
Aluno
Inc
EE
Baixa
Alterar
Disciplina
Alt
EE
Baixa
1,5
Emitir
Relatrio de
Alunos por
Disciplina
Inc
SE
Mdia
Total de PF da release
Observao
Alterao caracterizada
como Projeto de Melhoria
(PE Incluir Disciplina
desenvolvido e pronto na
Release N-1). Aplicado o
fator de impacto de 50%
(3PF*0,5=1,5PF).
Alterao caracterizada
como Projeto de Melhoria
(PE Alterar Disciplina
desenvolvido e pronto na
Release N-1). Aplicado o
fator de impacto de 50%
(3PF*0,5=1,5PF).
21
A contagem detalhada de pontos de funo da Release N est apresentada na Tabela 12. Observa-se
que no existe medio para as mudanas em funcionalidades desenvolvidas na mesma Release N. Mas,
o objetivo principal mostrar a necessidade de registrar as funcionalidades includas, alteradas, excludas
e refinamentos (mudanas em funcionalidades desenvolvidas na mesma release) durante a release, independente do registro e da identificao da iterao (sprint) onde elas ocorreram. Nesse sentido, facultativo o registro das contagens por sprint desde que a contagem da release registre as novas funcionalidades
desenvolvidas, bem como, as mudanas em funcionalidades.
A Tabela 12 apresenta a contagem de pontos de funo e o detalhamento dos servios realizados na
execuo da Release N e suas sprints, incluindo os processos elementares planejados (incluso e alterao
em funcionalidades) e as mudanas em funcionalidades previamente desenvolvidas na mesma release,
essas categorizadas como Refinamento, que foram identificadas durante o desenvolvimento da Release
N. Destaca-se, por exemplo, que o processo elementar Alterar Disciplina foi alterado na sprint 2, sendo
essa mudana categorizada como Alterao do Projeto de Melhoria. Em seguida, na sprint 3 houve
uma nova mudana no mesmo processo elementar Alterar Disciplina, sendo essa mudana categorizada
como Refinamento pois trata-se de uma mudana em funcionalidade j trabalhada na mesma release.
Alm disso, observe que houve a necessidade de alterar o processo elementar Emitir Relatrio de Disciplinas identificada durante o desenvolvimento da funcionalidade planejada Emitir Relatrio de Alunos
por Disciplina. Essa alterao foi classificada como Alterao do Projeto de Melhoria, pois a funcionalidade Emitir Relatrio de Disciplinas j estava pronta (ou seja, foi desenvolvida em release anterior).
Portanto, no desenvolvimento de projetos com mtodos geis, uma mudana em funcionalidade poder
ser classificada em Refinamento ou Alterao, a depender se a funcionalidade foi desenvolvida na
mesma release ou no.
Na Tabela 12, as mudanas em funcionalidades do tipo Refinamento foram absorvidas pela contratada e, portanto, no houve remunerao adicional ao total de pontos de funo da Release N. Assim
sendo, conforme apresentado na Tabela 12, a contagem final da Release N foi de 22,5 PF, que representa
o valor a ser remunerado contratada e corresponde s funcionalidades includas (18 PF) e alteradas (4,5
PF alteraes caracterizadas como Projeto de Melhoria) na Release N. Portanto, considerando o ciclo
de pagamento adotado, a remunerao da contratada para a release corresponder ao tamanho em
pontos de funo das funcionalidades includas acrescida do valor em pontos de funo das mudanas
(alteraes e excluses caracterizadas como Projeto de Melhoria) em funcionalidades ocorridas durante
a mesma release, excluindo-se os refinamentos (mudanas em funcionalidades desenvolvidas na mesma
release) que no so contados e remunerados durante o projeto.
Sugere-se que o registro das mudanas em funcionalidades seja feito em uma planilha de contagem
separada aplicando-se as regras de medio sugeridas neste Roteiro. O campo Categoria nas Tabelas 11
e 12 mostra, alm dos tipos Inc (incluso), Alt (alterao) e Exc (excluso) de funcionalidades, o tipo Refin
(Refinamento) para representar as mudanas em funcionalidades desenvolvidas na mesma release.
63
Release N
(composta de 3
Sprints)
Tipo
Categoria
(Inc, Alt,
Exc, Refin)
(ALI, AIE,
EE, CE, SE)
Complex.
PF
Incluir Aluno
Inc
EE
Baixa
Aluno
Inc
ALI
Baixa
Processo Elementar
(PE)
Sprint 1
Incluir Disciplina
Alt
EE
Baixa
1,5
Alterar Aluno
Inc
EE
Baixa
Aluno
Refin
ALI
Baixa
Alterar Disciplina
Alt
EE
Baixa
1,5
Emitir Relatrio
de Alunos por
Disciplina
Inc
SE
Mdia
Incluir Disciplina
Refin
Refin
EE
EE
Baixa
Baixa
1,5
Sprint 3
Alterar
Disciplina
Emitir Relatrio
de Disciplinas
64
Refin
Alt
EE
EE
Baixa
Baixa
Sprint 2
Incluir Aluno
Observao
22,5
Total de PF da release
Complex.
PF
ALI
Baixa
Incluir Aluno
EE
Baixa
Alterar Aluno
EE
Baixa
Emitir Relatrio
de Alunos por
Disciplina
SE
Mdia
Aluno
Contagem
da
Release N
Observao
Na contagem da release
para a baseline da aplicao,
no devem constar as
funcionalidades alteradas,
excludas e refinamentos.
18
65
66
contratante), que deve ser validada pelo rgo contratante. O esforo dessa atividade deve ser
considerado separadamente da estimativa de esforo derivada da contagem de PF. importante
ressaltar que essa atividade de responsabilidade dos analistas de negcio da empresa
contratante, de acordo com a Instruo Normativa SLTI/MP N 4, de 11 de setembro de 2014.
No entanto, por falta de pessoal, alguns rgos e entidades tm contratado estas atividades,
que antecedem a fase de requisitos primeira fase do processo de software e devem ser
faturadas em horas de consultoria. O documento inicial de requisitos gerado nessa atividade
o artefato utilizado como insumo para o planejamento do projeto (estimativa de tamanho
funcional em pontos de funo) e para o processo de desenvolvimento de software.
10 Concluso
Este documento apresentou um roteiro para o dimensionamento de tamanho de vrios tipos de projetos de software da contratante, visando a aderncia desses tipos de projetos desenvolvidos na instituio
s diretrizes da Instruo Normativa SLTI/MP N 4, de 11 de setembro de 2014. A estimativa de tamanho
utiliza a mtrica Ponto de Funo No Ajustado como unidade de medida, conforme recomendado nos
Acrdos 1.910/2007, 2.348/2009 e 1.647/2010 do Tribunal de Contas da Unio (TCU) e na Portaria SLTI/
MP N 31, de 29 novembro de 2010.
importante ressaltar que o uso de mtricas em contrato de software uma boa prtica, visando proporcionar uma gesto efetiva dos contratos com base em dados quantitativos e objetivos. A implantao
desta modalidade de contrato implica na definio de processos de gesto de requisitos e de gesto de
67
projetos baseados nas melhores prticas. Outro ponto a ser destacado a implantao de um Escritrio
de Mtricas com servidores capacitados para realizar contagens e estimativas em pontos de funo. Estes
servidores sero responsveis pela reviso das contagens de pontos de funo e estimativas realizadas
pelo Escritrio de Mtricas da empresa contratada e pela manuteno do roteiro de mtricas do rgo.
Como trabalho futuro, recomenda-se a reviso e atualizao deste roteiro sempre que for verificada
inconsistncia entre alguma definio do IFPUG publicada em verses futuras do CPM ou em White Paper, ou quando for detectado um novo tipo de servio associado ao desenvolvimento de software no
previsto neste roteiro. Neste sentido, como trabalho futuro est programada a elaborao de um modelo
de mensurao para servios de desenvolvimento e manuteno referentes a projetos de DW, Geoprocessamento, Workflow e Portais utilizando Gerenciadores de Contedo, que representam cenrios existentes
em alguns rgos do SISP.
11 Referncias Bibliogrficas
[Boehm, 2009] BOEHM, B.W. Software Cost Estimation With COCOMO II. Prentice Hall, New Jersey, 2009.
[CAIXA, 2012] CAIXA. Guia de Orientao - Mtricas, verso 10, 2012.
[Castro e Hernandes, 2013] CASTRO, M. V. B. de; HERNANDES, C. A. M. A Metric of Software Size as a Tool for IT
Governance. Procedings in: SBES, 2013.
[Dekkers, 2003] DEKKERS, C. Measuring the logical or functional Size of Software Projects and Software Application.
Spotlight Software, ISO Bulletin May 2003, pp10-13.
[Hazan, 2005]HAZAN C.; STAA, A.v. Anlise e Melhoria de um Processo de Estimativas de Tamanho de Projetos de
Software. Monografias em Cincias da Computao n 04/05, Departamento de Informtica PUC-Rio, ISSN 01039741, Fevereiro 2005.
[Hazan, 2008] HAZAN, C. Anlise de Pontos de Funo: Uma Aplicao nas Estimativas de Tamanho de Projetos de
Software. Engenharia de Software Magazine, Edio 2, Devmedia, pp. 25-31.
[Horvath, 2012] HORVATH, D.. Function Point Analysis and Agile Methodology. Q/P Management Group, Inc. 2012.
[IEEE,1998] IEEE Computer Society. IEEE Standard for Software Maintenance. IEEE Std 1219, 1998.
[IFPUG,2010a] IFPUG. Considerations for Counting with Multiple Media. Release 1.1, April, 2010.
[IFPUG,2010b] IFPUG. Counting Practices Manual. Version 4.3, January, 2010.
[Jones, 2007] JONES, C. Estimating Software Costs. Second Edition, Mc Graw Hill, 2007.
[Keote, 2010] KEOTE, A. K.. Function Points and Agile Hand in Hand. Accenture, 2010.
[Meli, 1999] MELI, R.; SANTILLO, L. Function Point Estimation Methods: A Comparative Overview. Proceedings of
FESMA 99, Amsterdam, Netherlands, October 1999, pp. 271-286.
[NESMA, 2005] NESMA. Neetherlands Software Metric Association. The application of Function Point Analysis in
the early phases of the application life cycle. A Practical Manual: Theory and case study, 2005.
[NESMA, 2009] NESMA. Function Point Analysis for Software Enhancement Guidelines. Version 2.2.1, 2009
68
[Parthasarathy, 2007] PARTHASARATHY, M. A. Practical Software Estimation: function point methods for insourced
and outsourced projects. Addison Wesley, New York, 2007.
[PROCERGS, 2013] PROCERGS. Guia de contagem da PROCERGS. Verso 2.0 Alteraes referentes ao Edital de
Fbrica de Software de Sistemas, Atualizado em 13/06/2013.
[Roetzheim, 2005] ROETZHEIM, W. Estimating and Managing Project Scope for New Development. CrossTalk, Vol.
April, 2005.
[SERPRO, 2008] SERPRO. Mtodos para Estimativa de Projetos de Software Baseado em Pontos de Funo.
Relatrio do Grupo de Trabalho para Definio da Utilizao de Pontos de Funo nos Servios de Desenvolvimento
e Manuteno de Sistemas. 2008.
[Sommerville, 2007] SOMMERVILLE, I. Software Engineering. Pearson Education Limited, 8th Edition, 2007.
[Vazquez, 2012] VAZQUEZ, C. et al. Anlise de Pontos de Funo: Medio, Estimativas e Gerenciamento de Projetos
de Software. 12 Edio, Editora rica Ltda, So Paulo, 2012.
69
70
DD/MM/AAAA
DD/MM/AAAA
Detalhamento
1.1
1.
1.2...
2.1
2.
2.2...
Identificao da Manuteno
Tipo
Melhoria
Migrao de Dados
Corretiva
Mudana de Plataforma - Linguagem de Programao
Mudana de Plataforma - Banco de Dados
Atualizao de Verso Linguagem de Programao
Atualizao de Verso Browser
Atualizao de Verso Banco de Dados
Manuteno em Interface (Cosmtica)
Adaptao em Funcionalidades sem Alterao de Requisitos Funcionais
Apurao Especial Base de Dados
Apurao Especial Gerao de Relatrios
Apurao Especial Reexecuo
71
Atualizao de Dados
Desenvolvimento, Manuteno e Publicao de Pginas Estticas de Intranet, Internet ou Portal
Manuteno de Documentao de Sistemas Legados
Verificao de Erros
Pontos de Funo de Teste (Execuo de Testes em funcionalidades no mantidas)
Componente Interno Reusvel
Descrio dos Requisitos de Manuteno (para cada funcionalidade alterada, utilizar um quadro)
a) Tabelas Modificadas pela Manuteno
Nome da Tabela
A Tabela atualizada por alguma funcionalidade da aplicao: Sim No
A Tabela atualizada por outra aplicao: Sim No
A Tabela foi: Includa Alterada Excluda
Total de Campos da Tabela aps a Manuteno =
Campos Includos/Alterados/Excludos
72
Houve mudana na regra de negcio (validaes, lgica de processamento, regras de clculo, campos
de filtro)?
Sim No
A funcionalidade ser apenas testada?
73
Sim No
d) Relatrios Afetados pela Manuteno
Considere a tela de parmetros e a de resultados do relatrio como apenas um nico Relatrio.
Nome do Relatrio
Total de Campos no Relatrio
Tabelas Acessadas
Total de Campos Afetados =
Total de Campos Calculados ou Totalizadores =
Existe atualizao de dados (log, indicador...) Sim No
Campos Includos/Alterados/Excludos
Houve mudana na regra de negcio (validaes, lgica de processamento, regras de clculo, campos
de filtro)?
Sim No
A funcionalidade ser apenas testada?
Sim No
74
Verso
Descrio
Autor
Aprovador
Nome do Projeto:
Nmero da OS:
Responsvel pela Contagem:
Descrio da Solicitao de Mudana:
Descrio da Atividade
Contagem PF
Observaes Relevantes:
Conforme a tabela de atividades acima, o total de pontos de funo realizados no Projeto _____ na
OS _________ de _____ PF.
75
76
77
tado, definindo regras prprias para a contagem de PF. Como os rgos pblicos esto se capacitando
em contagem de pontos de funo, o gestor do contrato no aceita a contagem de PF majorada. Ento,
a empresa contratada aloca apenas um recurso para atendimento daquele contrato, ressaltando que os
demais recursos esto trabalhando em contratos mais lucrativos. E as demandas de manuteno crticas
do contratante ficam pendentes no atendimento. Portanto, visando evitar este problema, importante
definir clusulas contratuais estabelecendo uma taxa de entrega mnima de PF/ms, por exemplo, 200
PF/ms. Deve-se incluir uma clusula de multa tratando essa questo. O estabelecimento de uma taxa
de entrega mensal mxima e mnima tambm importante para a empresa contratada dimensionar suas
equipes para um melhor atendimento ao contrato.
Estabelea o CPM como a Base para as Contagens de PF ao invs de Converses
Alguns rgos contratantes estabelecem seus contratos com base na mtrica Ponto de Funo, no
entanto no possuem capacitao adequada em contagem de pontos de funo. Em alguns casos, estes
rgos delegam a contagem para a empresa contratada, que estabelece roteiros de contagem com regras
que podem majorar a contagem de PF. Algumas vezes, o dimensionamento do tamanho do projeto em PF
realizado por meio de converses de horas alocadas em pontos de funo. Assim, estabelecido com a
empresa contratada um ndice de converso, por exemplo, 8 horas de trabalho corresponde a 1 PF, e ento
o pagamento da empresa contratada feito por meio das horas alocadas ao projeto em questo convertidas em PF. Observe que se o recurso de desenvolvimento est em uma empresa contratada externa ao
rgo contratante, este no pode gerenciar a quantidade de horas alocada ao projeto. Se o analista da
empresa contratada est realizando seu trabalho nas instalaes do contratante, isto um tipo de terceirizao de mo de obra. E ainda, se a contratada alocar um recurso com baixa produtividade, o custo do
projeto ser muito alto. A prtica de converso de horas para PF simples, no entanto inadequada. Se
o contrato baseado em pontos de funo, a empresa deve realizar as contagens seguindo as regras de
contagem do manual CPM.
Deve-se ressaltar que uma contagem de PF errnea pode levar a conseqncias desastrosas, tais
como: pagamento incorreto do projeto contratado por PF, gerao de dados para indicadores de qualidade defeitos/PF e produtividade horas/PF incorretos, gerao de estimativas incorretas. fundamental
que as organizaes que desejam estabelecer contratos de prestao de servios de desenvolvimento e
manuteno de sistemas com base em pontos de funo criem seu Escritrio de Mtricas com profissionais especialistas em contagem de pontos de funo. recomendado que estes profissionais possuam
certificao CFPS (Certified Function Point Specialist) e possuam experincia prtica em contagem de PF e
mtodos de estimativas de projetos de software. As empresas contratadas tambm devem ter seu escritrio de mtricas para revisar a contagem de PF do rgo contratante. Seguindo estas recomendaes
possvel evitar ou diminuir a incidncia de erros de contagem como os relatados em Hazan [Hazan, 2008].
78
79
teiras: sistema de recursos humanos e sistema de capacitao. Desta forma, fundamental estabelecer e
documentar as fronteiras das aplicaes. Recomenda-se que as fronteiras dos sistemas a serem mantidas
estejam documentadas no edital de contratao, tambm pode ser documentada no roteiro de mtricas
do rgo. importante definir tambm quais sero as fronteiras das novas aplicaes a serem contratadas, que devem estar em conformidade com o Plano Diretor de TI do rgo contratante.
- Documentao dos Requisitos de Projetos de Manuteno
A grande maioria dos projetos de software das organizaes de manuteno de sistemas existentes.
Em geral, comum observarmos documentao de desenvolvimento de novos sistemas. No entanto, a
documentao dos projetos de manuteno, muitas vezes, consiste na atualizao da documentao da
aplicao implantada. Cabe ressaltar que essa prtica no adequada para a contagem de pontos de
funo, porque na contagem de projetos de manuteno necessria a identificao das funcionalidades
impactadas (includas, alteradas ou excludas). Por exemplo, o envio de uma tela como funcionalidade
alterada em um projeto de manuteno, no permite a contagem de PF do projeto, porque esta tela pode
trazer funcionalidades de incluso, alterao, consulta, excluso e combo boxes. Se a mudana for na
lgica de validao de um campo, provavelmente, as funcionalidades impactas so apenas a incluso e a
alterao. Ento, a consulta, a excluso e as combo boxes no devem ser contadas. fundamental a elaborao de um documento de requisitos especfico, mesmo que simplificado, para o projeto de manuteno.
Este documento ser a base para a contagem de pontos de funo do projeto de manuteno. De fato, os
documentos de requisitos da aplicao implantada tambm devero ser atualizados.
- Documentao da Contagem com Rastreabilidade para Requisitos
Em contratos baseados em pontos de funo, as contagens e estimativas de pontos de funo devem
ser auditveis. Assim, alm de um documento de requisitos com qualidade, importante que a contagem
de pontos de funo seja rastrevel para os requisitos utilizados como base para a contagem. Desta forma,
recomenda-se que as planilhas de contagem possuam uma coluna denominada requisito/observaes/
justificativa. Ao lado de cada tipo funcional identificado deve-se documentar qual o requisito de origem
e, caso necessrio, as observaes e justificativas da contagem, por exemplo:
Identificao da Funo
80
Tipo
....
requisito/observaes/justificativa
SE
...
....
....
....
....
REFERNCIAS BIBLIOGRFICAS
[Dekkers, 2003] DEKKERS, C. Measuring the logical or functional Size of Software Projects and Software
Application. Spotlight Software, ISO Bulletin May 2003 pp10-13.
[Hazan, 2005] HAZAN, C.; BERRY, D.M.; LEITE, J.S.P. possvel substituir processos de Engenharia de Requisitos
por Contagem de Pontos de Funo? 8th International Workshop on Requirements Engineering (WER2005), Porto,
Portugal, June 2005, pp. 197-208.
[Hazan, 2008] HAZAN, C. How to Avoid Traps in Contracts for Software Factory Based on Function Point Metric. 3rd
International Software Measurement & Analysis Conference, Washington, United States, 2008.
[IFPUG, 2010] IFPUG. Counting Practices Manual. Version 4.3, January, 2010.
[Jones, 2007]JONES,C. Estimating Software Costs Bringing Realism to Estimating. 2nd Edition, Mc Graw Hill, New
York, 2007. New York.
[Kotonya, 1998] KOTONYA, G.; SOMMERVILLE, I. Requirements Engineering: Processes and Techniques. John Willey
& Sons Ltd, 1998.
81
82
Entre 0 e 33%
0,25
0,5
0,75
b) Funes Transacionais:
Percentual alteraes em funes transacionais (PFT1) = QTDA / QTDT x 100;
Percentual alteraes em funes transacionais (PFT2) = QFTRA / QFTRT x 100;
QTDA = Quantidade de Tipos de Dados Alterados;
QTDT = Quantidade de Tipos de Dados Totais na Funo Original;
QARA = Quantidade de Arquivos Referenciados Alterados;
QART = Quantidade de Arquivos Referenciados Totais na Funo Original.
Entre 0% e 66%
Entre 0% e 33%
0,25
0,5
0,75
0,5
0,75
0,75
1,25
1,25
1,5
83
84
85
G O V E R N O
86
Secretaria de
Logstica e Tecnologia
da Informao
F E D E R A L