Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
HISTRICO DE REVISES Data 20/11/2010 01/03/2011 15/12/2012 Verso 1.00 1.1 2.00 Descrio Criao do Guia de Contagem APF Reviso Atualizao das Informaes Autor Clio Santana Gustavo Santos
Pg. 2 de 66
SUMRIO 1. INTRODUO ............................................................................................................................................. 5 1.1. Definies, Acrnimos e Abreviaes ............................................................................................. 5 2. OBJETIVOS DO DOCUMENTO .................................................................................................................. 6 3. ESTIMATIVAS DE PROJETO DE SOFTWARE .......................................................................................... 6 3.1. DETALHAMENTO DO PROCESSO DE ESTIMATIVA ................................................................. 10 3.2. PAGAMENTO BASEADO NO CICLO DE VIDA DA ENTREGA ................................................... 16 3.3. ESTIMATIVA DE PRAZO .............................................................................................................. 17 3.4. ESTIMATIVA DE CUSTO .............................................................................................................. 19 4. CONTAGEM DE PONTOS DE FUNO PARA PROJETOS DE MANUTENO .................................. 19 4.1. PROJETOS DE MELHORIA ......................................................................................................... 19 4.2. PROJETOS DE MANUTENO CORRETIVA ............................................................................ 23 4.3. MANUTENO COSMTICA ....................................................................................................... 24 4.4. MANUTENO ADAPTATIVA EM REQUISITOS NO FUNCIONAIS ........................................ 25 4.4.1. REDESENVOLVIMENTO DE PROJETOS EM OUTRA PLATAFORMA ............................. 25 4.4.2. ATUALIZAO DE PLATAFORMA...................................................................................... 26 4.4.3. ADEQUAO DE FUNCIONALIDADES S MUDANAS DE NEGCIO .......................... 27 4.4.4. APURAO ESPECIAL ....................................................................................................... 28 4.4.5. MANUTENO EM PGINAS ESTTICAS DE INTRANET, INTERNET OU PORTAL..... 29 4.4.6. MANUTENO DE DOCUMENTAO DE SISTEMAS LEGADOS .................................. 30 4.4.7. VERIFICAO DE ERROS .................................................................................................. 30 4.4.8. FATOR DE CRITICIDADE DE SOLICITAO DE SERVIO ............................................. 31 4.4.9. PONTOS DE FUNO DE TESTE ...................................................................................... 31 5. ITENS NO MENSURVEIS ..................................................................................................................... 32 6. ASPECTOS NO CONSIDERADOS PELO IFPUG CONSIDERADOS PELA ATI ................................... 34 6.1. MLTIPLAS MDIAS ..................................................................................................................... 34 6.1.1. MLTIPLAS MDIAS ............................................................................................................. 35 6.1.2. MESMOS DADOS DE SADA COMO DADOS EM ARQUIVOS E RELATRIOS IMPRESSO 36 6.1.3. MESMOS DADOS DE ENTRADA BATCH E ON-LINE........................................................ 36 6.1.4. MLTIPLOS CANAIS DE ENTREGA DA MESMA FUNCIONALIDADE ............................. 36 6.1.5. RELATRIOS EM MLTIPLOS FORMATOS ..................................................................... 37 6.2. DATA WAREHOUSE..................................................................................................................... 37 6.3. BUSSINES INTELIGENCE (BI) ....................................................... Error! Bookmark not defined. 6.4. AUTOMAO DE PROCESSOS DE NEGCIO (BPM) .............................................................. 47 6.5. PORTAIS ......................................................................................... Error! Bookmark not defined.
Pg. 3 de 66
6.6. SERVIOS SOA (SERVICES ORIENTED ARCHITECTURE) ....... Error! Bookmark not defined. 7. LIES APRENDIDAS .............................................................................................................................. 52 7.1. CONTRATOS .................................................................................. Error! Bookmark not defined. 7.2. REQUISITOS ................................................................................................................................. 52 7.2.1. GRANULARIDADE X QUANTIDADE DE REQUISITOS...................................................... 52 7.2.2. ATENO A REQUISITOS NO FUNCIONAIS .................................................................. 53 7.2.3. ATENO A RELATRIOS ................................................................................................. 54 8. CONSIDERAES SOBRE A CONTAGEM DE PONTOS DE FUNO ................................................ 55 8.1. CONSIDERAO SOBRE MUDANAS DE REQUISITOS ......................................................... 56 8.2. CONSIDERAO SOBRE PROJETOS CANCELADOS ............................................................. 57 8.3. CONSIDERAES SOBRE REDUO DE CRONOGRAMA..................................................... 57 8.4. CONSIDERAES SOBRE CICLO DE VIDA ITERATIVO INCREMENTAL ............................... 63 8.5. COMO UMA EMPRESA PBLICA PODE SE FILIAR AO IFPUG. ............................................... 63 8.6. CERTIFICAO CFPS ................................................................................................................. 64 9. PROCESSO DE REVISO DO GUIA DE CONTAGEM ............................................................................ 65 9.1. REVISO PARA CORREO DE INCONSISTNCIAS E SITUAES NO PREVISTAS ...... 65 9.2. REVISO PARA ADOO DE NOVAS VERSES DO CPM...................................................... 65 10. CONCLUSO ........................................................................................................................................... 65 REFERNCIAS BIBLIOGRAFIAS ................................................................................................................. 65
Pg. 4 de 66
1. INTRODUO
A Agncia Estadual de Tecnologia da Informao do Estado de Pernambuco (ATI-PE) seguindo o caminho de muitas empresas governamentais brasileiras tm iniciado a utilizao da mtrica de Pontos de Funo (PF) nas estimativas e dimensionamento de tamanho funcional de projetos de software, devido aos diversos benefcios de utilizao da mtrica tais como a independncia da soluo tecnolgica utilizada) e s recomendaes dos rgos de controle do governo federal brasileiro. O Manual de Prticas de Contagem de Pontos de Funo ou (CPM) que hoje se apresenta na verso 4.3 publicado pela International Function Point User Group (IFPUG) publicado em 201 define as regras de contagem de Pontos de Funo. No entanto, a contagem de Pontos de Funo baseada no projeto lgico da aplicao e nas fases iniciais do ciclo de vida do software que considera o documento de requisitos para a estimativa e elaborao do plano do projeto um documento inicial de requisitos, por exemplo: Documento de Viso, Formalizao Simples de Requisitos ou algum outro tipo de especificao elaborada pelo analista de negcios. Assim, torna-se importante o estabelecimento de mtodos para estimar o tamanho funcional dos projetos de software nas fases iniciais do ciclo de vida. Outro ponto a ser destacado a importncia da definio de mtodos para gerao de estimativas de prazo, esforo, custo e recursos computacionais dos projetos de software da empresa, visando melhorar o gerenciamento dos projetos. Alm disso, importante ressaltar que a mtrica de Pontos de Funo foi concebida como uma medida de tamanho funcional para projetos de desenvolvimento e de manuteno evolutiva de software. No entanto, os projetos de software no esto limitados a projetos de desenvolvimento e projetos de manuteno evolutiva ou Melhoria ( enhancement), admitindo normalmente manutenes corretivas e perfectivas. . Assim, torna-se essencial a definio de mtodos para dimensionar o tamanho de projetos de manuteno (maintenance) baseados em Pontos de Funo para que estes projetos possam ser avaliados e gerenciados com base em uma mtrica. Observe que a INSTRUO NORMATIVA N 4 DE 12 DE NOVEMBRO DE 2010, publicada pela SLTI/ MPOG, preconiza a utilizao de mtricas em contratos de software. Os Acrdos do Tribunal de Contas da Unio (TCU) recomendam a utilizao da mtrica Pontos de Funo No Ajustados. A verso 4.3 do CPM tambm reconhece o PF No Ajustado como mtodo padro do IFPUG.
1.1. Definies, Acrnimos e Abreviaes APF: Anlise de Pontos de Funo; CMMI-Acq: Capability Maturity Model Integration for Aquisition CPM: Manual de Prticas de Contagens do IFPUG; MPS.BR: Melhoria de Processo do Software Brasileiro IFPUG: International Function Points Group User (www.ifpug.org); Pg. 5 de 66
2. OBJETIVOS DO DOCUMENTO
Este documento tem como propsito apresentar um roteiro contagem de Pontos de Funo aderente ao Manual de Prticas de Contagem (CPM 4.3) e definir os tipos de projetos de manuteno e uma sistemtica para dimensionar o tamanho de tais projetos, utilizando a mtrica Pontos de Funo. Alm da contagem de Pontos de Funo, este roteiro apresenta um processo de estimativas com base na mtrica Pontos de Funo, proposto por Cludia Hazan (2008). Alm disto, estaro contidas neste manual um conjunto de prticas de contagens que so institucionalizadas pela ATI. Outra seo deste mesmo manual ser destinado a documentar as lies aprendidas da ATI durante o contnuo aprendizado da utilizao da tcnica. Alem destas sees introdutrias, este documento encontra-se organizado da seguinte maneira: A Seo 3 define o processo de estimativas de projetos de software integrado ao processo de acompanhamento de contratos de fornecedores da ATI, indicando o momento de realizao das estimativas e as anlises a serem realizadas; A Seo 4 apresenta diretrizes para a estimativa e a contagem de Pontos de Funo de todos os tipos de projetos de manuteno de software; A Seo 5 descreve as atividades associadas ao processo de contratao cujos itens no so mensurveis pela IFPUG em Pontos de Funo; A Seo 6 apresenta algumas consideraes importantes sobre utilizao de mtricas para dimensionar as mudanas de requisitos, reduo de cronograma e atividades de negcio; A Seo 7 apresenta as lies aprendidas pela ATI na utilizao de pontos por funo, estas lies podem ser dirigidas as prticas de contagens ou at mesmo a forma de escrever os requisitos; A Seo 8 apresenta o processo de reviso deste guia de contagem; Finalmente, a Seo 9 conclui o documento apresentando sugestes para trabalhos futuros.
Pg. 6 de 66
A Figura 1 ilustra um processo de Estimativas de Projetos de Software aderente rea de processo de Planejamento do Projeto de Aquisio do nvel 2 do CMMI-ACq. Este processo baseado no modelo da Cludia Hazan (2008) e ser descrito em linhas gerais nos pargrafos seguintes.
Legenda
Identificar a necessidade de contagem para contrato em APF Identificar usurios, reunir documentao e levantar requisitos iniciais da soluo. Determinar escopo da contagem, fronteiras e identificar requisitos funcionais do usurio
Etapas Etapas antes antes do do inicio inicio da da Sprint. Sprint. Etapas Etapas Durante Durante a a Sprint Sprint Etapas Etapas Aps Aps Recebimento Recebimento da da Sprint Sprint Etapas Etapas durante durante a a transao transao entre entre Sprints Sprints
Este processo est inserido no contexto do processo Scrum da ATI. As trs primeiras etapas acontecem no momento de planejar a contratao. Neste momento em que se verificadas solues existentes no mercado, busca por propostas e levantamento das principais caractersticas da soluo, o momento de se dimensionar uma contagem estimativa (o processo de contagem estimativa ser detalhado mais a frente). As etapas na Sprint (vermelho) tem como principal insumo (artefato de entrada) um documento de requisitos. Como as estimativas devem ser realizadas no incio do processo de desenvolvimento de software, ou mesmo da Sprint ento, o artefato utilizado um documento inicial de requisitos, por exemplo: Documento de Viso ou Formalizao Simples de Requisitos utilizados no Mantis da prpria ATI. O estimador deve analisar os requisitos para garantir a qualidade bem como agrupar as demandas no mesmo requisito para evitar a contagens mltiplas do mesmo requisito para s assim estimar o tamanho
Pg. 7 de 66
do projeto de software. Embora nas etapas iniciais possa existir a contagem estimada do sistema, a mesma s serve para dimensionamento do contrato e no para acompanhamento de projeto. Assim, o prximo passo a derivao das estimativas de prazo (cronograma) e (oramento) da demanda com base na estimativa de tamanho e nos dados histricos de projetos concludos da organizao. Neste ponto, as principais estimativas foram geradas e precisam ser documentadas. As premissas e suposies utilizadas na gerao das estimativas, dentre outras: complexidade do projeto, plataforma de desenvolvimento, tipo do projeto, percentual de evoluo de requisitos, tambm devem ser documentados. 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 ocorrerem mudanas significativas nos requisitos funcionais ou no funcionais. Quando o projeto ou Sprint concluda, deve-se novamente aferir e documentar o tamanho, prazo e custo 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 e incorporadas a este guia bem como a base histrica. A alimentao contnua desta base histrica (ltima atividade) que ir garantir a ATI uma melhoria das estimativas ao longo do projeto. Desta forma para os contratos de projetos de software, baseados na mtrica Pontos de Funo, as estimativas devem ser realizadas em 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, por exemplo Documento de Viso. Constitui uma boa prtica a previso de evoluo de requisitos, especialmente em projetos de desenvolvimento de mdio ou grande porte. Seu objetivo quantificar uma ordem de grandeza para o total de pontos por funo que sero empregados para construir determinada soluo. 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. Em um cenrio ideal os resultados da estimativa atendem as metas de negcio. Quando este cenrio no real, fundamental a reduo de escopo do projeto, de modo que a meta se adapte aos Guia de Contagem APF ATI www.ati.pe.gov.br Pg. 8 de 66
resultados da estimativa. Neste momento sero, dependendo do detalhe da documentao sero permitidos 4 nveis de detalhamento de contagem dos seis apresentados pela totalmetrics (2004). O Nvel menos detalhado conhecido por se basear apenas na base histrica. Considere a Figura 2 como um exemplo hipottico de base histrica.
O Nvel 6 de contagem dado pela estimativa mais estvel desta base histrica . Suponha que o elemento que menos varia nas contagens histricas da ATI seja a pontuao dos ALIs em relao ao projeto todo. Considerando o projeto acima, os ALIs representam cerca de 27% da pontuao total do projeto. Ento neste caso apenas desejado se calcular a pontuao de todos os ALIS e aplicar a regra de trs. Vale ressaltar que importante escolher a estrutura que menos varia no processo, suponha que para o caso anterior as sadas externas que representam em mdia 12% do total de pontuao dos projetos da ATI, varie entre 0% e 40% ento no um elemento confivel para a escolha da regra de trs. O quinto nvel, conhecido como contagem indicativa, onde necessrio apenas identificar os ALIs e AIEs da aplicao. No necessrio identificar as funes de transao. Mesmo as funes de dados no ser necessrio o seu detalhamento. Identificadas as funes de dados utilizada a frmula a seguir:
Estes nmeros de 35 e 15 podem ser calibrados para melhor representar as necessidades da organizao e deve ser guiado pela base histrica da organizao. O quarto nvel conhecido como contagem estimativa da NESMA. Nesta contagem necessrio identificar todas as funes de dados e todas as funes de transao. Para realizar a contagem necessrio considerar todas as funes de dados simples e todas as funes transacionais mdias. Vale ressaltar que estas contagens no devem ser utilizadas em conjunto com o fornecedor, estas contagens so apenas para dimensionar um valor de pontos de funo que um contrato pode precisar. O segundo marco de contagem a contagem intermediria que deve ser realizada antes da execuo de cada demanda. Neste marco j deve existir documentao dos requisitos suficientes para a realizao de uma contagem detalhada que o 3 Nvel de detalhamento proposto pela totalmetrics (2004) e que coincide com a contagem IFPUG considerando as faixas de contagem. Neste momento tambm pode ser realizada a contagem interligada e anotada (1 Nvel) que tem toda rastreabilidade da contagem bem como o detalhamento dos itens de dados. O terceiro marco de contagem a contagem final que deve ser realizada ao final da execuo. Este marco deve ser utilizado para emisso de fatura e pagamento ao fornecedor. Para tal deve-se utilizar os nveis de detalhamento de contagem do 3 at o 1. Para fins de faturamento, que realizado durante o desenvolvimento, deve-se considerar a Contagem de Referncia e posteriormente considerar os ajustes no faturamento aps a Contagem Final. importante ressaltar que as mudanas de requisitos tambm sero consideradas no tamanho projeto a ser faturado.. Alm disso, se estas mudanas forem significativas, maiores que a evoluo de requisitos prevista na estimativa inicial, o prazo do projeto deve ser reestimado. Toda mudana de requisito deve passar por uma anlise de impacto da ATI e ser aprovada pelo cliente.
Pg. 10 de 66
O estimador deve realizar uma leitura no documento inicial de requisitos, buscando informaes relevantes para a identificao de processos elementares. O processo elementar definido como a menor unidade de atividade significativa para o usurio. O processo elementar deve ser completo em si mesmo, independente e deixar a aplicao em um estado consistente [IFPUG, 2010]. Em outras palavras, os processos elementares so funes transacionais independentes, isto , funes seqenciais pertencem a um mesmo processo elementar e funes independentes constituem processos elementares diferentes. Uma vez identificado o processo elementar, o estimador deve buscar o entendimento deste para classific-lo em Entrada Externa (EE), Consulta Externa (CE) ou Sada Externa (SE). Adicionalmente, o estimador deve descobrir os dados associados ao processo elementar, visando a determinao da complexidade funcional da funo identificada. . Na anlise do processo elementar tambm so identificados, os grupos de dados lgicos da aplicao, que so classificados como Arquivos Lgicos Internos (ALI) ou Arquivos de Interface Externa (AIE). A determinao do nvel de detalhamento da contagem depende da documentao obtida. Caso seja possvel identificar todas as funes de AIE e ALI o ideal utilizar o 5 Nvel de detalhamento (AIE * 35 + AIE * 15). Quando existe detalhamento suficiente sobre alguma das informaes como ALI, AIE, mais
Pg. 11 de 66
difcil encontrar EE, SE e CE nestas condies pois elas dependem do ALI e AIE, usa-se o 6 nvel de detalhamento. Caso no seja possvel a identificao da complexidade das funcionalidades melhor usar o mtodo da Nesma, ou 4 nvel de detalhe 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 Simples. 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 categorias: 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 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 nxn 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 ALIs dos sistemas so de complexidade Simples. A pontuao destes elementos segundo o IFPUG est descrita na Tabela 1 Tabela 1: Pontuao dos Arquivos Lgicos Internos [IFPUG 2010]
Pg. 12 de 66
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. Freqentemente, a referncia 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 AIEs. No so considerados arquivos fsicos, arquivos de ndice, arquivos de trabalho, tabelas de relacionamento sem atributos prprios e entidades fracas. Geralmente, os AIEs dos sistemas possuem a classificao de complexidade Simples. Porque, so considerados para a determinao da complexidade funcional do AIE apenas os atributos referenciados pela aplicao que est sendo contada. A pontuao destes elementos segundo o IFPUG est descrita na Tabela 2 Tabela 2: Pontuao dos Arquivos de Interface Externa [IFPUG 2010]
Entradas Externas (EE): Funcionalidades que mantm os Arquivos Lgicos Internos (ALIs) 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 ou alterao ou excluso 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 Entrada Externa identificada com complexidade Mdia. A pontuao destes elementos segundo o IFPUG est descrita na Tabela 3
Tabela 3: Pontuao das Entradas Externas [IFPUG 2010] Guia de Contagem APF ATI www.ati.pe.gov.br Pg. 13 de 66
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: Uma funcionalidade desenvolvida para apresentar informaes para o usurio: uma consulta, relatrio, browse, listbox, download, gerao de um arquivo, gerao de arquivo psd, xls? Esta funo no possui clculos ou algoritmos para derivao dos dados referenciados nem altera um Arquivo Lgico Interno, 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. A pontuao destes elementos segundo o IFPUG est descrita na Tabela 4 Tabela 4: Pontuao das Consultas Externas [IFPUG 2010]
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: Uma funcionalidade desenvolvida 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
Pg. 14 de 66
clculos ou algoritmos para processar os dados referenciados nos arquivos lgicos ou atualizar campos (normalmente indicadores) nos arquivos ou mudar o comportamento da aplicao. Caso no haja conhecimento da aplicao de APF ou sobre o processo elementar (funcionalidade analisada), considere as Sadas Externas com complexidade Mdia. A pontuao destes elementos segundo o IFPUG est descrita na Tabela 5 Tabela 5: Pontuao das Consultas Externas [IFPUG 2010]
A Estimativa de tamanho do projeto em PFs deve ser gerada totalizando-se os PFs obtidos nas Tabelas 1, 2, 3, 4, e 5. A frmula de contagem ou de estimativa de Pontos de Funo para Projetos de Desenvolvimento a seguinte:
Pg. 15 de 66
AFP = ADD
Onde: AFP Tamanho da Aplicao ADD Tamanho das Funes Quadro 2: Totalizao da Pontuao para Aplicaes Prontas [IFPUG 2010] Entregues A frmula de contagem ou de estimativa de Pontos de Funo para Projetos de Melhoria a
seguinte:
Pg. 16 de 66
Td = V t
Td: prazo de desenvolvimento V: tamanho do projeto em Pontos de Funo t: o expoente t definido de acordo com a Tabela 7
Pg. 17 de 66
Tipo de Sistema
Sistema Comum Mainframe (desenvolvimento de sistema com alto grau de reuso ou manuteno evolutiva) Sistema Comum Web ou Cliente Servidor Sistema OO (se o projeto OO no for novidade para equipe, no tiver o desenvolvimento de componentes reusveis, considerar sistema comum) Sistema Cliente/Servidor (com alta complexidade arquitetural e integrao com outros sistemas) Sistemas Gerenciais complexos com muitas integraes, Datawarehousing, Geoprocessamento, Workflow Software Bsico, Frameworks, Sistemas Comerciais
Expoente t
0,32 a 0,33 0,34 a 0,35 0,36
importante destacar que o mtodo s funciona para projetos com mais de 100 PFs. Caso o projeto seja menor, o prazo deve ser obtido por meio de WBS. 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 tudo 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, ento 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, de um modo geral, a reduo de prazo de 10 % implica no aumento de esforo de 25%; a reduo de prazo de Guia de Contagem APF ATI www.ati.pe.gov.br Pg. 18 de 66
20% implica no aumento de esforo de 50% ; a reduo de prazo de 25% implica em um aumento de esforo de 60%. 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.
Pg. 19 de 66
funcionando adequadamente em um ambiente com 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 documento separa o projeto de melhoria, quando as mudanas so associadas aos requisitos funcionais e a 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. Uma funo de dados (Arquivo Lgico Interno ou Arquivo de Interface Externa) considerada alterada, quando a alterao contemplar mudanas de item de dados, incluso ou excluso de item de dados. Ou mudana de tamanho (nmero de posies) ou tipo de campo (por exemplo: mudana de numrico ou alfanumrico), sendo que esta ocorre por mudana de regra de negcio do usurio. Uma funo transacional (Entrada Externa, Consulta Externa e Sada Externa) considerada alterada, quando a alterao contemplar: Mudana de itens de dados em uma funo existente; Mudana de arquivos referenciados; Mudana de lgica de processamento, segundo as aes das lgicas e processamento do CPM 4.3
A Lgica de Processamento definida como requisitos especificamente solicitados pelo usurio para completar um processo elementar. Esses requisitos devem incluir as seguintes aes: Validaes so executadas Frmulas matemticas e clculos so executados Valores equivalentes so convertidos Dados so filtrados e selecionados atravs da utilizao de critrios Condies so analisadas para verificar quais so aplicveis Um ou mais ALIs so atualizados Um ou mais ALIs e AIEs so referenciados Dados ou informaes de controle so recuperados Dados derivados so criados atravs da transformao de dados existentes, para criar dados adicionais O comportamento do sistema alterado Preparar e apresentar informaes para fora da fronteira Receber dados ou informaes de controle que entram pela fronteira da aplicao Dados so reordenados
Pg. 20 de 66
A contagem ou estimativa de Pontos de Funo de projetos de manuteno evolutiva (projetos de melhoria) seguir conforme preconizada pela publicao "Function Point Analysis for Software Enhancement Guidelines" da Nesma Netherlands Software Metrics Users Association [NESMA, 2009], entidade que aprofunda o tema e apresenta alternativas tcnicas proposta original do IFPUG. Contudo recomendado que para contrataes sejam apenas definidas o padres do IFPUG e que caso sejam necessrias a adoo da NESMA (2009) como boas prticas de projetos de melhoria, que ela seja escrita no edital e no citada como NESMA para que no haja confuso do fornecedor sobre quando usarNESMA ou quando usar o IFPUG. Pela NESMA temos: TAMANHO EM PF = (PF INCLUIDO + PF EXCLUIDO + PF ALTERADO + PF CONVERSO)
Definies: PF_INCLUDO = Pontos de Funo associados s novas funcionalidades que faro parte da aplicao. PF_ALTERADO = Pontos de Funo associados s funcionalidades existentes na aplicao que sero alteradas no projeto de manuteno, incluso o fator de impacto conforme preconizada pela [NESMA, 2009]. PF_EXCLUDO = Pontos de Funo associados s funcionalidades existentes na aplicao que sero excludas no projeto de manuteno, incluso o fator de impacto conforme preconizada pela [NESMA, 2009]. PF_CONVERSO = Pontos de Funo associados s funcionalidades de converso de dados dos projetos de melhoria. Exemplos de funes de converso incluem: migrao ou carga inicial de dados para popular as novas tabelas criadas e relatrios associados migrao de dados. Importante ressaltar que a contagem dos PF_Converso so efetuadas de forma separada da contagem dos PF_No_Ajustados, por serem de produtividades diferentes, ou seja, ao contar os PF_Converso utilizar produtividade prpria, quando for o caso. Na maioria casos, as operaes de alterao e incluso possuem um tratamento diferenciado em relao incluso, alguns pesos podem ser atribudos a tais tarefas como forma de compensar o esforo e custo associado a tais tarefas. Esta prtica comum no mercado e conhecida como Deflator. A sugesto da NESMA para tal aplicao e a que ser seguida pela ATI : PF_INCLUIDO = QPI; PF_EXCLUIDO = QPE x 0.40;
Pg. 21 de 66
PF_FD_ALTERADO = FD-QPA x FFD, sendo FFD entre 0,25 e 1,00, conforme Tabela 7 (para funes de dados); PF_FT_ALTERADO = FT-QPA x FFT, sendo FFT entre 0,25 e 1,50, conforme Tabela 8 (para funes transacionais); PF_ALTERADO = PF_FD_ALTERADO + PF_FT_ALTERADO. Onde: QPI = Quantidade de Pontos de Funo includos; QPE = Quantidade de Pontos de Funo excludos; PF_FD_ALTERADO = Pontos de Funo alterados para Funes de Dados; PF_FT_ALTERADO = Pontos de Funo alterados para Funes Transacionais; FD-QPA = Quantidade de Pontos de Funo alterados em funes de dados; FT-QPA = Quantidade de Pontos de Funo alterados em funes transacionais; FFD = Fator de impacto de alteraes em funes de dados; FFT = Fator de impacto de alteraes em funes transacionais O clculo dos fatores de impacto obtido atravs dos percentuais de alteraes conforme abaixo: Funes de Dados: Percentual de alteraes em funes de dados (PFD) = QTDEA / (QTDET x 100) QTDEA = Quantidade de Tipos de Dados Elementares Alterados QTDET = Quantidade de Tipos de Dados Elementares Totais Com o valor obtido em PFD, procura-se na tabela qual o valor do fator de impacto: Tabela 7: Calculo do PFD para funo de Dados [NESMA 2009]
Fator de Impacto em Funes de Dados Alteradas (FFD) Entre 33% e Entre 66% e Entre 0 e 33% 66% 100% 0,25 0,5 0,75
Funes Transacionais:
Pg. 22 de 66
Percentual de alteraes em funes transacionais (PFT1) = QTDEA / QTDET x 100 Percentual de alteraes em funes transacionais (PFT2) = QFDLA / QFDLT x 100 QTDEA = Quantidade de Tipos de Dados Elementares Alterados QTDET = Quantidade de Tipos de Dados Elementares Totais QFDLA = Quantidade de Funes de Dados Lgicos Alterados QFDLT = Quantidade de Funes de Dados Lgicos Totais
Fator de Impacto em Funes Transacionais Alteradas (FFT) PFT2 / PFT1 Entre 0 e 66% Entre 66% e Maior que 100% 100% Entre 0% e 33% 0,25 0,5 0,75 Entre 33% e 66% 0,5 0,75 1 Entre 66% e 100% 0,75 1 1,25 Maior que 100% 1 1,25 1,5
Pg. 23 de 66
disponvel e os artefatos a serem mantidos sendo aplicados alguns deflatores. Seguem as frmulas a serem consideradas:
a) Aplicao sem documentao ou com documentao desatualizada ou documentao incompleta e sem redocumentao de requisitos
Nestes casos, a aferio do tamanho em Pontos de Funo da funcionalidade ou das funcionalidades corrigidas considera 70% do PF_Alterado, observando os conceitos do CPM 4.3, apresentados na seo 4.1.
PF = PF_ALTERADO x 0,70 b) Aplicao sem documentao ou com documentao desatualizada ou incompleta ou completa e com redocumentao de requisitos
Nestes casos, a aferio do tamanho em Pontos de Funo da funcionalidade ou das funcionalidades corrigidas considera 80% do PF_Alterado, seguindo os conceitos do CPM 4.3, apresentados na seo 4.1. Deve-se destacar que alm da correo as funcionalidades em questo e da documentao do projeto de manuteno corretiva realizado, a documentao das funcionalidades deve ser atualizada pela contratada.
PF = PF_ALTERADO x 0,60
Em todos os trs itens acima, os percentuais de multiplicao so estimados, podendo ser reajustados conforme avaliao da base histrica dos servios realizados no rgo.
Pg. 24 de 66
Nestes casos, a aferio do tamanho em Pontos de Funo da funcionalidade ou das funcionalidades corrigidas considera 10% do PF_Alterado, seguindo os conceitos do CPM 4.3. No ser contemplada a redocumentao das funcionalidades da aplicao impactadas pela manuteno nas demandas desta categoria.
PF = PF_ALTERADO x 0,10
Pg. 25 de 66
Nesse caso ser considerada a produtividade correspondente a tecnologia envolvida. Ou seja, se para o sistema desenvolvido em Java a produtividade de 10 horas por pontos de funo e sero necessrias 50 horas para realizar tal equalizao nesse caso ser aplicada a seguinte frmula. PF:
quantitativo de horas / Produtividade da tecnologia, ou seja, caso um atividade de equalizao necessite de 50 horas a conta realizada ser 50 / 10 = 5 PF.
Pg. 26 de 66
Nesse caso ser considerada a produtividade correspondente a tecnologia envolvida. Ou seja, se para o sistema desenvolvido em Java a produtividade de 10 horas por pontos de funo e sero necessrias 50 horas para realizar tal equalizao nesse caso ser aplicada a seguinte frmula. PF:
quantitativo de horas / Produtividade da tecnologia, ou seja, caso um atividade de equalizao necessite de 50 horas a conta realizada ser 50 / 10 = 5 PF.
e) Ajustes de Infra Estrutura necessrios para aplicaes mais complexas (webservices, certificao digital, ecm.)
Nesse caso ser considerada a produtividade correspondente a tecnologia envolvida. Ou seja, se para o sistema desenvolvido em Java a produtividade de 10 horas por pontos de funo e sero necessrias 50 horas para realizar tal equalizao nesse caso ser aplicada a seguinte frmula. PF:
quantitativo de horas / Produtividade da tecnologia, ou seja, caso um atividade de equalizao necessite de 50 horas a conta realizada ser 50 / 10 = 5 PF.
PF = PF_ALTERADO x 0,80
Guia de Contagem APF ATI www.ati.pe.gov.br Pg. 27 de 66
PF = PF_ALTERADO x 0,70
Nos dois itens acima, os percentuais de multiplicao so estimados, podendo ser reajustados conforme avaliao da base histrica dos servios realizados no rgo. Para outros tipos de projetos de manuteno adaptativa no definidos neste documento, considerar um percentual do PF_Alterado, variando de 30% a 80%, de acordo com as caractersticas do requisito no funcional alterado. Verses futuras deste Manual devem contemplar os novos tipos no definidos neste documento.
4.3.4.1
Uma apurao especial um projeto que inclui a gerao de procedimentos para atualizao da base de dados. Deve-se destacar que estas funes so executadas apenas uma vez, no fazendo parte da aplicao, visando a correo de dados incorretos na base de dados da aplicao ou atualizao em funo de modificao da estrutura de dados, por exemplo incluso do indicador de matriz sim ou no para um CNPJ. Nestes casos, a contagem de Pontos de Funo das funcionalidades desenvolvidas. Geralmente, estas funcionalidades so classificadas como Entradas Externas.
PF = PF_NO_AJUSTADO
Pg. 28 de 66
Deve-se ressaltar que as funes de converso de dados (carga inicial de dados que ocorre na implantao de projetos de desenvolvimento ou de melhoria) no so apuraes especiais. Estas funes fazem parte do projeto de desenvolvimento ou de melhoria em questo, portanto devem ser contadas junto com estes projetos e no como apurao especial. Assim, nestes casos, considera-se as frmulas de contagem de Pontos de Funo dos projetos em questo. Em alguns casos de Apurao Especial Atualizao de dados, o usurio solicita uma consulta prvia das informaes atualizadas para validao. De fato, uma prtica interessante para evitar informaes errneas na base de produo dos sistemas. Esta Consulta Prvia, classificada como Consulta Externa ou Sada Externa deve ser dimensionada, considerando-se 60% do tamanho da funcionalidade em questo, conforme a frmula abaixo:
PF = PF_NO_AJUSTADO x 0,60
4.3.4.2
Uma apurao especial um projeto que inclui a gerao de relatrios em uma ou mais mdias para o usurio. Em alguns casos, so solicitadas extraes de dados e envio dos dados para outros sistemas. Caso neste envio de dados sejam requisitadas atualizaes no sistema de origem, ento estas funes so Sadas Externas, devido atualizao do Arquivo Lgico Interno. Deve-se destacar que estas funes so executadas apenas uma vez, no fazendo parte da aplicao. Nestes casos, considera-se contagem de Pontos de Funo das funcionalidades desenvolvidas. Freqentemente, estas funcionalidades so classificadas como Sadas Externas. Tambm podem ser classificadas como Consultas Externas, caso no possuam clculos ou criao de dados derivados.
PF = PF_NO_AJUSTADO
PF = PF_NO_AJUSTADO x 0,50
QTD_SIMPLES: Quantidade de Pginas com complexidade Simples PF_SIMPLES: QTD_SIMPLES X 0,5 QTD_INTERMEDIARIA: Quantidade de Pginas com complexidade Intermediria PF_ INTERMEDIARIA: QTD_ INTERMEDIARIA X 0,8 Guia de Contagem APF ATI www.ati.pe.gov.br Pg. 29 de 66
QTD_COMPLEXAS: Quantidade de Pginas com complexidade Complexa PF_ COMPLEXAS: QTD_ COMPLEXAS X 1,2 PF_TOTAL = PF_SIMPLES + PF_INTERMEDIARIA + PF_ COMPLEXAS * Deve ser definido de forma clara como classificar cada pgina em uma das categorias. Exemplo: O Portal XXX ser desenvolvido e foi verificado que o mesmo composto de: 50 pginas simples 20 pginas intermedirias 10 pginas complexas PF_SIMPLES = 50 * 0,5 = 25 PF_INTERMEDIARIA = 20 * 0,8 = 16 PF_COMPLEXA = 10 * 1,2 = 12 PF_TOTAL = 25 + 16 + 12 = 53
PF = PF_NO_AJUSTADO x 0,20
Caso a demanda seja a gerao de artefatos de documentao de todas as fases do processo de desenvolvimento, deve-se considerar um percentual mais alto de 30% a 50%, dependendo dos artefatos a serem gerados. As premissas utilizadas devem ser conforme clusulas contratuais e documentadas no documento de estimativas do projeto.
PF = PF_NO_AJUSTADO x 0,25
Pg. 30 de 66
A contagem de PFT deve considerar o seguinte [NESMA, 2009]: Determinar o tamanho em Pontos de Funo de cada funo de dados ou transacional envolvida no teste. Calcular o tamanho em Pontos de Funo de todas as funes de dados ou transacionais envolvidas no teste.
A converso do PFT em Ponto de Funo deve ser feita de acordo com a frmula abaixo: PF = PFT x 0,20 importante ressaltar que as funes testadas consideradas no PFT devem estar documentadas. Observe que estas funes faro parte do escopo do projeto de manuteno. Nos itens da seo 4 acima, os percentuais so estimados, podendo ser reajustados conforme avaliao da base histrica dos servios realizados no rgo. Em casos onde no h percentuais, pode-se aplicar algum percentual, tambm conforme avaliao da base histrica dos servios realizados no rgo.
Pg. 31 de 66
5. ITENS NO MENSURVEIS
Deve-se ressaltar que o processo de desenvolvimento de solues possui vrias atividades que devem ser consideradas como um projeto separado, levando-se em conta as horas realizadas, dentre outras: Treinamentos em Tecnologia, Metodologias, Mtricas, etc . encontram-se nesta categoria as demandas de treinamentos em linguagens de programao, ferramentas de gesto, processos, modelos da qualidade, mtricas, etc. Estes servios so executados por consultores de terceiros, especialistas no assunto em questo. Assim, devem ser consideradas as horas de consultoria para preparao e execuo do curso e o custo do deslocamento do instrutor, se for o caso. Mapeamento de Processos de Negcio : Encontramse nesta categoria as demandas de elaborao e levantamento de documentao contendo o mapeamento de processos de negcio de uma organizao ou de parte de uma organizao. Estes servios so executados por consultores da ATI ou terceiros, especialistas em BPM (Business Process Modeling). Elaborao de Plano Diretor de Tecnologia da Informao (PDTI): encontram-se nesta categoria demandas para elaborao de PDTIs para clientes. Estes servios so executados por consultores do ATI ou terceiros com o apoio dos funcionrios da ATI especialistas nas atividades associadas elaborao de um PDTI. Definio de Processo de Desenvolvimento de Solues : Encontram-se nesta categoria demandas para definio de Processos de Software aderentes s necessidades da ATI e observando as boas prticas de modelos como CMMI, Scrum ou normas como a IN 04. Estes servios so executados por consultores da ATI ou terceiros, especialistas nas atividades de processos de software e na customizao de ferramentas para facilitao do processo. Outros servios prestados que tambm no possuem Pontos de Funo associados so os seguintes: Administrao de Dados: Este servio requer uma equipe de ADs com um nmero de profissionais defino junto ao Cliente/Fornecedor, dedicada para atender as demandas associadas definio e manuteno do modelo de dados de negcio. Esta equipe fica disponvel em horrio comercial para atendimento das demandas. Assim, estes servios no possuem contagem de PF associada. importante ressaltar que as atividades de banco de dados associadas ao projeto de desenvolvimento ou de manuteno, por exemplo, preparao de ambiente (testes, homologao, implantao), desempenhadas pelos DBAs da equipe de desenvolvimento, j esto consideradas dentro do projeto de software, no cabendo cobrana adicional.
Pg. 32 de 66
Anlise de Soluo: Servio de apoio destinado anlise de regras de negcio implementadas em solues de TI. Estas demandas no possuem contagem de PF associada. Consultoria: Servio de apoio destinado anlise de regras de negcio a serem implementadas em solues de TI realizado por consultores especialistas da ATI. As demais modalidades de consultoria tambm podem ser enquadradas neste item, por exemplo, Consultoria em Mtricas. Estas demandas no possuem contagem de PF associada. Outras atividades contidas em um processo de software devem ser gerenciadas dentro do projeto de desenvolvimento ou de manuteno, no entanto o esforo deve ser considerado separadamente da estimativa de esforo derivado da contagem de Pontos de Funo. Estas atividades tambm devem ser precificadas a parte. So elas: Treinamento para Implantao: So demandas de treinamentos sobre utilizao do sistema a ser implantado para os gestores de soluo do cliente e usurios. O esforo deste servio deve ser considerado separadamente da estimativa de esforo derivada da contagem de PF. O preo deste servio deve ser calculado, levando-se em conta o preo da hora dos consultores de terceiros que estaro realizando atividades de preparao de treinamento ede instrutoria. Em alguns casos, pode ocorrer tambm o deslocamento do instrutor, que tambm deve ser cobrado do cliente. Especificao de Negcio: Esta atividade a primeira atividade a ser executada em uma demanda de projeto de desenvolvimento e/ou de manuteno. O objetivo desta atividade gerar a Especificao da demanda. O principal produto gerado nesta atividade o artefato: Documento de Viso do Projeto (DV), que deve ser validado pelo cliente, por meio da assinatura do termo de aceite. Alm do DV podem ser gerados outros documentos, tais como: atas de reunio, documento de requisitos no funcionais e glossrio da especificao de negcio. O esforo desta atividade deve ser considerado separadamente da estimativa de esforo derivada da contagem de PF. importante ressaltar que esta atividade de responsabilidade dos Analistas de Negcios da empresa contratante, de acordo com as legislaes em vigor da ATI. Portanto. Caso o cliente demande para terceiros a realizao desta atividade, esta deve ser cobrada em horas de consultoria. Observe que o Documento de Viso gerado nessa atividade o insumo para o planejamento (estimativas) e a atividade de Engenharia de Requisitos do processo de desenvolvimento de software. Suporte: Esta atividade realizada sob demanda para solucionar diversos tipos de problemas que em sua maioria problemas com infra-estrutura ou apoio a informao (suporte a usurio). A natureza destes servios no so desenvolvimento de software no cabendo de forma alguma a aferio por ponto de funo. Help Desk: Esta atividade realizada com a alocao de pessoas cujo objetivo atender seja por telefone, internet ou presencialmente informaes a respeito de determinados servios da ATI. A forma
Pg. 33 de 66
mais comum de pagamento por este servio por profissional contratado. E mesmo assim, a natureza desse servio tambm no de desenvolvimento de software assim no cabendo pontos por funo.
Pg. 34 de 66
Midia: descreve a maneira que os dados ou informaes se movimentam para dentro e para 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. Freqentemente, somente 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-Midia: quando mais de uma mdia necessria para entregar a funo, 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 video. 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 midias 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 de objetivo da contagem, permitindo uma funo de negcio ser reconhecida no contexto das mdias que so requisitadas para a funcionalidade ser 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 destes exemplos 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 PFs dos projetos dos clientes do ATI. Os cenrios descritos nas sees seguintes no representam uma lista completa de situaes de mltiplas mdias. O entendimento destes exemplos 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 PFs dos projetos dos clientes do ATI.
Pg. 35 de 66
Caso as lgicas de processamento da consulta em tela e do relatrio em papel sejam distintas, o processo elementar no nico e portanto a funcionalidade ser contada duas vezes. Observe que a abordagem multiple instance considera que a contagem de PF de dados idnticos sendo apresentados usando mais de um tipo de mdia deve incluir toda instncia da funo em cada tipo de mdia. Neste exemplo, duas funes so contadas apresentao de dados em tela; apresentao de dados impressos.
Pg. 36 de 66
Algumas consideraes incluem: O propsito da contagem, Os usurios so um grupo distinto; ex.: um departamento especfico como marketing, diferente grupo de usurios do Data Warehouse e; A existncia de dados externos alm daquele disponvel dentro do Data Warehouse.
Figura 4 uma representao grfica de como a fronteira de um Data Warehouse pode ser definida.
Pg. 37 de 66
Figura 4: Figura Ilustrativa de um Fronteira de DW A Figura 4 esta mostrando um limite em volta das Staging Areas/Depsito de Dados Operacionais/Data Warehouses e limites em torno de Data Marts especficos. uma representao grfica de como as fronteiras podem ser definidas. Embora este diagrama mostre todos os trs Data Marts fora da fronteira, esse nem sempre pode ser o caso. Acrnimos comuns: ETL = Extrair, Transformar & Carregar ODS = Depsito de Dados Operacionais EDW = Enterprise Data Warehouse BO = Business Objects
Funcionalidade fsica Muitos sistemas de Data Warehouse contm vrias reas fsicas onde os dados so armazenados antes, durante e depois que os dados so recebidos do sistema de origem e so processados. Nesse contexto, importante diferenciar a funcionalidade do negcio das funes fsicas e tcnicas.
Pg. 38 de 66
Os Data Warehouses geralmente usam tecnologia da web para tornar as suas informaes mais acessveis aos usurios. Esses Websites podem incorporar informaes nos relatrios ou consultas; informao de metadados; dicionrios de dados; ferramentas de Consulta; treinamento; e membros de grupos de projetos em um local conveniente. Quando esses Websites existem, o Analista do Ponto de Funo precisa determinar se a fronteira do Data Warehouse inclui ou exclui o Website que fornece acesso a ele. Segue algumas dicas para ajudar nessa deciso: Se um Website central usado para acessar vrios Data Warehouses dentro da empresa, e este mantido por uma equipe especfica e no pela equipe que mantm os Data Warehouses, essa uma boa indicao que o Website uma aplicao separada cuja funo primria fornecer acesso aos Data Warehouses. Se um servio web foi construdo para fornecer capacidades de relatrio para um Data Warehouse especfico, e mantido por esta equipe de Data Warehouse, provavelmente seria contado como parte do aplicativo de Data Warehouse.
Observao: A fronteira do aplicativo no se baseia necessariamente em como a organizao do software gerenciada. Porm, conhecer quem desenvolveu o Website que fornece acesso a um Data Warehouse em particular pode ser til quando se define a fronteira da aplicao. Anatomia Fsica de uma Data Warehouse Tipicamente, existem trs segmentos fsicos dentro do Data Warehouse; Staging Areas, o depsito de dados operacionais e o Data Warehouse. Staging Areas. Essa Staging Area usada para armazenar uma verso atual do Data Warehouse que existe no sistema original. Esta cpia fsica criada por vrias razes, inclusive: Desempenho O sistema operacional pode reduzir a carga de processamento imposta pelas leituras requeridas antes que a transformao dos dados comece. Segurana Sistemas origem podem controlar o que os programas tm acesso em suas reas. Ao fornecer uma exportao, o sistema de origem mantm controle sobre o que enviado.
Os dados armazenados nas Staging Areas so os mesmos ou muito similares aos do sistema original, em suas estruturas e valores de dados. A Staging Area raramente vista ou descrita por um usurio do negcio ou um usurio administrador. Depsito de Dados Operacionais (ODS) O ODS contm dados transacionais detalhados que so (tipicamente), de alguma forma, modificados. A fonte original desses dados o sistema de origem via a rea de etapas. Considere como os
Pg. 39 de 66
dados podem ser modificados quando determinam se um armazenamento de dados e o tipo de funo de dados (ALI ou AIE). Os dados nesse segmento do Data Warehouse podem ser descritos como: Integrados Validados Freqentemente atualizados Detalhados Volteis
O segmento ODS suporta a habilidade para, via data mining, buscar informaes sumarizadas para as informaes de nvel transacional, detalhadas e atuais. O Data Warehouse a ltima rea de acomodao (dentro do limite do aplicativo de Data Warehouse) para os dados transformados. Quando dados so armazenados aqui, eles passaram por um processamento via ETL (Extrair, Transformar e Carregar). Exemplos desse processamento incluem: Validao Integrao Limpeza Verificaes de qualidade Sumarizao
Projetos de Data Warehouse contm muitos documentos que o Analista do Ponto de Funo pode usar para auxiliar na contagem do ponto de funo. Alguns dos documentos mais teis so os diagramas de modelo de dados, que ajudar a determinar dados e funes transacionais para a contagem. Os diagramas de modelo de dados incluem: Tabelas Fato Tabelas Agregadas Tabelas de existncia Dimenses Tabelas de Visualizao Metadados
Tabela Fato A tabela fato a principal tabela de interesse em um modelo dimensional. Uma tabela fato contm medidas relacionadas a negcios e cada tabela fato pode ser conectada a tabelas dimensionais ou a outras tabelas fato.Os dados da fato no Data Warehouse se parecem tipicamente com aqueles contidos no sistema de origem ou ODS, mas foram submetidas ao processo ETL e portanto seu significado pode ter sido mudado drasticamente.
Pg. 40 de 66
A estrutura de chave estrangeira na tabela fato permite que os campos definidos em entidades dimensionais acessem informaes adicionais. Uma contagem de DET (TDs) tipicamente incluir campos da entidade da tabela fato e da entidade dimensional. Dependendo da abordagem de modelagem usada pela equipe do projeto, o esquema de estrela representado pode incluir s os campos que so requeridos para definir a informao da entidade, do fato ou pode incluir todos os campos que so definidos para a entidade dimensional, mas so requeridos para uso em outras entidades do fato. Em resumo, tabelas fato contm agrupamentos identificveis do usurio de dados e so geralmente mantidos por um ou mais processos de ETL (processos elementares). Como tais, eles so contados como Arquivos Lgicos Internos. Uma palavra final de advertncia sobre contagem dos tipos de dados (DETs ou TDs) certifique-se de contar somente os requeridos para a entidade fato em anlise. Tabelas Agregadas Tabelas Agregadas um tipo especial de tabela fato. Tabelas Agregadas deveriam ser contadas? Depende da razo para a existncia da tabela agregada, que pode existir por razes de desempenho ou negcios. Razes de Desempenho Um conjunto de medidas pode ser criado medida que os dados so carregados, pois do tempo requerido para que tais clculos sejam feitos nos relatrios muito grande. Nesse caso, estas tabelas agregadas no devem ser contadas como ALIs ou AIEs. Propsitos de Negcio Os usurios podem requerer que as tabelas agregadas sejam construdas para satisfazer um propsito funcional de negcios. Por exemplo, informaes da fato nem sempre podem ser expressveis no mesmo nvel de detalhe; ou custos de remessa podem ser disponveis ao nvel de cliente da fatura de envio, mas no no nvel da linha da fatura ou o nvel do produto. Tabelas de Existncia de Fato (Factless Fact Existence Table) Esse tipo especial de tabela fato no contm medidas numricas de negcio, mas ela documenta a existncia de um evento. Para determinar se deve ser includo na contagem de pontos de funo, faa a anlise funcional conforme esboado nas regras do Manual de Prticas de Contagem. Vejamos um exemplo na Figura 5.
Pg. 41 de 66
Essa tabela fato da figura 5 usada para definir quais produtos sero oferecidos, a quais estabelecimentos e durante quais promoes. Essa tabela ajudar o analista na avaliao da eficcia de promoes ao identificar os estabelecimentos e produtos participantes. Similar a tabelas associativas encontradas no modelo relacional normalizado, tabelas de existncia gerenciam excees onde certos exemplos de uma tabela se relacionam a um ou mais outras tabelas. Nesse exemplo, a entidade Promotion Products uma tabela contvel. A exigncia em permitir rastrear promoes fica satisfeita com essa entidade. Isso define que produtos sero oferecidos ou foram oferecidos em quais estabelecimentos durante as promoes. A contagem resultante um arquivo de baixa complexidade geralmente um ALI. Tabelas dimensionais Tabelas dimensionais contm as informaes descritivas necessrias para permitir uma anlise da informao relacionada a fato e contm informaes para permitir a verificao do carregamento dos dados. Tipicamente, uma tabela fato s conter DETs que permitam uma medio em particular (na tabela fato) para ser considerada pelos campos nas tabelas dimensionais.
Pg. 42 de 66
Dimenses e Fatos Como eles Coexistem? Fisicamente, tabelas fato contm s os DETs requeridos para representar alguma medida de negcios e so rodeadas pela mesma tabela fsica por DETs do tipo chave estrangeiras que conectam a dimenses de forma a permitir mais descrio de qualquer evento em particular. Ao contar os elementos dos dados para a incluso da tabela fato todos os elementos de dados identificveis do usurio na tabela de fato e os dados elementares das tabelas dimensionais que so requeridos para definir o registro da tabela de fatos. Tabelas de visualizao Como as tabelas de visualizao podem ser contadas? Basicamente, existem duas formas em que as tabelas de visualizao podem ser contadas durante a anlise do ponto de funo. Processos elementares Se uma tabela de visualizao criada e enviada para fora do Data Warehouse para consumo de outro aplicativo (fronteira diferente de aplicativo) assim a transao pode ser contada como uma sada externa ou consulta externa para o aplicativo do Data Warehouse. Parte de um ou mais processos elementares Se a tabela de visualizao criada para uso do Data Warehouse ento ela no deve ser contada como uma nica funo (processo elementar). A tabela de visualizao deve ser analisada para determinar a fonte desses dados. As funes de dados usados para criar a tabela de visualizao devem ser consideradas como um FTRs em potencial para determinar a complexidade das funes transacionais, que acessam aqueles dados em particular.
Metadados A forma mais simples, talvez no a mais clara, de descrever metadados : Dados sobre dados. Os metadados proporcionam mais informao sobre o objeto que est sendo analisado. Os metadados so usados por dois grupos de pessoas em uma organizao: usurios que desempenham anlise relacionada a negcios e aqueles que desempenham anlises relacionadas tcnica. Cada conjunto de usurios tem diferentes necessidades desde a configurao da aplicao at a definio de campos usados em um relatrio especfico. Metadados tcnicos incluem: Descrio de tabelas Descrio de atributos Relaes da entidade Regras de processamento de dados Relacionamento de chaves Categorias de metadados de negcios incluem: Dicionrio de dados Proprietrios de dados Informao assuntos da rea
Um dos elementos-chave, para ter em mente ao analisar os tipos de metadados para incluir em sua anlise quem foi definido como os usurios do aplicativo. Isso afeta a quantidade de arquivos que podero existir.
Pg. 43 de 66
Funes de Transao Existem quatro categorias de transaes/funes que so usados num Data Warehouse tpico. So eles: Extrair, Transformar e Carregar dados Relatrios Funes Administrativas Funes de Metadados.
ETL, ou Extrair Transformar e Carregar (ETL) o conjunto de transaes de banco de dados usado para extrair informaes de um banco de dados, transform-los e carreg-los em um segundo banco de dados. As fontes de dados para o Data Warehouse esto em aplicativos ou sistemas que so externos ao Data Warehouse (fora da fronteira). Dados de origem so extrados ou recuperados de bancos de dados externos por processos no Data Warehouse. Uma vez que os dados so buscados da origem, so transformados usando regras de negcios fornecidas pelo usurio bem como pelo administrador do armazm de dados (Transform). Depois que os dados so transformados, eles so ento carregados no Data Warehouse (Carrega ou Transporta). Conta-se uma EE para cada Carregamento/Transporte de dados de aplicativo de origem que mantm um ou mais ALIs no Data Warehouse. Lembre-se que a inteno primeira dessas transaes manter dados lgicos no Data Warehouse ou alterar o comportamento do sistema. A lgica especial de processamento se aplica na transformao e carregamento de dados. No conte trs EEs separadas para cada passo do processo (ex.: uma EE de Extrao, uma EE de Transformao, e uma EE de Carregamento), uma vez que todos os trs so requeridos para completar o processo elementar. Conta um Arquivo referenciado (FTR) para cada ALI mantido. Conte um Arquivo referenciado (FTR) para cada leitura de ALI ou AIE durante o processamento da entrada externa. Conte s um Arquivo referenciado (FTR) para cada ALI que mantido e lido. Conte um AIE para cada grupo lgico de dados que copiado de um sistema de origem para o Data Warehouse sem nenhuma lgica especial de processamento. Nesse caso, tambm no conte uma EE para a extrao de dados. (A exigncia lgica referenciar os dados. Os dados existem no Data Warehouse devido ao desempenho ou outras consideraes de design/arquitetura do que uma necessidade do usurio de negcios.)
Relatrio / Consulta
Consultar e fazer relatrios sobre os dados contidos no Data Warehouse so importantes funes de negcios. O analista do ponto de funo, precisa determinar quais funes de relatrio ou consulta fazem parte do Data Warehouse e quais so considerados fora da fronteira. Existem pelo menos duas categorias de relatrios: relatrios adhoc e programados. Relatrios adhoc representam uma solicitao a cada vez com parmetros diferentes selecionados pelo usurio, enquanto relatrios programados so criados periodicamente (diariamente, semanalmente, mensalmente) e, tipicamente, no podem ser modificados pelos usurios.
Pg. 44 de 66
Relatrios programados geralmente requerem uma anlise formalizada e um ciclo de vida de desenvolvimento. Como tal, relatrios programados so geralmente contados pelo contador do ponto de funo enquanto relatrios adhoc, criados por um usurio final, no podem ser contados. Uma exceo a essa orientao seria contar a funcionalidade oferecida ao usurio para criar seus prprios relatrios adhoc. Os dois exemplos seguintes de ferramentas de relatrio podem ser usados para criar relatrios adhoc e padro. 1. Ferramenta de Relatrio internamente desenvolvida: Essa ferramenta criada por desenvolvedores para suportar usurios do Data Warehouse. A fronteira de contagem determina se a ferramenta de relatrio desenvolvida contada como um componente do Data Warehouse ou um aplicativo separado. Se os usurios vem a ferramenta como parte do Data Warehouse, deve ser considerada estando dentro da fronteira do Data Warehouse. Outras reas que podem influenciar a deciso de incluir a ferramenta como componente do Data Warehouse so a lgica de processamento e localizao/manuteno dos dados lgicos que suportam os relatrios. Supondo que a ferramenta de relatrio desenvolvida se estabelece dentro dos limites do Data Warehouse, conte pelo menos uma SE (EO) ou CE (EQ) para cada relatrio ou consulta desenvolvida e/ou suportada para satisfazer as necessidades do usurio. Siga as orientaes CPM para determinar se o relatrio ou consulta um processo elementar nico. 2. Software Comercial de prateleira (COTS)/Ferramenta de Relatrio Comprada (ex.:. Relatrios Crystal, Cognos, Business Objects, etc): Para contagens de desenvolvimento e melhoria, um contador do ponto de funo deve contar s as funes que foram personalizadas ou feitas para o usurio de negcios ou administrativo. Se h uma necessidade ou solicitao de negcios para contar todo o portflio de funes do software, (por exemplo, para avaliar as caractersticas ou funes proporcionadas pelo COTS), COTS e as funes personalizadas podem ser contados, mas o portflio deve ser considerado um limite de aplicativo separado do Data Warehouse, contado como um aplicativo separado, e categorizado de acordo. Conte um SE (EO) ou CE (EQ) para cada relatrio ou consulta desenvolvida e/ou suportada para satisfazer as necessidades do usurio. Siga as orientaes CPM para determinar se o relatrio ou consulta um processo elementar nico. Funes Administrativas Data Warehouses possuem inmeras funes administrativas. Enquanto muitas so tcnicas por natureza e requeridas para manter o Data Warehouse ativo e operante; algumas so de natureza de negcios e podem ser contadas. Perguntas que o contador pode fazer para ajudar a determinar se uma funo administrativa de lgica tcnica ou de negcios incluem:
Pg. 45 de 66
As funes foram desenvolvidas para suportar um usurio do aplicativo (ex.: administrador do sistema, arquiteto de dados)? Existem exigncias nicas de segurana (ex.: logins, segmentao de acesso por permisses, senhas)? Supondo que o contador possa responder as questes acima afirmativamente: Conte um EE (EI) para cada funo nica administrativa (ex.: segurana, questes do usurio) que mantm um ALI ou modifica o comportamento do sistema Conte uma SE (EO) ou CE (EQ) para relatrios produzidos para suportar essas funes. Use regras de CPM para determinar os tipos de transao Metadados Metadados so geralmente definidos como dados sobre dados. Em um Data Warehouse pode haver pelo menos dois tipos: Informao que suporta as caractersticas, funes e dados de negcios (ex.: dicionrio de dados) Informao que suporta as funes tcnicas do Data Warehouse (ex.: programaes para backups ou ajustes de desempenho). importante revisar e entender o propsito e objetivos da Contagem do Ponto de Funo, na medida em que isso ir clarear quem so os usurios e que funcionalidade de usurio pode ser considerada. Ambos os tipos de metadados exigem a assistncia de um administrador. A partir de uma perspectiva de dados de negcios, pode-se incluir um arquiteto de dados. A partir de uma perspectiva tcnica que poderia incluir um administrador do sistema. Ao tentar analisar quais caractersticas e funes desempenhadas nessas capacidades administrativas so contadas, til fazer as seguintes questes. 1. As funes de metadados foram desenvolvidas para apoiar um usurio do aplicativo? Se a resposta sim, conte um EE (EI) para cada funo nica mantendo os metadados, e conte uma SE (EO) ou CE (EQ) para os relatrios de metadados produzidos. 2. As funes metadados foram desenvolvidas para suportar funes ou caractersticas tcnicas opostas lgica de negcios? Se a resposta sim, essas funes no so contadas. Elas foram criadas por propsitos tcnicos. Concluso A nica natureza dos Data Warehouses apresenta o Analista do Ponto de Funo com um nmero de desafios a fornecer essas empresas dados de tamanhos precisos e mtricas relacionadas que podem ser usados para tomar as melhores decises possveis. Guia de Contagem APF ATI www.ati.pe.gov.br Pg. 46 de 66
Sistema Legado
BPMS
Processo automatizado
WS
WS Sistema Legado
Processo automatizado
WS
Processo automatizado
WS
Sistema Legado
Um BPMS (Business Process Management System) um Sistema no qual se pode desenvolver aplicativos integrados para gerenciamento de processos de negcios contemplando recursos como: documentao de processos, execuo automatizada de processos, possibilidade de criao de indicadores gerenciais de processos em painis de controle, upload e trmite de documentos eletrnicos, com possibilidade de certificao digital e integrao com sistemas legados atravs da filosofia SOA (Service Oriented Architecture).
Os processos organizacionais automatizados so executados dentro do ambiente BPMS. Na ATI este ambiente proporcionado pela ferramenta GILES. Interface de integrao a tecnologia utilizada para integrar aplicaes possibilitando a troca e atualizao de dados. Exemplos dessas tecnologias so: webservice, broker ou view, etc.
Pg. 47 de 66
Na contagem de pontos de funo um dos passos iniciais da anlise a determinao da fronteira da aplicao. Para a contagem de pontos de funo de automao de processos deve-se considerar como fronteira da aplicao, apenas a interface conceitual do processo de negcio que ser automatizado. Tendo o cuidado para no considerar na contagem, as funcionalidades que j integram e fazem parte do ambiente BPMS, no qual o mesmo ser desenvolvido. Ou seja, as funcionalidades pertinentes ferramenta BPMS esto fora da aplicao a ser desenvolvida (aqui o processo de negcio a ser automatizado).
Pg. 48 de 66
Pg. 49 de 66
Algumas atividades modeladas em BPMN, apesar de se apresentarem distintas no modelo, podem constituir apenas uma transao completa para o negcio, com sentido de completude de determinado requisito funcional para o usurio. Assim, devem ser contadas como apenas uma transao. Assim sendo, factvel que se tenha na modelagem BPMN mais de uma atividade ou mesmo um conjunto de atividades que sejam correspondentes a um nico requisito funcional, sendo portanto considerado na contagem como uma nica transao Ateno: Alguns modelos BPMN podem apresentar atividades que foram modeladas apenas para melhor entendimento do negcio e, que no constitui um processo elementar para o sistema. Assim no devem ser levadas em considerao na contagem. Exemplo1: Na figura 8 abaixo foram includas no modelo as atividades Vistar Documentao e Pendncias e Solicitar Resoluo de Pendncias. Apesar de serem duas atividades no modelo, para o negcio elas constituem apenas um processo elementar, individualmente elas no constituem uma transao completa. A atividade Vistar Documentao e Pendncias sem a Solicitao de Resoluo das Pendncias no considerado um processo completo para o usurio.
Pg. 50 de 66
Figura 8: Exemplo de atividades distintas que compem um nico processo elementar Exemplo2: Uma mesma atividade que pode ser realizada por pessoas/entidades diferentes deve ser contada apenas uma vez. Na Figura 9 abaixo a atividade Resolver Pendncia constitui uma transao completa, tem significado para o usurio, autocontida e deixa o negcio da aplicao em um estado consistente. Isso independente da entidade que a realiza. O mesmo ocorre com a atividade Assinar Contrato, conforme podemos observar na Figura 10.
Figuras 9 e 10: Exemplos de atividades distintas que compem um nico processo elementar
Pg. 51 de 66
Pg. 52 de 66
Ponto de funo aponta claramente o conceito de processo elementar que representa um requisito do usurio. Isso quer dizer que ele completo do ponto de vista de usurio, deixa o sistema consistente e a funcionalidade entregue reconhecida pelo usurio. Desta forma ao fracionar demais os requisitos, vrias funcionalidades so quebradas em partes que sozinhas no tem valor de negcio algum o que pode levar a um desentendimento sobre o pro cesso elementar. Por exemplo, uma funcionalidade solicitada pelo usurio que composta por 3 passos, realizadas em momentos diferentes por pessoas diferentes, provavelmente ser um NICO requisito pois se mostra como um nico processo elementar que s faz sentido se os 3 passos forem dados. Assim, tanto faz realizar 0, 1 ou 2 passos, para o usurio aquela parte no concluda irrelevante. Seguindo o exemplo anterior, suponha que a funo uma SE complexa (Que custa 7 PF) poderia ser quebrada em 2 EE simples (3 pontos cada uma) e 1 SE simples (4 Pontos) o que levaria ao total de 10 PF. 3 Pontos mais caro em uma nica funcionalidade. Ento identificar o processo elementar um passo mais importante do que identificar requisitos e fluxo de servios.
Pg. 53 de 66
Documente previamente as fronteiras de todas as aplicaes que podero ser objeto de medio.
Pg. 54 de 66
A utilizao de pontos de funo na contratao de desenvolvimento de software tm crescido bastante no mercado brasileiro. Entretanto este processo ainda no atingiu sua total maturidade. Por isso, algumas empresas encontram dificuldade na utilizao da tcnica e acabam sendo mal sucedidas em seus projetos. Seguem algumas dicas que podem minimizar ou at evitar problemas na implantao deste processo: Capacitao: conhecer corretamente a tcnica de pontos de funo fundamental. Embora seja bvio, observa-se que muitas organizaes erram neste passo bsico. Estabelecer objetivos iniciais modestos: comear com um projeto piloto em um sistema simples. Avaliar os resultados, efetuar as correes necessrias, revisar os objetivos e seguir em frente. Esteja ciente das limitaes da tcnica: Existem domnios de problema em que a APF no indicada. Por exemplo, em sistemas de otimizao a tcnica no adequada para medir as partes com alta complexidade algortmica. A tcnica tambm no recomendada para estimativa de projetos muito pequenos (< 100) ou atividades pontuais, pois pode haver distores significativas. Busque ajuda se necessrio: Uma consultoria externa pode evitar "cabeadas desnecessrias" e agilizar o processo, trazendo experincias e ajudando a corrigir rumos. Tambm existe um grupo de usurios muito ativo no Brasil, o BFPUG (Brazilian Function Point Users Group) que possui um frum de discusso ideal para este objetivo. Cuidado com os conflitos de interesse: a medio do servio em pontos de funo nunca deve ser realizada somente pelo fornecedor, pois ele ser remunerado justamente pelo resultado da medio! Observa-se esta prtica indesejvel em algumas organizaes (inclusive pblicas). Pode-se utilizar pessoal interno para realizar a medio, ou na pior das hipteses validar por amostragem as medies realizadas. Outra opo contratar uma empresa externa para este servio. Esteja atento ao preo do ponto de funo: este item to impor tante que vale abord-lo em mais detalhes.
Pg. 55 de 66
O requisito alterado ser considerado 100% do PF, supondo que este ser entregue ao cliente sem passar por novas alteraes. Para o requisito original ser considerado o seguinte: Engenharia de Requisitos 25% Design, Arquitetura 15% Implementao 40%
Pg. 56 de 66
Pg. 57 de 66
Como os riscos da reduo de cronograma tambm so altos, no recomendada a reduo de cronograma. Deve-se tentar priorizar funcionalidades trabalhando com o ciclo de vida incremental. Caso o contrato seja baseado em preo por Pontos de Funo, este aumento de esforo ser refletido na contagem de PF.
quantidade de entregveis (artefatos, documentos, modelos, etc) exigidos. Em resumo, tudo aquilo que afeta custo de forma significativa, mas que no tem relao direta com o tamanho medido pela APF acaba sendo computado no preo do ponto de funo. Exemplo 1: ao se contratar uma empresa apenas para o trabalho de codificao e testes de um sistema espera-se que o preo do ponto de funo seja inferior ao caso da contratao da mesma empresa para a realizao de todo o ciclo de desenvolvimento do sistema, desde o levantamento de requisitos at a implantao. Exemplo 2: o preo do ponto de funo para a entrega apenas do software certamente inferior ao preo do ponto de funo onde, alm do software, devem ser entregues vrios documentos (subprodutos) como: modelos da UML, manual de usurio, ajuda on-line, prottipos, casos e planos de testes, etc. Exemplo 3: atualmente a gama de tecnologias disponveis para desenvolvimento de sistemas enorme, cada uma delas podendo influenciar diretamente na produtividade (tanto positivamente quanto Guia de Contagem APF Guia de Contagem APF ATI www.ati.pe.gov.br Pg. 59 de 65 negativamente) do trabalho a ser realizado. Sendo assim bastante comum no mercado a a diferenciao do R$/PF de acordo com a plataforma tecnolgica (mainframe, web, cliente-servidor, etc) e/ou linguagem de programao (cobol, C, java, .net, etc). Exemplo 4: A APF, segundo o padro IFPUG, mede manutenes desconsiderando o tamanho da manuteno que a funo sofrer. Geralmente o esforo para se manter uma funo costuma ser inferior ao de se desenvolv-la. Sendo assim, pode haver diferenciao de preo do ponto de funo em projetos de melhoria para funcionalidades novas, alteradas e excludas. Exemplo 5: ao se contratar uma empresa de desenvolvimento de sistemas estabelecendo SLAs (acordos de nveis de servios) muito rgidos, relacionados produtividade da equipe e qualidade do produto, de se esperar um preo do ponto de funo superior ao de um contrato com um menor nvel de exigncias. Em resumo, no existe um preo nico para ponto de funo bem como no h atualmente uma tabela de preos disponvel publicamente onde se possa consultar valores para o preo do ponto de funo. At mesmo porque esta uma informao considerada reservada ou estratgica para muitas organizaes. Porm possvel obter informaes de preo dos contratos governamentais atravs de uma pesquisa nas licitaes ocorridas, no dirio oficial ou diretamente com o rgo do governo. Outra possibilidade para se obter essa tabela de preos recorrer s organizaes que mantm base histrica de projetos de software (exemplo: ISBG - www.isbsg.or) e efetuar uma converso dos indicadores de taxa de entrega (H/PF) para preo (R$/PF). Porm mesmo que se consiga obter uma tabela de valores R$/PF, a variao dos nmeros to significativa que facilmente se encontra uma faixa de Guia de Contagem APF ATI www.ati.pe.gov.br Pg. 59 de 66
valores cuja variao entre o mnimo e o mximo pode ser de at 10 vezes, por exemplo, de R$100/PF a R$1.000/PF. Para obter uma informao mais realista do preo (ou custo) do PF melhor buscar isto internamente nos projetos j realizados. Para projetos j concludos uma informao certamente disponvel o quanto se pagou ou se cobrou por cada projeto e quais atividades estavam compreendidas. Caso o tamanho funcional (PF) dos projetos no esteja disponvel, pode-se obt-lo rapidamente atravs de uma medio ou de uma estimativa; basta analisar seus requisitos. Tendo o preo do projeto e o seu tamanho em pontos de funo, obtm-se o seu preo por ponto de funo (R$/PF). No entanto provvel que sua organizao empreenda projetos de diferentes tipos. Neste caso deve-se proceder a anlise do R$/PF para cada categoria de projetos, pois dificilmente um preo nico ser representativo para projetos de tipos distintos. 8.4.3. Preo Ideal do Ponto de Funo na APE No contexto das instituies pblicas encontramos um cenrio onde necessrio contratar servios de desenvolvimento e manuteno para vrios projetos, muitas vezes de naturezas diferentes, de acordo Guia de Contagem APF Guia de Contagem APF ATI www.ati.pe.gov.br Pg. 60 de 65 com o planejamento estratgico e as diretrizes do governo. Porm, no vivel que as instituies realizem uma contratao especfica para cada projeto, devido aos altos custos de um processo licitatrio, bem como, a complexidade tcnica de se gerenciar vrios contratos de pequeno porte. Por isso, uma boa prtica que vem sendo adotada na APE que projetos de caractersticas semelhantes sejam atendidos por uma mesma contratao, salvo aqueles cuja natureza estratgica ou o grande porte prescindam de uma contrao especfica. Desta forma, podemos obter alguns benefcios como um maior controle dos projetos, atravs de uma gesto centralizada, e a reduo de custos, atravs de um maior volume de servios contratados e tambm pela diminuio de processos licitatrios na APE. Porm, importante observar que, em se tratando de projetos de caractersticas diferentes, dificilmente poderemos chegar a um preo ideal do ponto de funo sem que haja grandes distores. Isto ocorre por conta do nvel de esforo exigido em cada projeto, que acaba influenciando diretamente no preo cobrado pelo fornecedor. Ento, se no houver um planejamento eficaz da contratao, corremos o risco de que os projetos mais simples saiam muito caros para a instituio, enquanto os projetos mais complexos saiam de grande prejuzo para o fornecedor. Para minimizar este problema, recomenda-se que os projetos de caractersticas similares (processo, tecnologia, requisitos no funcionais, requisitos de qualidade, SLAs) sejam agrupados em categorias que devero ser licitadas separadamente (lotes diferentes de preo). Se observarmos estes projetos em um nvel macro perceberemos que as situaes extremas se compensam e, em mdia, existe uma maior
Pg. 60 de 66
linearidade na relao entre o esforo e o tamanho funcional, permitindo que o fornecedor estabelea um preo mdio justo para ambas as partes. O objetivo manter o equilbrio financeiro entre instituio x fornecedor num conjunto de projetos realizados durante o perodo do contrato, numa relao que represente vantagem para ambos os lados. Seguem alguns critrios de similaridade que causam impacto no esforo e podem ser utilizados para categorizao de projetos: Aspectos no funcionais; Complexidade e lgica de processamento; Requisitos de disponibilidade e performance; Mix de tecnologias envolvidas; Processo de desenvolvimento utilizado; Tamanho ordem de grandeza do projeto; Artefatos construdos; Nvel de exigncia dos Acordos de Nveis de Servio;
Alm de categorizar os projetos importante manter uma base histrica de indicadores de esforo e custo. Os indicadores devem estar associados aos objetivos estratgicos da instituio e devem ser coletados e acompanhados de forma sistemtica. Podemos citar como exemplo a taxa de entrega (H/PF) e Guia de Contagem APF Guia de Contagem APF ATI www.ati.pe.gov.br Pg. 61 de 65 o preo (R$/PF), que podem ser obtidos atravs de quanto se cobrou por cada projeto, a quantidade de horas de trabalho reportada e quantos pontos de funo foram entregues no perodo. Estes nmeros so de grande importncia, pois refletem a experincia da prpria organizao nos projetos medidos em pontos de funo, podendo ser usados para acompanhamento dos contratos, melhoria das estimativas, referncias para futuras contrataes e como base de comparao com outras instituies. Desta forma, as instituies podem aproveitar as lies aprendidas para calibrao do preo do ponto de funo, obtendo assim um valor mais adequado a sua realidade. 8.4.4. Consideraes
Pg. 61 de 66
Atravs dos exemplos podemos perceber o impacto direto do esforo de desenvolvimento sobre o preo do ponto de funo. Desta forma, de extrema importncia que os requisitos para contratao de servios sejam bem definidos, de acordo com as caractersticas dos projetos e baseados nas necessidades dos clientes, para que a instituio no sobrecarregue o fornecedor com exigncias que no agregaro valor ao projeto e que, com certeza, iro aumentar o preo cobrado por ponto de funo. Por outro lado, a instituio no pode ser omissa na hora de estabelecer os critrios de contratao buscando um menor preo, pois isso acarretar em baixa qualidade de servios e insatisfao do cliente. A melhor alternativa buscar equilbrio entre estes fatores, garantindo assim melhores contrataes, bem como, um melhor relacionamento entre contratante e contratada. Uma iniciativa neste sentido foi a ata de registros de preo para desenvolvimento de sistemas em pontos de funo, elaborada pela ATI em outubro de 2010, cujos servios foram divididos em lotes de acordo com a tecnologia utilizada (JAVA Demoiselle, JAVA MakerAll e Dot Net). Para esta contratao a ATI realizou um levantamento dos fatores necessrios para a maioria dos projetos de governo, como aderncia a arquitetura padro do estado, atividades do ciclo de vida de projetos e SLAs de qualidade e produtividade. Estes fatores influenciam diretamente no esforo, por isso foram includos no edital para formao do preo do ponto de funo. Estima-se que esta primeira contratao trouxe uma economia para a ATI algo em torno de 4.000.000 (Quatro Milhes) de R$ Desta forma, as instituies da APE que tiverem interesse podero aderir a esta ata para atendimento de suas demandas, garantindo assim os nveis de qualidade e produtividade padro do governo, desde que estes nveis atendam as necessidades de seus projetos. Alm disso, estaro respeitando os princpios da economicidade e eficincia, evitando os custos e a longa durao de um novo processo licitatrio, alm da economia de escala no preo do ponto de funo para um maior volume de servios. Guia de Contagem APF Guia de Contagem APF ATI www.ati.pe.gov.br Pg. 62 de 65 Alm disso, fundamental que as instituies mantenham uma base histrica de indicadores dos projetos para melhoria contnua das estimativas e controle das contrataes. Isso vai refletir em resultados positivos para a instituio e, conseqentemente, melhores servios para o cidado.
Pg. 62 de 66
cmbio, devendo existir uma taxa cobrada pelo BB e possivelmente impostos. Efetuada a remessa, o BB fornecer um comprovante em reais, que ser contabilizado pelo rgo. Dessa forma, no existir contabilmente uma operao em dlar no rgo, mas sim um pagamento em reais ao BB (esta uma dvida que costuma surgir - alguns colegas dizem "Meu rgo no pode realizar pagamentos em dlares", mas isto no deve constituir impeditivo, j que o fato contbil ser registrado em reais). 5. Realizada a transferncia, uma cpia do comprovante fornecido pelo BB dever ser enviada via fax ou e-mail ao IFPUG, juntamente com o formulrio de filiao que pode ser baixado de http://www.ifpug.org/membership/membershipApplication.pdf (ver http://www.ifpug.org/membership/). Notar que o nome do rgo dever aparecer exatamente da mesma maneira no comprovante do BB e no formulrio de filiao - no colocar, por exemplo, Agncia Estadual de Tecnologia da Informao em um documento e ATI no outro, etc.). 6. Tudo isto feito, os contatos constantes do formulrio de filiao recebero um e-mail de confirmao com identificao de usurio e senha para acesso rea de filiados do site do IFPUG. Notar que este retorno pode levar mais de uma semana. Se demorar demais, enviar ao IFPUG uma mensagem em ingls solicitando explicao. 7. A filiao ao IFPUG vence sempre no dia 30 de junho de cada ano, independentemente da poca da filiao. Um indivduo ou organizao que se filie ao IFPUG como Regular Member entre primeiro de maio e 30 de junho de qualquer ano pagar o preo normal da filiao. Contudo, tal indivduo ou organizao ter sua filiao estendida at 30 de junho do ano seguinte. Ou seja, bom ter cuidado em quando realizar a filiao.
Pg. 64 de 66
A certificao a garantia de que o profissional entende e utiliza corretamente as regras do IFPUG para a contagem de pontos de funo. Todos os profissionais de APF (Anlise de Pontos de Funo) devem buscar a certificao.
9. PROCESSO DE REVISO DO GUIA DE CONTAGEM 9.1. REVISO PARA CORREO DE INCONSISTNCIAS E SITUAES NO PREVISTAS
A reviso deste guia ser feita sempre que a ATI, clientes e fornecedores verificarem inconsistncias entre uma definio do CPM e uma regra constante deste documento e situaes no previstas neste guia. Para situaes no previstas neste guia, dever-se- recorrer equipe de contagem do cliente e a coordenao da rea de mtricas da USG-GND da ATI que decidiro pela atualizao deste guia ou do contrato.
10. CONCLUSO
Este documento apresentou um guia para o dimensionamento de tamanho de todos os tipos de projetos de software desenvolvidos pela ATI seguindo as diretrizes da Instruo Normativa IN04. A estimativa de tamanho utiliza a mtrica de Pontos de Funo No Ajustados como unidade de medida, conforme recomendado nos Acrdos do Tribunal de Contas da Unio (TCU). Como trabalho futuro recomenda-se a reviso e atualizao deste roteiro sempre que se verificar inconsistncia entre alguma definio do IFPUG, seja 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 trabalho.
REFERNCIAS BIBLIOGRAFIAS
[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, Editora Devmedia, pp.25-31. (2008).
Pg. 65 de 66
[IEEE,1998] IEEE Computer Society. IEEE Standard for Software Maintenance. IEEE Std 1219, (1998). [IFPUG, 2007] IFPUG. Function Points & Counting Enterprise Data Warehouses . Release 1.0, September, (2009). [IFPUG, 2009] IFPUG. Considerations for Counting with Multiple Media . Release 1.0, September, (2009). [IFPUG, 2010] IFPUG. Counting Practices Manual. Version 4.3, January, (2010). [Jones, 2007] JONES, C. Estimating Software Costs. Second Edition , McGraw Hill, (2007). [NESMA, 2009] NESMA. Function Point Analysis for Software Enhancement Guidelines. Version 2.2.1, (2009). [Serpro, 2010] SERPRO. Roteiro de Contagem de Pontos de Funo. (2010). [Sommerville, 2007] SOMMERVILLE, I. Software Engineering. Pearson Education Limited, 8th Edition, (2007). [TotalMetrics, 2004] TotalMetrics. Levels of Function Point Counting. (2004).
Pg. 66 de 66