Acho que conforme a pessoa vai envelhecendo ela vai gostando mais de Roberto Carlos. Quando tinha meus 15 anos de idade, achava que ele fosse o ícone maior do mal gosto… Hoje quando ouço a Marisa Montes com o seu Depois eu gosto e se olhar bem no fundo não é tão diferente. Eu me lembrei dele por casa dos detalhes tão pequenos de nós dois e das pequenas diferenças que surgem no CPM 4.3.
Afinal o que é uma “pequena diferença” no contexto da aplicação da Análise de Pontos de Função?
Antes da introdução dessa ressalva na regra, havia profissionais que contavam uma função para “listar batatas” e outra função diferente para “listar os mesmos dados das batatas só que antes informando alguns critérios de filtro”. Encontrei mais de um CFPS fazendo isso! Quando dizia que ele estava errado, a resposta vinha na ponta da linha: Cadu, ora, há uma lógica de processamento para apresentar os dados sem informar os critérios de filtro e uma outra lógica diferente para apresentar os dados que atendem a determinados critérios. Uma dessas pessoas, me contestou: Mostre-me no CPM! Enquanto ela esperava que eu fosse nos exemplos ou nas regras, apresentava a ela logo na introdução que a APF mede Requisitos Funcionais do Usuário; faz isso na perspectiva de suas tarefas. Fiquei feliz com a mudança na regra (que não mudou! Clarificou).
Na última ocasião em que comentei sobre essa história publicamente, havia comentado também a cidade em que as três vezes em que isso aconteceu e uma moça perdeu uma oportunidade de emprego porque trabalhava naquela cidade, então, mais maduro, nem entro nesse mérito.
Qual a lógica da APF? Ela busca permitir estimar o tamanho do software ainda em momentos preliminares quando há pouca informação e que os resultados dessa estimativa esteja dentro do que se espera para fins de um orçamento ou no mínimo para um estudo de viabilidade. Ela busca permitir medir software independente da arquitetura tecnológica, do projeto de TI que implementa uma aplicação. Ela busca ser simples e fácil de usar, ainda assim produzindo resultados consistentes entre diversas pessoas e organizações.
O componente funcional básico na medição pelo método do IFPUG está no nível das tarefas que um usuário desempenha. Veja que mudar de um campo para outro não é uma tarefa do usuário de um contas a pagar! Ao realizar a medição ou estimativa do tamanho funcional, a pessoa deve antes de tudo estabelecer o referencial de quem são os seus usuários. Quando montei o material do nosso curso de engenharia de requisitos me deparei com um material do Alistair Cockburn no livro Writing Effective Use Cases que define o conceito de nível de objetivo e cujo diagrama que ele usa na explicação da coisa transcrevo aqui para apoiar a exploração do meu raciocínio:

- Níveis de Objetivo
Ao realizar a Análise de Pontos de Função temos nivelar a identificação de funcionalidades no nível dos objetivos do usuário. Antes de qualquer coisa, deve-se identificar (ou definir se não estiverem disponíveis) os objetivos do usuário na perspectiva da realização de uma tarefa (não os objetivos do negócio que tem uma perspectiva agregadora ou os objetivos intermediários que tem uma perspectiva de um passo, uma subfunção).
Quanto mais eu me aprofundo na APF, mais eu percebo que se o trabalho de requisitos fosse feito adequadamente, sua medição seria praticamente automática e essa introdução foi para abordar a dúvida da colega Renata Guanaes que fez a seguinte manifestação:
Há um Cadastro de Projetos com vários atributos: características do projeto (informações básicas, como nome do projeto, data de início, data de término, região onde o projeto se desenvolve, etc.).
Considerem o projeto com vários Registros Lógicos: atividades do projeto, recursos utilizados pelos projetos, equipamentos utilizados no projeto, etc. Cada RL contém os respectivos custos.
O usuário solicita um Relatório (Relatório 1) que agrupe total de custos do Projeto por Atividades. Seria uma Saída Externa.
Além disso, ele também solicita o agrupamento do total de custos por outros atributos, como Recursos, Equipamentos, Região, etc. Esses relatórios teriam o mesmo layout do Relatório 1.
Eu devo considerar diferentes Saídas Externas? Ou trata-se de uma mesma SE com pequenas variações?
Para responder a pergunta dela precisamos avaliar dois aspectos da APF:
- Ela mede requisitos funcionais do usuário;
- Dois processos similares podem ser mapeados para uma única função.
Trata-se da aplicação da APF no domínio de um BI em que se realiza o levantamento junto ao usuário com o objetivo de identificar cubos com seus fatos e suas dimensões. O interesse do usuário é uma variedade indeterminada de diferentes visões sobre esses fatos agregados usando diferentes critérios (somando, calculando a média, apresentando o maior ou menor valor, etc.) e conforme combinações previamente não estabelecidas de dimensões horizontais e verticais.
Em um contexto como esse que eu descrevi, o requisito funcional do usuário é “Consultar Dados do Cubo”. As diversas e desconhecidas possíveis combinações estão no plano dos requisitos não funcionais, no caso, facilidade de manutenção (ISO/IEC 9126).
Trata-se do contexto de um sistema de informação gerencial em que se formula a pergunta da Renata Guanaes. Ao realizar as atividades de levantamento entrevistando um usuário, identificou-se que para ele realizar determinado trabalho (tarefa) ele precisa de um relatório. Quando se realizou o levantamento com outro usuário (ou o mesmo usuário, mas com necessidades diferentes para outra tarefa), verificou-se a necessidade de informações similares, porém com outro critério de agrupamento. Quando se realizou a análise do material confirmado nos eventos de levantamento, não houve possibilidade de conciliar esses dois diferentes requisitos em um único.
Nesse último contexto, já temos dois diferentes requisitos funcionais identificados, duas histórias diferentes que, quando processadas pelas regras de contagem, apresentam diferentes lógicas de processamento, resultando em diferentes funções! A diferença de apenas um campo na saída de um relatório pode não ser considerado uma pequena diferença!
Quando um analista de métricas faz a sua análise ele DEVE ter disponível informação de referencia para poder identificar essa informação de contexto. Vejo hoje muitos colegas num movimento inverso àquele que descrevi na abertura deste texto. Tudo é uma pequena variação. Estão tão equivocados quanto os primeiros… mas ao contrário deles há um fator amenizante:
- Os documentos de requisitos permitem claramente segregar o que é requisito funcional do usuário do que seja requisito não funcional do usuário para o contexto em análise?
- Os documentos de requisitos apresentam os papeis e suas tarefas e responsabilidades no que se refere a interação com o sistema?
- Os documentos de requisitos estão escritos no sentido de descrever o comportamento do sistema em termos das tarefas e serviços do usuário ou estão mais próximos de especificações de serviço que abordam questões da disciplina de análise e projeto (ou mesmo da disciplina de implementação)?
Sem esses referencias não há medição; há ESTIMATIVA.







junho 22nd, 2012 at %H:%M 02Fri, 22 Jun 2012 14:08:53 +000053.
Cadú,
Muito bom este seu texto. Toca diretamente nas competências que o Analista de Métricas deve ter para exercer sua função; a capacidade de analisar (e não só sair contanto, ou não contando… como um robô)!
Aliás, fica aqui a minha sugestão para as próximas versões do CPM… contemplar a disciplina de “Competências do Analista de Métricas” — assim como o BABOK faz como sugestão para os Analista de Negócios.
O * sistema * de educação corporativa (em tempos atuais leia-se “escárnio corporativo”) muito se preocupa em capacitar (ou explorar) seus profissionais nas técnicas de execução operacional (e nada intelectual!), visando eficiência em números para o melhor indicador!, boas estatísticas!, (tudo furado!!!) e se esquece que o carinha que está na cara do gol é gente tratando com gente. Ahhh, o ser humano!
Voltando à técnica, eu ainda complementaria a identificação dos objetivos do usuário na perspectiva da realização de uma tarefa #para atender àquela fração de negócio# – para garantir à amarração (o comprometimento) do usuário (o carinha que está na cara do gol com a gente, o ser humano…) com o negócio.
Quanto à sua citação sobre os requisitos adequados, as organizações ainda precisam perdem muito dinheiro e muitos gestores de projetos ainda vão sofrer de muita insônia por verem seus projetos naufragarem. Infelizmente! Não dão a atenção à alma do #seu# negócio; o requisito.
Medição automática é requisito garantido para implantação! E seria tão simples; 1) dados que participam da transação e de que forma (interfaceado, ou não), 2) seus depósitos de armazenamento de dados e recuperação e 3) suas lógicas de processamentos executadas. Só isto! #Especificados#, #declarados#, #explícitos# na documentação do projeto.
É pedir muito, neh?
Caro Cadú, perdoa esta sua seguidora por fazer deste comentário um sub-blog. Esta não foi a intenção, mas sim a expressão do desejo de um dia, ou tão logo, o * sistema * ser melhor.
[Translate]