Do que se trata o artigo:

O artigo trata do processo de contagem do tamanho funcional do software a partir da aplicação da técnica de Análise de Pontos de Função. O resultado de uma métrica em PF pode ser associado a uma técnica de estimativas para a visualização e o controle do trio de restrições tempo, custo e esforço.

Em que situação o tema útil:

O tema pode ser útil como suporte às atividades de gerenciamento de projetos de software, sobretudo nos processos relacionados às fases de planejamento, monitoramento e controle.

Resumo DevMan:

O artigo apresenta os fundamentos da Análise de Pontos de Função e estimativas, assim como sua importância e contribuições para a Governança em Tecnologia da Informação. Apresenta também alguns benefícios das métricas na fase de planejamento para um controle mais eficiente do trio de restrições (escopo, prazo e custo) e um suporte à gerência de projetos.

Este artigo apresenta os fundamentos da Análise de Pontos de Função e estimativas, assim como sua importância e contribuições para a Governança em Tecnologia da Informação (GTI), principalmente no que tange às boas práticas na gerência de projetos de desenvolvimento de software. Além disso, apresenta alguns benefícios oriundos da utilização de métricas na fase de planejamento para um controle mais eficiente do trio de restrições (escopo, prazo e custo).

A preocupação com o controle dos processos envolvidos nas etapas de desenvolvimento de software também é ressaltada, devido ao impacto que o monitoramento e controle podem representar para o atendimento ao cronograma estabelecido durante a elaboração do documento de visão e escopo de um determinado projeto.

A curva de Rayleigh-Putnam é apresentada como uma alternativa de suporte às estimativas diretas do trio restritivo para a gerência de projetos. Seus resultados podem contribuir para a constituição do cronograma, uma vez que relaciona os tempos considerados como ideais ou impossíveis para o desenvolvimento de software.

“O que não se pode medir, não se pode gerenciar”

Segundo MANSUR, a frase acima é atribuída a Peter Drucker, filósofo economista e um dos pensadores acerca dos fenômenos causados pela globalização na economia e nas organizações. A frase ressalta a necessidade que os gestores envolvidos em Governança de Tecnologia da Informação (GTI) têm em fazer uso de técnicas e métodos, e a necessidade de indicadores que permitam que os resultados sejam monitorados e controlados, além de verificar se as metas e objetivos planejados foram atingidos ou superados. Essa frase faz alusão a uma famosa frase de Tom DeMarco, Engenheiro de Software e um dos desenvolvedores da Análise Estruturada, que diz: “Não se consegue controlar o que não se consegue medir”, que trata da mensuração do desempenho para que se possa controlar o andamento do projeto.

Governança em Tecnologia da Informação

A GTI, segundo WEILL & ROSS, pode ser definida como um “conjunto de especificações para apoiar decisões e estimular comportamentos desejáveis na utilização da Tecnologia da Informação”. Portanto, a GTI é, em sua essência, um conjunto de regras, procedimentos e condições de conduta que fomentam o uso de boas práticas que, quando adaptadas à cultura da organização, proporcionam o alinhamento estratégico entre a TIC e as metas propostas pela alta direção.

De acordo com FERNANDES & ABREU, as organizações que vislumbram o crescimento e melhora de sua produção pelo aumento da qualidade de seus processos internos, verificam a importância em se estabelecer um alinhamento entre a TIC e os seus objetivos estratégicos para alcançar maiores lucros com redução de custos, o que é um fator fundamental para que se mantenham firmes e competitivas no mercado onde atuam.

A GTI dispõe de padrões que devem ser assumidos por todos os colaboradores em nível operacional e, principalmente, gerencial, a fim de controlar os ativos organizacionais, mitigar os riscos, reduzir custos, aumentar o desempenho e apoiar os processos de tomada de decisão, para que se opte pelo caminho mais acertado para alcançar os seus objetivos.

Estes procedimentos podem retirar a área de TIC da condição de apenas prestadora de suporte a sistemas de computadores para colocá-la na condição de suporte fundamental aos objetivos estratégicos e, consequentemente, trazer retorno à organização.

Análise de Pontos de Função

A APF foi desenvolvida por Allan J. Albrecht em meados dos anos setenta, como uma tentativa de superar as dificuldades com as Linhas de Código (LOC) como medida de tamanho de software, e para auxiliar na implantação de um mecanismo para estimar esforço associado ao desenvolvimento de software. A técnica foi publicada pela primeira vez em 1979, e depois em 1983. Em 1984 Albrecht a aperfeiçoou e desde 1986, quando o International Function Point User Group (IFPUG) foi fundado, várias versões do Manual de Práticas de Contagem de Pontos de Função (Counting Practices Manual – CPM) foram publicadas (FETCKE, 1999). A técnica de APF foi submetida a um Publicly Available Specification (PAS) para a ISO, sendo aprovada sob a denominação ISO/IEC 20926:2002, no final do ano de 2002.

O IFPUG é uma entidade sem fins lucrativos que tem o objetivo de promover um melhor gerenciamento dos processos de desenvolvimento e manutenção de software, a partir do uso da técnica de APF. Ele promove vários eventos e conferências anuais com especialistas e demais usuários da técnica de APF de todo o mundo, cujo tema principal é a sua utilização e os seus benefícios. Além disso, mantém um programa que envolve a certificação dos usuários da técnica de APF como especialistas em Pontos de Função (PF) (Certified Function Point Specialist – CFPS) e um comitê responsável por gerenciar o CPM, que segue a norma ISO/IEC 14143. O Brazilian Function Point Users Group (BFPUG) é o chapter – o que representa as associações locais para troca de experiências – do IFPUG no Brasil, criado em 1998.

A eminente preocupação das empresas para desenvolverem seus softwares, seguindo padrões de qualidade e maturidade (ISO e CMMI), contribuiu para o aumento no interesse e na utilização da técnica de APF. Assim, são realizados encontros anuais conhecidos como Encontro Nacional de Usuários de Pontos de Função (ENUPF) com especialistas de contagem e métricas de desenvolvimento de software de vários países.

Segundo VAZQUEZ, a APF é uma técnica que tem como objetivo medir as funcionalidades fornecidas por um software, baseadas em uma avaliação padronizada dos requisitos lógicos, sob o ponto de vista do usuário. Desta forma, a APF não mede como o software foi construído, mas sim o que ele faz independente de qual tecnologia foi utilizada para a sua construção. A unidade de medida dessa técnica é o PF. O PF não mede diretamente o esforço, o tempo, a produtividade ou o custo. Para tanto, é necessário mensurar o tamanho funcional do software e associar a uma técnica de estimativas qualquer. É neste aspecto que a APF atua e tem ganhado expressão nas indústrias de software pelo mundo, e no Brasil não é diferente.

Motivação para mensurar projetos de software

A utilização de uma técnica para efetuar o processo de contagem pode trazer benefícios similares a uma revisão dos requisitos previamente levantados, verificando sua solidez. Dessa forma, a técnica de contagem pode ser uma ferramenta complementar na gerência de requisitos. Quando feita adequadamente, a medição em sequência de atributos de qualidade de produtos e processos pode fornecer uma base efetiva para a iniciação e gerência de atividades de melhoria de processos.

Três aspectos precisam ser considerados e avaliados para justificar a utilização de uma técnica para medir o volume ou tamanho de um software de acordo com suas funcionalidades e auxiliar nos processos de GTI: (i) o contexto de sua aplicação nas organizações; (ii) a análise do dilema encontrado nesse contexto; e (iii) a compreensão de como a técnica pode auxiliar as organizações.

O contexto da aplicação sofre influência de duas vertentes que se complementam. A primeira são os requisitos do sistema que tendem a aumentar com o decorrer do tempo, o que pode alterar a qualidade, a funcionalidade e o desempenho. Essa variação de escopo é característica da natureza expansiva dos requisitos. Enquanto o produto está sendo desenvolvido, funcionalidades que antes eram desejáveis podem se tornar essenciais, por exemplo. A segunda vertente é o trabalho exigido para que estes requisitos sejam atendidos, como esforço e profissionais qualificados para o desenvolvimento do projeto. O escopo inicial que foi determinado na fase de concepção do projeto deve ser controlado e mantido a fim de evitar o aumento de custos e retrabalho, entre outros desperdícios.

Gerenciamento de Projetos e GTI

A gerência de projetos abrange algumas das funções da administração de GTI, como o planejamento, a execução e o controle. A utilização desses processos é importante para alcançar uma melhor relação entre custo e benefício no desenvolvimento de sistemas, prevenindo e corrigindo desvios que comprometam a efetividade do projeto.

Planejamento

Segundo BANERJEE, a APF pode mensurar o tamanho do sistema nas fases iniciais do projeto, mesmo quando os requisitos ainda não estão totalmente apurados. Ou seja, em qualquer fase do ciclo de vida do projeto é possível planejar ações a serem tomadas de acordo com as estimativas efetuadas com base em experiências anteriores ou com a manutenção de registros de projetos semelhantes da organização. Assim, é feita uma contagem estimada do projeto e não do produto final, pois ainda pode haver mudanças no escopo devido a possíveis alterações nos requisitos.

Na fase de planejamento de projetos de desenvolvimento de software, é possível apurar alguns elementos que, quando associados, podem ter muito valor e oferecer indicadores de crescimento funcional, a saber: (i) tipo de produto que será desenvolvido; (ii) quais serão as atividades relacionadas; (iii) qual será o esforço despendido; (iv) que tipo de profissional será necessário; e (v) qual o tempo necessário.

A equipe envolvida no planejamento do projeto de software normalmente se baseia em duas variáveis para ponderar indicadores como esforço, prazo e custo. Estas variáveis são: a data limite para entrega do projeto, previamente estabelecida pela gestão de contratos, juntamente ao orçamento e tempo, e por fim, a experiência adquirida pelos responsáveis pelo planejamento do projeto, como os analistas e os gerentes, por exemplo.

...
Quer ler esse conteúdo completo? Seja um assinante e descubra as vantagens.
  • 473 Cursos
  • 10K Artigos
  • 100 DevCasts
  • 30 Projetos
  • 80 Guias
Tenha acesso completo