Antes de começar
Olá pessoal
Há um tempo atrás, publiquei no
blog um post que tratava das vantagens e importância de utilização – e quais as
boas práticas recomendadas para criação de indicadores no Microsoft Project.
Caso você não tenha tido a oportunidade de ler o post, sugiro reservar um
tempinho antes de começar a ler este aqui, pois alguns dos passos discutidos
serão utilizados novamente. O link para o post em questão é:
Introdução
Em muitos casos, apenas a
observação e análise dos indicadores não é suficiente para que o usuário
consiga ter a abrangência completa dos desvios existentes no cronograma. Usando
como referência o post citado no parágrafo anterior, caso exista um desvio de
prazo no projeto (ou seja, uma tarefa que tenha levado mais tempo de execução
em relação ao que foi planejado), uma pergunta que talvez tenha que ser
respondida é: quanto representa para a tarefa, em percentual, este desvio? E
para as tarefas de resumo? E para o projeto como um todo? Neste sentido, os
indicadores são ferramentas úteis na identificação de que existem desvios no
cronograma – mas eles não conseguem detalhar qual o tamanho deste desvio.
Lembrete: esta será uma série de
dois posts, o primeiro com foco em Prazo e o segundo com foco em Custos /
Esforço.
Antes de criar a fórmula de
desvio, é importante mencionar que algumas premissas estão sendo consideradas:
- Você já possui um cronograma estruturado;
- Seu cronograma está com a Linha de Base salva;
- Você já conhece os mecanismos básicos para construção de fórmulas e indicadores no Microsoft Project.
Caso uma (ou
mais) dessas premissas não seja verdadeira, volto à sugestão de leitura do post
disponível no link acima.
Percentual de desvio de prazo
Assumindo que as três premissas
anteriores estão ok, é muito fácil criar o campo que irá calcular o desvio.
Iremos começar pelo prazo. No seu cronograma, clique em Projeto > Campos
Personalizados. Escolha o tipo Número
e selecione o Número1 (caso esteja
disponível). Para facilitar sua identificação, renomeie o campo para % Desvio Prazo. Em seguida, clique em Fórmula.
Ao pensar na estrutura da fórmula
que irá calcular o Percentual de Desvio de Prazo, será necessário analisar e
validar duas regras de conformidade para assegurar seu bom funcionamento. São
elas:
- A fórmula somente poderá ser calculada pelo Project caso a Linha de Base tenha sido salva;
- A fórmula não poderá ser calculada para tarefas que sejam Milestones (pois essas tarefas são caracterizadas por duração igual a zero (0)).
Como a primeira ação a ser tomada
é verificar se a Linha de Base foi salva, será necessário a utilização da
função IIF. Ela está disponível
clicando em Função > Geral > IIF. Remova o item expressão e insira o campo [Término da Linha de Base] e insira o sinal de igual (=). Em
seguida, siga a trilha Função > Microsoft Project > ProjectDateValue. Remova o item
expressão e insira “ND”. O resultado até agora é o seguinte:
IIf( [Término da linha de base]
=ProjDateValue( "ND" ) ; parte_verdadeira; parte_falsa )
Em seguida, para garantir o
segundo ponto de checagem, após o parênteses que encerra a função
ProjDateValue, insira a função OR.
Clique em Campo > Sinalizador e escolha o item [Marco] (caso você esteja utilizando o
Project 2010 ou anterior, o nome do campo é [Etapa]). Para que você possa
entender melhor, este campo ([Marco] / [Etapa]) é do tipo Sim/Não, ou seja,
caso a tarefa seja um Milestone, será
considerado automaticamente pelo Project como sim. Após adicionar a expressão,
a fórmula estará escrita da seguinte maneira:
Microsoft Project 2013
IIf( [Término da linha de base]
=ProjDateValue( "ND" ) OR [Marco] ; parte_verdadeira; parte_falsa )
Microsoft Project 2007/2010
IIf( [Término da linha de base]
=ProjDateValue( "ND" ) OR [Etapa] ; parte_verdadeira; parte_falsa )
Até o momento, a lógica da função
IIF está realizando a seguinte análise:
Se
o Término da Linha de base for igual a “ND” ou a tarefa for um Milestone.
Considerando que as duas regras de
conformidade estão expressas na lógica da função, basta que as respostas sejam
inseridas. Portanto, se não houver Linha de Base salva ou se a tarefa for um Milestone, o item parte_verdadeira da função IIF deverá ser substituído pelo número 0
(zero) – pois não haverá cálculo de desvio nesse cenário. Caso contrário, o
item parte_falsa é que deverá
calcular o percentual de desvio. A fórmula que deverá ser inserida no lugar da parte_falsa é:
[Variação do Término]/[Duração da
Linha de Base]*100
A lógica por trás desta expressão
é simples: o campo Variação do Término exibe a quantidade de dias de desvio de
uma tarefa (a diferença entre o campo [Término] e o campo [Término da Linha de
Base]). Supondo que uma tarefa esteja prevista para terminar no dia 11-Nov-2013
(Linha de Base), mas que só seja finalizada efetivamente no dia 12-Nov-2013
(Término), teremos uma variação de 1 dia. Se a Duração da Linha de Base estiver
definida como 10 dias, por exemplo, teremos 1 dia de atraso sobre 10 dias de
planejamento (1/10), resultando em 10% de desvio em relação ao previsto. O
resultado final da fórmula será:
Microsoft Project 2013
IIf( [Término da linha de base]
=ProjDateValue( "ND" ) OR [Marco] ; 0; [Variação do Término]/[Duração
da Linha de Base] * 100 )
Microsoft Project 2007/2010
IIf( [Término da linha de base]
=ProjDateValue( "ND" ) OR [Etapa] ; 0; [Variação do Término]/[Duração da
Linha de Base] * 100 )
Após finalizar a construção da
fórmula, clique em OK. Não se esqueça de
selecionar a opção Usar fórmula no
cálculo das linhas de resumo de tarefas e de grupo:
Por fim, você poderá organizar uma
tabela com as informações de desvio do seu cronograma, incluindo a coluna %
Desvio Prazo, de modo que consiga acompanhar os desvios do cronograma em
conjunto com os indicadores definidos na sua empresa:
Bonus
track:
é bem provável que o leitor deste post faça o seguinte questionamento: é
possível exibir também o sinal de percentual (%) atrelado ao valor do desvio? A
resposta é não e sim. Explico:
Não porque, como a fórmula está
criada usando como referência um campo do tipo número, qualquer símbolo
inserido invalida automaticamente a fórmula.
Sim porque, ao invés de utilizar
um campo do tipo número, você pode utilizar um campo do tipo texto. Assim, ao
final da fórmula, bastaria inserir a expressão – & ”%”. O “E comercial” tem
como função concatenar (ou seja, juntar) dois textos. Assim, todo o resultado
da fórmula poderia ser concatenado ao símbolo de percentual (que precisa estar
com as aspas pois se trata de um texto).
Entretanto,
a criação da fórmula usando um campo do tipo texto possui uma desvantagem: como
o Microsoft Project não sabe o número de casas decimais que devem ser
consideradas (dadas as características do campo), você pode passar a enxergar
números com muitas casas decimais, como 66,6666666666667% ou 7,14285714285714%
por exemplo. Deste modo, para contornar o problema, o melhor a fazer é utilizar
a função INT (inteiro), que extrai
apenas a parte inteira do número, ignorando as casas decimais. O resultado da
fórmula (utilizando então um campo do tipo texto) seria:
Microsoft Project 2013
INT(IIf( [Término da linha de base]
=ProjDateValue( "ND" ) OR [Marco] ; 0; [Variação do Término]/[Duração
da Linha de Base] * 100 )) & "%"
Microsoft Project 2007/2010
INT(IIf( [Término da linha de base]
=ProjDateValue( "ND" ) OR [Etapa] ; 0; [Variação do Término]/[Duração da
Linha de Base] * 100 ) & "%"
Por hoje, é isso. Espero que o
post tenha sido útil.
Você também pode efetuar o
download do post neste link: https://www.box.com/s/idn6v70r7ibpx9tyk41u
Um abraço e até a próxima!
Prezado Raphael, você informou que um segundo post teria foco no cálculo de desvio considerando custo. Este post foi publicado? Se positivo onde consultar?
ResponderExcluirOlá Henrique, obrigado pela visita.
ExcluirRapaz.... agora que você escreveu o comentário é que fui perceber que o post sobre custo não foi concluído. Que vexame :-(
Bem, para não fazer você esperar até que o post saia, já vou compartilhar por aqui. Basicamente você vai seguir os mesmos passos descritos neste post para criar o campo. Porém, o resultado final da fórmula será:
Microsoft Project 2013
IIf( [Término da linha de base] =ProjDateValue( "ND" ) OR [Marco] OR [Custo da Linha de Base] =0; 0; [Variação do Custo]/[Custo da Linha de Base] * 100 )
Microsoft Project 2007/2010
IIf( [Término da linha de base] =ProjDateValue( "ND" ) OR [Etapa] OR [Custo da Linha de Base]= 0; 0; [Variação do Custo]/[Custo da Linha de Base] * 100 )
Um abração!