Minor Differences na ISMA8 (ou mais um dilema do “conta-um-ou-conta-muitos”)

Um dos pontos de discussão que surgiu na ISMA8 por parte de  vários CFPS foi o das “minor differences” (variações pequenas como traduzido para o português no CPM 4.3). Afinal, essas pequenas variações podem dar um trabalho danado para executar e gerar muito calor para obter o consenso ao medir! Adicionalmente, o que é pequeno para uma baleia é enorme para uma formiga. Enfim, é uma das derivações do dilema shakespeariano:

Conta um ou conta muitos?

O CPM remete aos requisitos funcionais como critério para avaliar se uma ou mais funções devem ser identificadas no escopo (no fundo, usa o termo não no sentido ďo tipo de requisito em uma hierarquia de classificação como a que usamos em nosso curso de engenharia de requisitos, mas no sentido de uma especificação de requisitos).

Unicidade de Processo Elementar

Unicidade de Processo Elementar

Concordo com a estratégia do CPM na medida em que ele pretende ser um documento da disciplina de medição e análise e não uma diretriz da engenharia de requisitos. Mas por outro lado eu – assim como muitos outros como pude perceber na ISMA8 – sinto-me como que abandonado em um assunto tão crítico.

É nesse momento que lembro-me do COSMIC! Ainda que minha intenção não seja usá-lo em um cenário bem resolvido pelo método do IFPUG, usar trechos de seu soberbo corpo de regras como diretrizes quando o CPM delega a decisão para outra instância de norma parece-me uma boa idéia.

O manual do COSMIC orienta a identificar diferentes eventos e dai diferentes processos funcionais (o equivalente ao processo elementar do IFPUG) quando:

A)  Responsabilidades por atividades são separadas:

Por exemplo, há uma função para alterar um compromisso cuja responsabilidade é de um escriturário e uma outra função de responsabilidade de um gerente para indicar que aquele compromisso deve ser quitado.

Diferentes Responsabilidades

Diferentes Responsabilidades

B) Decisões resultam em eventos distintos que sejam descontínuos no tempo:

Por exemplo,  há uma transação responsável por editar uma solicitação de férias como um rascunho e outra para indicar que aquele rascunho passou a ser uma versão final. As regras que governam o negócio em que a aplicação se insere determinam que não seja permitido cadastrar um pedido de férias ou editá-lo e, ao mesmo tempo, torná-lo um documento final.

Diferentes Eventos no Tempo

Diferentes Eventos no Tempo

Em ambos os casos as diferenças entre os dois processos apresentados não são minor differences. Tratam-se de dois requisitos funcionais diferentes. Contudo, sem essa diretriz como afirmar categoricamente isso?

Principalmente no caso em que os requisitos funcionais são inexistentes mas mesmo que existam, estejam disponíveis e sejam de qualidade, podem estar numa granularidade inadequada para medição:

  • Seja em um nível de granularidade alto demais compreendendo diferentes objetivos do usuário em;
  • Ou em um nível de granularidade baixo demais como o presente em casos de uso de inclusão ou extensão e em regras de negócio.

Mas esse – nível de granularidade – é outro assunto também muito bem explorado pelo COSMIC que vamos deixar para outro post.

Já que estamos falando em COSMIC, aproveitamos para comentar sobre a segunda prova de certificação realizada no Brasil, agora na cidade maravilhosa (Até quando a cidade faz estágio de Kosovo). Foi no dia 28/09 (sábado) e aos 20 brasileiros já certificados podem se juntar mais 7 que se sentaram para  fazer a prova.

A FATTO interessou-se pelo assunto primeiramente para buscar solução para uma série de problemas no que se refere à medição de software e cuja solução usando a APF como definida pelo IFPUG não conseguia resolver bem (ainda que resolvesse em parte e de uma forma bem menos elegante que as soluções dadas pelo COSMIC).

Uma coisa que se revelou ao longo da certificação de nossos profissionais, na pesquisa e desenvolvimento do material de treinamento, foi:

Aprender as regras do COSMIC inegavelmente torna você mais apto a usar melhor o método do IFPUG.

Por isso, mesmo que você não tenha interesse em especificamente adotar o método do COSMIC, não deixe de participar do segundo curso que a FATTO promove em Brasília entre 15 e 17/10 na ASBAN DF.


Os detalhes sobre o programa e metodologia do e evento podem ser consultados em: http://fattocs.com/pt/cosmic-bsb

Se tiver interesse sobre o relato do primeiro curso dessa natureza realizado no Brasil e sobre as impressões dos participantes e minhas,  dê um pulo em: http://www.fattocs.com.br/blog/index.php/2013/08/1458?lang=pt

… e pela primeira prova de certificação você encontra mais informações em: http://www.fattocs.com.br/blog/index.php/2012/12/1163?lang=pt

Para saber sobre o tema que apresentamos na ISMA8, não deixe de ler em: http://www.fattocs.com.br/blog/index.php/2013/10/1505?lang=pt

3 thoughts on “Minor Differences na ISMA8 (ou mais um dilema do “conta-um-ou-conta-muitos”)

  1. Diferenças “pequenas” derivadas de “regras de negócio” com origem em: questões de hierarquia, segurança da infornação ou mesmo workflow de gestão não podem ser medidas pelo seu “pequeno código de implementação física”, mas pela necessidade que o usuário (não utilizador) entende como essencial para a gestão de seu negócio, pela independência do processo, temporal e funcional.

  2. O que você coloca como ” inde­pen­dên­cia do pro­cesso, tem­po­ral e funcional” eu prefiro colocar como tarefa ou serviço ao invés de processo. Digo isso porque processo pode ter muitos diferentes níveis de granularidade e apenas um desses níveis é passível de medição por qualquer FSM – o da tarefa.

    O COSMIC é muito elegante em definir bem esses dois aspectos fundamentasia à medição do tamanho funcional:

    - O Nível de Granularidade; e
    - O que seja independência temporrar e funcional.

    Se tiver oportunidade, não deixe de conhecer o método. Pode-se dizer que a APF do IFPUG é, em certa medida, um caso de COSMIC, uma simplificação do COSMIC.

    []s

    Cadu.

  3. Vejo a abordagem do COSMIC bastante válida quando associada a identificação de processos funcionais distintos (processos elementares únicos para APF) a “eventos” percebidos por usuários funcionais do pedaço de software, considerando-se os fatores temporais e de responsabilidades distintas para a interação com o sistema. Sem dúvida eis aí um dos pontos no qual o COSMIC auxilia o Analista de Métricas na aplicação do método APF. A tal “pequena variação” certamente foi o assunto o qual mais presenciei discussões acaloradas, interpretações mirabolantes e argumentos tendenciosos (tanto de fornecedores quanto de clientes, enfatiza-se esse ponto) com o objetivo de se estipular um procedimento “padrão” que pudesse nortear as contagens, infelizmente todos que ouvi não me convenceram, por isso nunca os apliquei. Estive no ISMA 8, primeiro evento do IFPUG que participo e confesso que fiquei um pouco decepcionado com o costumeiro argumento de “sabemos que é um ponto controverso, mais assim que é, depende…” já que vários colegas meus em eventos anteriores já levantaram esse problema mas nunca obtiveram uma orientação objetiva. Para minha surpresa, ao estudar para prova de certificação COSMIC (quando aprendi o método já me preparando para prova) me deparei no Manual de Medição com o item que diferencia – ou não – dois processos funcionais. São dois itens simples, conforme apresentados pelo Cadu no Post, mais são fantásticos! Entendo que com tal orientação temos a capacidade de agregar a avaliação de unicidade de um processo elementar na APF (DER’s/ALR’s/Lógica) aos itens apresentados no COSMIC (eventos desassociados no tempo / responsabilidade pela execução), podendo assim de forma mais objetiva avaliar as pequenas variações em processos a fim de se obter uma medida funcional que reflita o real tamanho da aplicação.

Comments are closed.