Você está na página 1de 13

rea Temtica: GESTO TECNOLGICA

Ttulo do Trabalho: Tamanho Funcional de Projetos de Desenvolvimento de Software: Um


Modelo Estatstico Baseado na Tcnica de Ponto de Funo
AUTORES
EDMIR PARADA VASQUES PRADO
Universidade de So Paulo
eprado@usp.br
DOUGLAS FERNANDES PEREIRA DA SILVA JUNIOR
Universidade de So Paulo
douglasfpdasilvajunior@gmail.com
Resumo
O objetivo deste trabalho propor alternativas para estimar o tamanho funcional de projetos
de desenvolvimento de software, de modo a aprimorar as estimativas de prazos e custos em
projetos. O trabalho prope um modelo que substitui o clculo dos pontos de funo da
tcnica tradicional de Anlise de Ponto de Funo (APF) por distribuio estatstica
triangular. O tipo de pesquisa realizado neste estudo se insere dentro do paradigma da cincia
de design (design science), no qual o conhecimento e o entendimento do domnio de um
problema e sua soluo so alcanados pela construo e aplicao do artefato projetado. O
modelo foi aplicado em um projeto real e os resultados obtidos apresentaram aspectos
positivos que propiciaram maior riqueza de informao para o gerenciamento de prazos e
custos de projetos de desenvolvimento de software. Esse trabalho contribuiu para mostrar que
a adoo de modelos estatsticos no clculo do tamanho funcional de projetos de software
pode trazer benefcios para a gesto de projetos. O trabalho apresenta limitaes de mtodo
das quais se destacam a utilizao nica de uma distribuio de probabilidades, e a
necessidade de testar o modelo em projetos com caractersticas diferentes, tais como, porte,
tecnologia, cultura organizacional, entre outras.
Palavras chave: Gesto de projetos; Anlise de Ponto de Funo; Mtodo de Monte Carlo.
Abstract
The objective of this work is to propose ways to estimate the functional size of software
development projects in order to enhance time and cost estimation on IS projects. The paper
proposes a model that replaces the evaluation of the traditional Function Point Analysis (FPA)
technique by the use of statistical distribution. The type of research performed in this study
falls within the paradigm of the science of design, in which knowledge and understanding of
the domain of a problem and its solution are achieved by the construction and implementation
of the designed artifact. The model was applied to a real project and the results obtained had
positive aspects that have led to better information for managing time and cost of software
development projects. This work has helped to show that the adoption of statistical models in
evaluation of the functional size of software projects can benefit the management of IS
projects. The cientific method used has limitations as the use of a unique type of a probability
distribution, and the need to test the model on projects with different characteristics such as
size, technology, organizational culture, among others.
Key words: Project Management, Function Point Analysis, Monte Carlo Method

Introduo
A rea de conhecimento relacionada a sistemas de informao (SI) recente se
comparado com outras reas de conhecimento e o conhecimento adquirido atravs de lies
aprendidas com projetos anteriores ainda baixo. Isso torna a rea de tecnologia de
informao (TI) um campo de atividade com baixo ndice de sucesso em seus projetos.
Segundo dados do Standish Group (2009), apenas 32% dos projetos obtiveram sucesso, 44%
foram concludos com problemas de prazo, escopo ou oramento e 24% fracassaram.
Essa situao se torna mais preocupante, quando consideramos a relevncia da
indstria de hardware, software e servios de TI na atualidade. Estamos vivendo na Era da
Informao e que este tipo indstria uma das locomotivas do desenvolvimento. Essa viso
compartilhada por Pressman (2006) que afirma que o papel dos SI dentro das organizaes
cresceu em importncia, e pode ser observado atravs dos processos organizacionais cada vez
mais automatizados e dependentes de software. A indstria da Internet guiada pelo software
movimenta uma economia de US$ 500 bilhes por ano.
Diante desse cenrio, a gesto de projetos de desenvolvimento de software se torna
relevante e uma das formas de melhorar o ndice de sucesso desse tipo de projeto observar
as boas prticas de gerenciamento de projetos. O Project Management Body of Knowledge
(PMBOK, 2008) um dos guias de boas prticas de projeto mais adotado pelas organizaes.
Entre as nove reas de conhecimento em gerenciamento de projetos, encontram-se a rea de
Gerenciamento de Tempo do Projeto e a rea de Gerenciamento de Custos do Projeto. Uma
das alternativas para estimar o tempo e os custos em projetos de desenvolvimento de software
partir de mtodos para estimativa de tamanho do software, como o mtodo de Anlise de
Pontos de Funo (APF).
O objetivo deste trabalho propor alternativas para estimar o tamanho funcional de
projetos de desenvolvimento de software, de modo a aprimorar as estimativas de prazos e
custos em projetos. Para atender a esse objetivo geral foram definidos dois objetivos
especficos: (1) desenvolver um modelo para aprimorar o clculo de pontos de funo em
projetos de software; (2) aplicar o modelo em um projeto real; e (3) analisar os resultados
obtidos com o modelo proposto em relao ao modelo tradicional de APF, analisando sua
contribuio para o gerenciamento de projetos de desenvolvimento de software.
Esse trabalho fui desenvolvido sob o mbito do Programa de Educao Tutorial
(MEC/SESu).
2

Fundamentao Terica
Nesta seo sero apresentados os tpicos relevantes acerca da estimativa de prazos e
custos em projetos de desenvolvimento de software, elaborados a partir de uma reviso
bibliogrfica. Esta reviso bibliogrfica descreve abordagens e tcnicas de estimativas usuais
no campo de desenvolvimento de software, em especial a APF, apresenta os conceitos sobre a
estimativa de prazos e custos de projetos, e apresenta os conceitos gerais do Mtodo de Monte
Carlo (MMC).
Koscianski e Soares (2007) destacam que h mais de trinta anos persistem os
problemas envolvidos com o desenvolvimento de software. Tamanha dificuldade se deve ao
carter no repetitivo e intelectual do desenvolvimento de software. O no cumprimento dos
prazos em projetos de desenvolvimento de software pode no ser o fator mais relevante a ser
considerado, mas esteve presente ao longo dos ltimos trinta anos dessa atividade.
A definio e a utilizao de bons processos de gerncia de custos e prazos de projetos
so de grande importncia. O objetivo desses processos fornecer diretrizes para a realizao
das estimativas de um projeto e direcionar as atividades de acompanhamento e controle, de
forma a auxiliar na proximidade entre os valores estimados e os reais. Como consequncia, a
utilizao de processos para gerncia de custos e prazos bem definidos auxilia na realizao

de estimativas com menor margem de erro, tornando os desvios dos projetos menos
frequentes e menores, favorecendo o sucesso de um maior nmero de projetos de software.
Entretanto, destaca-se que a concluso de um projeto no prazo e oramento previstos no
um indicador suficiente do sucesso de um projeto (Barcellos, 2003).
2.1

Medidas de Tamanho e Anlise de Pontos de Funo (APF)


Um dos fatores que exerce influncia sobre em um projeto de desenvolvimento de
software a sua complexidade (Koscianski & Soares, 2007). Essa complexidade costuma ser
mensurada pelas chamadas medidas de tamanho. As duas medidas de tamanho de software
mais usadas so a contagem de linhas de cdigo (Lines of Code-LOC) e os Pontos de Funo
do International Function Point Users Group (IFPUG, 2010).
Linhas de cdigo (LOC) a medida mais simples para determinar o tamanho de um
software, porm tambm a mais imprecisa. Para melhorar a preciso da medida surgiram
variantes como o SLOC (Source Lies of Code), onde somente as linhas de cdigo fazem parte
da mensurao (Koscianski & Soares, 2007). A LOC pode ser uma medida razovel do que
foi feito, mas tem vrias restries quando considerada como uma medida para previso
estimativa de tamanho. Uma forma de resolver essas limitaes utilizar a mtrica de APF.
2.1.1 Conceito e Benefcios
As mtricas de APF foram publicadas pela primeira vez em 1979 (Albrecht, 1979). A
APF uma tcnica padro usada para medir o tamanho funcional de um sistema, usando
como unidade de medida o ponto de funo. Essa tcnica deriva de trabalhos empricos de
pesquisadores, que verificaram a existncia de uma relao emprica entre o tamanho
funcional do sistema, os pontos de funo e o esforo realizado.
O tamanho em pontos de funo no mede a funcionalidade que o usurio solicita e
recebe. Isto significa que, dado um conjunto de requisitos do usurio, o tamanho funcional do
software ser o mesmo, independente da tecnologia utilizada, ou seja, independente da
implementao fsica e linguagens utilizadas no desenvolvimento de software (BFPUG,
1998). A tcnica de APF possui diversos benefcios:
a) Pontos de Funo podem ser obtidos logo no incio do ciclo de vida, diretamente
dos requisitos ou especificaes;
b) Os PF so teis para estimativas independentes de linguagem;
c) Pode ser um instrumento para estimar custos e recursos necessrios para o
desenvolvimento e manuteno de software;
d) Pode ser um fator para normalizao de software, permitindo que diversas
organizaes usem os mesmos critrios para determinar o tamanho de um sistema;
e) Permite escolher o fornecedor que tiver melhor custo e produtividade, em um
processo de seleo para desenvolvimento de software;
f) Permite ainda classificar os projetos de uma organizao em funo de seu tamanho.
2.1.2 Processo de Contagem de Pontos de Funo
O processo de contagem de pontos de funo est estruturado em sete etapas bem
definidas, conforme ilustra a Figura 1.
a) Determinar tipo de contagem. O primeiro passo determinar o tipo de contagem
a ser realizada. A APF pode ser aplicada em projetos e aplicao: (1) Projeto de
Desenvolvimento, onde se mede a funcionalidade provida aos usurios finais do software para
a primeira instalao da aplicao; (2) Projeto de Melhoria, onde se mede as modificaes na
aplicao existente, que incluem, modificam ou excluem funes na aplicao. As
funcionalidades de converso de dados tambm devem ser consideradas, caso existam; e (3)
Aplicao, que se refere a uma aplicao instalada, onde se mede as funcionalidades

atualmente fornecidas aos usurios da aplicao;

Contar
funes
tipo dados

Determinar
tipo de
contagem

Identificar
a fronteira
da
aplicao

Contar
funes
tipo
transao

Calcular
pontos de
funo no
ajustados

Calcular
valor do
fator de
ajuste

Calcular
nmero de
pontos de
funo
ajustados

Figura 1. Etapas do processo de contagem de pontos de funo


Fonte: Adaptado de Garmus e Herron (2001)
b) Identificar escopo da contagem e fronteira da aplicao. O escopo da contagem
determina quais as funcionalidades que faro parte de uma determinada contagem. Em
seguida identificada a fronteira da aplicao, que indica a separao entre o projeto que est
sendo medido e as aplicaes externas ao domnio do usurio;
c) Contar funes de dados. As funes de dados representam as funcionalidades
providas aos usurios, que comeam a ser identificadas e contadas. Existem dois tipos de
funes de dados: Arquivo Lgico Interno (ALI), que so grupos lgicos de dados ou
informaes de controle, identificvel pelo usurio e mantido dentro da fronteira da aplicao;
e Arquivo de Interface Externa (AIE), que so grupos lgicos de dados ou informaes de
controle, referenciados pela aplicao, identificvel pelo usurio e mantido fora da fronteira
da aplicao. Cada ALI e cada AIE possuem dois tipos de elementos que devem ser contados
para cada funo identificada: Tipos de Elementos de Dados (TED), que um campo nico,
reconhecido pelo usurio, no-repetido; e Tipos de Elementos de Registros (TER), que um
subgrupo de elementos de dados, reconhecido pelo usurio.
d) Contar funes transacionais. As funes transacionais representam as
funcionalidades providas aos usurios para o processamento dos dados pela aplicao. Essas
funes podem ser: Entrada Externa (EE), que um processo elementar que trata dados ou
informaes de controle que vm de fora da fronteira da aplicao; Consulta Externa (CE),
que um processo elementar, reconhecido pelo usurio, que envia dados ou informaes para
fora da fronteira da aplicao; e Sada Externa (SE), que tambm um processo que gera
dados ou informaes de controle e que so enviados para fora da fronteira da aplicao. As
EE, CE e SE possuem dois tipos de elementos que devem ser contados para cada funo
identificada: TED (definido anteriormente); e Tipo de Arquivo Referenciado (TAR), que um
ALI lido ou mantido por uma funo de transao, ou um AIE lido por uma funo de
transao. Ao final dessa etapa devem estar identificadas quantas EE, CE e SE a aplicao
possui e quantos so os TED e TAR encontrados.
e) Efetuar contagem de pontos de funo no ajustados. Consiste na soma total de
pontos de funo no ajustados das funes de dados e das funes transacionais.
f) Determinar o valor do fator de ajuste. Apesar de ser uma tcnica de medio que
independe de tecnologia, a APF leva em conta os detalhes tcnicos do projeto atravs do
ajuste dos pontos de funo. Isto porque, quando se consideram as caractersticas do sistema

para determinado cliente, observa-se que os pontos de funo devem ser ajustados para
refletir a maior complexidade do sistema. O valor do fator de ajuste (VAF) calculado a
partir de 14 caractersticas gerais do sistema;
g) Calcular o total de pontos de funo ajustados. Aps calcular os pontos de
funo no ajustados (PFNA) e o fator de ajuste (VAF) feito o clculo final dos pontos de
funo ajustados, conforme cada tipo de projeto. O nmero de pontos de funo ajustados
representa o tamanho da aplicao de acordo com suas funcionalidades. Com esse valor
possvel calcular as estimativas de esforo, prazo e custos para a aplicao, a partir de valores
de custo e tempo para realizar um ponto de funo. Estes ltimos valores podem ser obtidos
pela organizao a partir das medies realizadas em projetos anteriores, ou por valores
disponibilizados pelo IFPUG.
2.2

Tcnicas para a Estimativa de Prazos


O gerenciamento do prazo do projeto inclui os processos necessrios para gerenciar o
trmino pontual do projeto. Esses processos incluem a definio de atividades, a estimao
dos recursos e durao das atividades, e elaborao do cronograma. Eles interagem entre si e
podem se sobrepor (PMBOK, 2008).
A estimativa da durao das atividades usa informaes sobre o escopo do projeto e
sobre os recursos disponveis. Existem cinco tcnicas bsicas para estimar a durao das
atividades
a) Opinio especializada. guiada por informaes histricas a partir de projetos
anteriores similares. Pode tambm ser usada para determinar se seria recomendvel combinar
diferentes mtodos de estimativas e como reconciliar as diferenas entre eles;
b) Estimativa anloga. A estimativa anloga usa parmetros tais como durao,
oramento, tamanho e complexidade de um projeto anterior similar como base para a
estimativa dos mesmos parmetros ou medidas para um projeto futuro. usada quando h
uma quantidade limitada de informaes detalhadas sobre o projeto. Apesar de ser menos
dispendiosa e consumir menos tempo que outras tcnicas, ela menos precisa e requer que a
equipe do projeto possua habilidade tcnica necessria;
c) Estimativa Paramtrica. A estimativa paramtrica utiliza uma relao estatstica
entre dados histricos e outras variveis para calcular uma estimativa para parmetros da
atividade, tais como custo, oramento e durao. Esta tcnica pode produzir altos nveis de
preciso dependendo da sofisticao e dos dados bsicos colocados no modelo;
d) Estimativas de trs pontos. A preciso das estimativas de durao da atividade
pode ser aperfeioada considerando-se as incertezas das estimativas e riscos. Este conceito se
originou com a Tcnica de Reviso e Avaliao de Programa (PERT), que usa trs
estimativas para definir uma faixa aproximada para a durao de uma atividade. Esta tcnica
calcula a durao esperada de uma atividade (Te) usando uma mdia ponderada dessas trs
estimativas:
Te = (To + 4Tm + Tp) / 6
Onde Tm a durao mais provvel, To a durao otimista baseada no melhor
cenrio, e Tp a durao pessimista baseada no pior cenrio;
e) Anlise das Reservas. As estimativas podem incluir reservas para contingncias
para considerar incertezas. medida que informaes mais precisas sobre o projeto se tornam
disponveis, a reserva pode ser usada, reduzida ou eliminada.
Em projetos de software comum determinar o tamanho do software, a partir deste
determinar o esforo exigido, e em seguida o prazo necessrio (Hazan e Staa, 2005). As
estimativas de esforo podem ser geradas a partir dos pontos de funo e de um fator de

produtividade. Este ltimo depende de diversos atributos do projeto, entre os quais se


destacam: tamanho do software, plataforma de computacional, complexidade da aplicao,
confiabilidade desejada para o software, experincia da equipe, metodologia de
desenvolvimento utilizada, nvel de testes requerido, estilo de interface com o usurio, grau de
reutilizao desejado, e disponibilidade de ferramentas de software (BFPUG, 2010). Como
consequncia, a estimativa de esforo e de prazo podem ser obtidas com mais preciso a partir
de banco de dados histrico de projetos com dados sobre os atributos de cada projeto.
Entretanto, uma alternativa utilizar dados de produtividade disponveis (BFPUG, 2010;
Capers, 1996; SPR, 2008).
2.3

Tcnicas para a Estimativa de Custos


O gerenciamento dos custos do projeto inclui os processos envolvidos em estimativas,
oramentos e controle dos custos. Estimar os custos de um projeto significa desenvolver uma
estimativa de custos dos recursos monetrios necessrios para executar as atividades do
projeto (PMBOK, 2008). A estimativa um prognstico baseado na informao conhecida
num determinado momento, e inclui a identificao e a considerao das alternativas de custo
para iniciar e terminar o projeto. Compensaes de custos e riscos devem ser consideradas.
As estimativas de custos devem ser refinadas durante o curso do projeto, e sua
preciso aumentar conforme o projeto progride no seu ciclo de vida. Portanto, a estimativa
de custos um processo iterativo que representa uma avaliao quantitativa dos custos
provveis do projeto.
Estimar os recursos do projeto envolve a determinao da disponibilidade e
quantidade necessria de pessoal e material para executar as atividades. Entretanto, outros
aspectos devem ser considerados: (1) incluso ou no de custos indiretos; (2) custos de
mitigao de riscos devem ser computados; (3) fatores ambientais, tais como condies de
mercado; e (4) ativos de processos organizacionais que incluem polticas e modelos de
estimativa de custos, informaes histricas e lies aprendidas.
A estimativa de custos do projeto usa ferramentas e tcnicas semelhantes s
ferramentas e tcnicas usadas na estimativa dos prazos do projeto, ou seja, opinio
especializada, estimativa anloga, estimativa paramtrica, estimativas de trs pontos e anlise
das reservas. Adicionalmente, pode-se utilizar a estimativa bottom-up, que um mtodo para
estimar custos a partir de pacotes de individuais trabalho, que em seguida so resumidos em
nveis mais elevados.
Muitas vezes, quando faltam dados histricos para a estimativa de custos,
interessante optar por uma estimativa baseada em modelo paramtrico. Segundo Futrell,
Donald, e Shafer (2002), entre os modelos paramtricos mais amplamente utilizados para a
determinao do esforo destaca-se o COCOMO II (Constructive Cost Model). Este modelo
estima o esforo, o prazo e a equipe mdia para as fases de elaborao e implementao do
software.
2.4

Mtodo de Monte Carlo (MMC)


Uma das alternativas para avaliar os riscos envolvidos na estimao de prazos e custos
a avaliao de possveis cenrios. O resultado dessa avaliao permite preparar planos de
contingncia para superar ou mitigar o impacto de situaes inesperadas. Um dos
instrumentos que permite a avaliao de cenrios a simulao. Ela envolve o clculo de
mltiplas duraes do projeto com diferentes conjuntos de hipteses. A tcnica mais comum
para processa as simulaes o Mtodo de Monte Carlo (MMC). Entretanto, cabe destacar
que so a disponibilidade de recursos, de tempo e a importncia da avaliao de risco que vo
determinar o mtodo a ser utilizado.

2.4.1 Conceito e Origem


O MMC uma tcnica que pode ser utilizada para reduzir os riscos na estimativa de
prazos e custos de projetos. Ela calcula vrias vezes, por meio de iteraes, o prazo ou o custo
do projeto usando valores de entrada selecionados aleatoriamente a partir de distribuies de
probabilidade dos possveis custos ou duraes e calcula uma distribuio do prazo ou do
custo total do projeto (PMBOK, 2008). Essas distribuies de probabilidades, amplamente
usadas em modelagem e simulao, representam a incerteza na durao e nos custos de
atividades do projeto. O MMC representa uma soluo numrica baseado na simulao
estatstica com a utilizao de nmeros aleatrios.
O MMC foi criado em 1940 para solucionar problemas de blindagem em reatores
nucleares (Corrar, 1993). A denominao do mtodo provm do nome da cidade do
principado de Mnaco, devido similaridade entre os processos estatsticos e os jogos do
cassino. Entretanto, sua ampla utilizao s foi possvel com evoluo e disseminao da
computao eletrnica (Fischman, 1966). O MMC permite simular qualquer processo que
dependa de fatores aleatrios
2.4.2 Vantagens e Aplicao do Mtodo
Esse mtodo apresenta inmeros benefcios. Ele mais utilizado em modelos
complexos, que manuseiam inmeros parmetros. Uma simulao desse mtodo pode
envolver milhares de avaliaes do modelo estudado. Entre os benefcios do mtodo
destacam-se: (1) o uso em sistemas complexos com elementos estocsticos e que no podem
ser descritos corretamente por modelos determinsticos; (2) a possibilidade de comparar
alternativas para um determinado sistema; (3) a possibilidade de estimar o desempenho do
sistema sob diversas condies de projeto; e (4) a determinao do impacto de uma varivel
aleatria no desempenho ou viabilidade do projeto (Moore & Weatherford, 2006).
Entre as tcnicas mais usadas para anlise quantitativa de riscos destacam-se a
modelagem e a simulao. A simulao de um projeto utiliza um modelo que converte as
incertezas especificadas de maneira detalhada no seu possvel impacto nos objetivos do
projeto. As simulaes iterativas em geral so executadas usando o MMC. Em uma
simulao, o modelo do projeto calculado vrias vezes (iterao), com os valores de entrada
selecionados aleatoriamente para cada iterao das distribuies de probabilidades dessas
variveis. A distribuio de probabilidades calculada a partir das iteraes. Entretanto,
preciso ter alguns cuidados para a aplicao do mtodo:
a) Nmeros aleatrios: Os nmeros aleatrios so ingredientes bsicos no MMC. O
objetivo produzir uma seqncia de nmeros entre zero e um, que simulam as propriedades
ideais da distribuio uniforme. Entretanto, os algoritmos usados por computadores geram
nmeros pseudo-aleatrios;
b) Independncia das variveis aleatrias. Os eventos de risco simulados devem ser
independentes, ou seja, no deve haver correlao entre eles;
c) Distribuio de probabilidade. importante a escolha de uma distribuio de
probabilidade que represente adequadamente a varivel sendo modelada. Vrias ferramentas
podem auxiliar esse processo, tais como, base de dados histrica sobre o comportamento
dessa varivel em outros projetos e ajuste de curvas com auxlio de software.
3

Modelo para Estimativa do Tamanho Funcional de Projetos de Software


O modelo proposto para estimativa do tamanho funcional de projetos de
desenvolvimento de software foi baseado na mtrica de APF. O modelo substitui o clculo
dos pontos de funo, que na tcnica tradicional de APF so feitos com base em valores
determinados em tabelas, por distribuies estatsticas desses valores. A Figura 2 apresenta o

modelo proposto, que uma adaptao do processo tradicional de contagem de pontos de


funo, onde os processos de contagem so substitudos por simulaes usando o MMC,
aplicado a distribuio triangular de probabilidades.
Contar
funes tipo
dados
considerando
distribuio
estatstica

Determinar
tipo de
contagem

Calcular
pontos de
funo no
ajustados

Contar
funes tipo
transaao
considerando
distribuio
estatstica

Identificar
a fronteira
da
aplicao

Calcular
valor do fator
de ajuste
considerando
distribuio
estatstica

Calcular
nmero de
pontos de
funo
ajustados

Figura 2. Modelo proposto para estimativa do tamanho funcional projetos de software


Fonte: prprio autor
A distribuio triangular foi escolhida por ser uma das mais utilizadas para simular
variveis de projetos. A Figura 3 ilustra a diferena de clculo entre o mtodo tradicional e o
modelo proposto neste trabalho.
Clculo dos pontos de funo no-ajustados (PFNA) de uma arquivo lgico
interno (ALI) de complexidade mdia
Mtodo tradicional

Classificao da
complexidade
funcional
Baixa
Mdia
Alta

Mtodo proposto

Pontos de
funo
no-ajustados
7
10
15
7

PFNA = 10

9,5

10

15

43,64% de probabilidade de PFNA


estar entre 9 e 11

Figura 3. Diferena de clculo entre os mtodos


Fonte: prprio autor
Este trabalho pressupe que o modelo proposto obtm estimativas mais adequadas do
tamanho funcional de projetos de software que o mtodo tradicional, pois considera que a
utilizao de um distribuio de probabilidades representa melhor a realidade do que o
mtodo tradicional, que considera valores fixos para cada faixa de complexidade das funes
de dados e de transao.
4

Mtodo da Pesquisa

Esta seo apresenta os procedimentos metodolgicos que foram aplicados pesquisa.


O primeiro item classifica o tipo de pesquisa, e o item seguinte descreve as fases da pesquisa.
4.1

Tipo da Pesquisa
O tipo de pesquisa realizado neste estudo se insere dentro do paradigma da cincia de
design (design science). Este paradigma busca estender as fronteiras da capacidade humana e
organizacional pela criao de novos e inovadores artefatos. Ele reside na confluncia entre
pessoas, organizaes e tecnologia. As pesquisa desenvolvidas sob esse paradigma criam
inovaes que definem ideias, prticas e produtos atravs do qual a anlise, implementao e
gesto de SI podem ser eficaz e eficientemente realizadas (Denning, 1997). Neste paradigma,
o conhecimento e o entendimento do domnio de um problema e sua soluo so alcanados
pela construo e aplicao do artefato projetado. fundamentalmente um paradigma voltado
para a soluo de problemas (Hervner, March, Park & Ram, 2004).
Para March e Smith (1997), os artefatos definidos no campo de SI, tais como,
construtos, modelos, mtodos, prottipos e sistemas implementados, permitem aos
pesquisadores e praticantes compreender e enderear os problemas inerentes a implantao de
SI nas organizaes.
Tabela1. Orientaes para a aplicao da cincia de design
Orientaes
Descries
A concepo como um artefato
A cincia do design deve produzir um artefato vivel na
forma de um construto, modelo, mtodo ou instanciao
Relevncia do problema
O objetivo da cincia do design desenvolver solues
baseadas em tecnologia para problemas de negcio
relevantes e importantes
Avaliao
A utilidade, qualidade e eficcia de um artefato precisa ser
rigorosamente demostrada atravs de mtodos
adequadamente executados
Contribuies da pesquisa
Uma pesquisa eficaz, dentro do paradigma da cincia do
design, precisa prover contribuies claras e verificveis
Rigor metodolgico
A cincia de design reside na aplicao de mtodos
rigorosos para a construo e avaliao do artefato
Processo de pesquisa
A busca por um artefato eficaz requer o uso de meios
disponveis para atingir os fins desejveis, sem deixar de
satisfazer as leis que regem o ambiente do problema
Comunicao dos resultados
Os resultados devem ser apresentados adequadamente
tanto para audincias orientadas tecnologia como para
audincias orientadas gesto
Fonte: Adaptado de Hervner, March, Park e Ram (2004, p. 83)
Hervner, March, Park e Ram (2004) definiram um guia com sete orientaes, que est
apresentado na Tabela 1. Essas orientaes derivam do princpio fundamental desse
paradigma, aplicado na pesquisa de SI, na qual o conhecimento e o entendimento de um
problema e sua soluo so adquiridos pela construo e aplicao de um artefato.
4.2

Fases da Pesquisa
Esta pesquisa foi desenvolvida em quatro fases. A primeira fase constituiu o
levantamento bibliogrfico apresentado na Seo 2. Esse levantamento considerou os tpicos
de APF e os conceitos de MMC.
A segunda fase, apresentada na Seo 3, definiu um modelo para estimativa do

tamanho funcional de projetos de software. A construo do modelo partiu dos conceitos e


tcnicas apresentadas na reviso bibliogrfica e props uma estimativa baseada em
distribuio triangular de probabilidade.
Na terceira fase, apresentada na Seo 5, realizou uma aplicao do modelo proposto.
Para isso realizaram-se trs etapas: (1) seleo de um projeto de desenvolvimento de software
para avaliao do modelo proposto; (2) aplicao da tcnica tradicional de APF; e (3)
aplicao do modelo proposto neste trabalho.
Por ltimo, realizou a quarta fase, apresentada na Seo 6, e que constitui as anlises e
discusses sobre os resultados obtidos.
5

Aplicao do Mtodo
Esta seo tem como propsito apresentar uma aplicao utilizando os mtodos de
estimativas propostos na seo 3. Para aplicao do modelo proposto procurou-se selecionar
um projeto dentro da prpria universidade, baseado nos seguintes critrios:
a) Projeto com especificao clara dos requisitos e com pouqussimos conflitos entre
as partes envolvidas, reduzindo assim a influncia de variveis externas;
b) Ambiente adequado para avaliao, pois os desenvolvedores esto envolvidos em
um s projeto (o que est sendo avaliado) e, portanto, possuem disponibilidade para
dedicao exclusiva para essa atividade;
c) Ferramentas de desenvolvimento: linguagem JAVA e ambiente de desenvolvimento
integrado Netbeans.
Em funo disso, foi selecionado o projeto de um software que faz clculo de pontos
de funo, desenvolvido no Programa de Educao Tutorial (PET), que um dos programas
especiais do Ministrio da Educao (MEC). O projeto selecionado constitui um software que
possui 44 funes, definidas segundo os critrios da tcnica de APF, as quais esto
apresentadas na Tabela 2.
Tabela 2. Quantidade de funes da aplicao de avaliao
Funes transacionais e de dados

Nvel de complexidade Total


Baixa Mdia Alta
Arquivos lgicos internos (ALI)
17
2
0 19
Arquivos de interface externa (AIE)
0
0
0
0
Entradas externas (EE)
0
13
4 17
Consultas externas (CE)
4
1
1
6
Sadas externas (SE)
1
1
0
2
Total
44

Fonte: prprio autor


Com base no nvel de complexidade das funes possvel calcular os pontos de
funo. Usando a tcnica tradicional de APF essas 44 funes totalizaram 246 pontos de
funo no-ajustados (PFNA). Em seguida aplicou-se o modelo proposto para efetuar o
clculo dos PFNA. Foram executadas 1.000 iteraes no algoritmo de Monte Carlo. Isto
porque, se fixou um erro de apenas 1,5%, e para esse erro necessrio um nmero mnimo
976 iteraes. A Figura 4 apresenta os resultados obtidos com a aplicao do modelo
proposto. Enquanto o modelo tradicional calculou um tamanho funcional de 246 pontos de
funo, o modelo proposto estima que a probabilidade de o tamanho funcional no ultrapassar
246 pontos de funo de apenas 20%. Por outro lado, possvel afirmar que existe 80% de
probabilidade do tamanho funcional do projeto no ultrapassar 255 pontos de funo.

Adicionalmente, foi identificado o pior caso, ou seja, considerando as piores estimativas em


todas as 44 funes chegou-se a um tamanho de 299 pontos de funo. Da mesma forma,
identificou-se o melhor caso, ou seja, considerando as melhores estimativas em todas as 44
funes chegou-se a um tamanho de 203 pontos de funo.
Probabilidade acumulada

80

Melhor caso
Pior caso
20

203

246

255

299

Pontos de funo

Figura 4. Resultados obtidos com o mtodo proposto


Fonte: prprio autor
6

Anlise e Discusso dos resultados


A aplicao da modelo proposto no trabalhosa e pode ser feita por qualquer
organizao de pequeno a grande porte, pois no envolve custos significativos, ou seja, nem
de recursos financeiros e nem de tempo para avaliao. As 1.000 iteraes processadas no
teste do modelo foram executadas em curto espao de tempo, bem como toda a preparao
para utilizao do MMC.
Por outro lado, os resultados obtidos com o modelo proposto apresentam um aspecto
positivo e outro negativo. O aspecto positivo decorre da maior riqueza de informao para o
gerente de projetos, que passa a contar no s com uma estimativa nica do tamanho
funcional do projeto, que apresentada pelo modelo tradicional de APF, mas passa a contar
com um intervalo de valores para esse tamanho funcional. possvel ter estimativa do pior
caso e do melhor caso, bem como uma distribuio de probabilidades em relao ao tamanho
funcional do projeto. O modelo proposto apresentou um resultado no qual h 80% de
probabilidade do tamanho funcional no exceder 255 pontos de funo. Essa informao
fornece subsdios maiores para o gerente de projetos em relao aos prximos passos que so
a estimativa de prazos e custos do projeto. Cabe ressaltar, que o mesmo procedimento
utilizado para clculo dos pontos de funo, apresentados pelo modelo proposto, podem ser
utilizados nos passos seguintes de um projeto, que so a estimativa de prazos e custos.
Um aspecto negativo do resultado que a diferena entre os resultados dos dois
modelos foi pequena. Pode se considerar uma diferena de apenas 3,65% (255 em relao a
246). Entretanto, a comparao foi feita somente no clculo dos PFNA. Se for utilizado o
MMC para as demais fases de estimativa (clculo dos pontos de funo ajustados, estimativa
de prazo e custo) a diferena deve aumentar.
7

Consideraes Finais
O objetivo deste trabalho foi propor alternativas para estimar o tamanho funcional de
projetos de desenvolvimento de software, de modo a aprimorar as estimativas de prazos e

custos em projetos. Este objetivo foi atingido por meio da aplicao e do teste de um modelo
para aprimorar o clculo do tamanho funcional de projetos de desenvolvimento de software.
Esse trabalho contribuiu para mostra que a adoo de modelos estatsticos no clculo
do tamanho funcional de projetos de software pode trazer benefcios na gesto de projetos.
Por outro lado, cabe destacar que o trabalho apresenta limitaes. Apesar das estimativas de
esforo de projetos de software ter sua preciso dependente da existncia de dados histricos
de projetos similares (HAZAN e STAA 2005), o presente trabalho apresenta limitaes de
mtodo. Entre elas destacam-se: (1) a utilizao nica de uma distribuio triangular de
probabilidades limita a extenso dos resultados para projetos cujas variveis se comportem de
acordo com outras distribuies; e (2) o fato de se ter aplicado o modelo proposto somente a
um projeto, no permitiu verificar se a diferenas em projetos com caractersticas diferentes,
tais como, porte, tecnologia, cultura organizacional, entre outras.
O estudo realizado parte de um projeto de pesquisa desenvolvido no Programa de
Educao Tutorial (PET), no qual se pretende dar continuidade ao trabalho realizado,
buscando aprimorar o modelo proposto, bem como os procedimentos de teste do modelo.
Referncia Bibliogrfica
ALBRECHT, A. J. Measuring application development productivity, in Proceedings IBM
Applications Development Symposium, Monterey, California, October 14-17, 1979.
BARCELLOS, M. P. Planejamento de custos em ambientes de desenvolvimento de software
orientados organizao. Dissertao de Mestrado - Engenharia de Sistemas e Computao.
Universidade Federal do Rio de Janeiro, Rio de Janeiro, 2003.
BFPUG. Pontos de Funo e Medidas: o que um Ponto de Funo? (1998). Disponvel em:
http://www.bfpug.com.br/Artigos/Dekkers-PontosDeFuncaoEMedidas.htm. Acesso em: 02 de
nov. 2010.
BFPUG. Qual a produtividade do JAVA? (2010). Recuperado em 2 de novembro, 2010.
http://www.bfpug. com.br/Produtividade_Java.htm.
CAPERS, J. Applied Software Measurement: Assuring Productivity and Quality, 2 edition.
Mcgraw-Hill, 1996.
CORRAR, L. J. O modelo econmico da empresa em condies de incerteza aplicao do
Mtodo de simulao de Monte Carlo. Caderno de Estudos n 8. So Paulo: FIPECAFI, 1993.
DENNING, P. J. A new social contract for research. Communications of the ACM 40(2), p.
132-134, February, 1997.
FUTRELL, R.T.; DONALD, F. S.; SHAFER, L. I. Quality Software Project Management.
Prentice-Hall, 2002.
GARMUS, D.; HERRON, D. Function Point Analysis: Measurement Practices for Successful
Software Projects. Addison Wesley, 2001.
HAZAN, C.; STAA. A. Anlise e Melhoria de um Processo de Estimativas de Tamanho de
Projetos de Software. Monografia Departamento de Informtica. Pontifcia Universidade
Catlica do Rio de Janeiro, 2005.

HEVNER, A. R.; MARCH, S. T.; PARK, J.; RAM S. Design Science in Information Systems
Research. Mis Quarterly, 28(1), 75-105, March, 2004.
IFPUG. Function Point Counting Practices Manual Release 4.3.1. New Jersey: IFPUG, 2010.
KOSCIANSKI, A.; SOARES, M. S. Qualidade de software: aprendas as metodologias e
tcnicas mais modernas para o desenvolvimento de software, 2 ed. So Paulo: Novatec
Editora, 2007.
MARCH, S. T.; SMITH, G. Design and natural science research on Information Technology.
Decision Support Systems, 15(4), p. 251-266, December, 1997.
MOORE, J.; WEATHERFORD, L. R. Tomada de deciso em administrao com planilhas
eletrnicas, 6 edio. Porto Alegre: Bookman, 2006.
PROJECT MANAGMENT INSTITUTE. Um Guia do Conjunto de Conhecimentos em
Gerenciamento de Projetos Guia PMBOK, 4 ed. Newton Square: PMI, 2008.
Pressman, R. S. Engenharia de Software, 6 ed. So Paulo: McGraw-Hill, 2006.
SPR. SPR Programming Languages Table. (2008). Disponvel em: http://www.sprglobal.com/catalog/. Acesso em: 15 de nov. 2010.
STANDISH GROUP. CHAOS Summary 2009: The 10 Laws of CHAOS. 2009.

Você também pode gostar