domingo, 27 de julho de 2014

Calculando o desvio entre datas no cronograma

Olá pessoal,

Um dia desses recebi um e-mail com a seguinte dúvida: “estou gerenciando um projeto e preciso resolver uma necessidade: digamos que hoje é dia 25, e no meu cronograma há uma tarefa que, pelo planejamento, devia ter sido finalizada no dia 20 – porém, até o momento a tarefa não foi concluída. Eu gostaria de criar uma fórmula que me permitisse saber quantos dias se passaram entre a data de término planejada da tarefa e a data atual”.

O Microsoft Project possui uma série de fórmulas nativas para calcular desvios no cronograma – o software calcula automaticamente os desvios de Custo, Trabalho, Início, Término e Duração. Além disso, o Project permite que os usuários criem suas próprias fórmulas e indicadores personalizados, para que possam assim resolver os cenários em que as fórmulas padrão não oferecem ajuda.

Voltando à dúvida do e-mail, o Microsoft Project possui uma função interna chamada ProjDateDiff, cujo objetivo é retornar a diferença de duração existente entre duas datas. Sua sintaxe é bem simples:

ProjDateDiff( Data1, Data2, Calendário )

No argumento Data1 deve ser inserida a data a ser usada como início da duração. No argumento Data2, a data usada como final. Já o argumento Calendário deve ser utilizado para que a função “saiba” quais dias devem ser considerados como úteis ou não dentro do intervaldo de datas especificado. Se nenhum calendário for especificado, o calendário padrão do projeto será utilizado como referência pela função. Veja o exemplo abaixo:




Uma consideração pessoal: ao invés de utilizar na fórmula o campo Data Atual, vou utilizar o campo Data de Status. Isso porque a Data de Status é um elemento fundamental no processo de atualização do progresso do projeto.

Feitas as considerações, mãos à obra. Na imagem anterior, observe a tarefa 36: ela deveria ter sido concluída (de acordo com o Término da Linha de Base), no dia 26/05/2014. Como a tarefa ainda não foi finalizada, a necessidade é saber a quantidade de dias de desvio entre a data planejada e a data de status.

A primeira coisa a ser feita é iniciar a criação de um novo Campo Personalizado. Se você ainda não tem experiência com a criação de campos personalizados no Microsoft Project, sugiro dar uma conferida nesse post:


Ao começar a criar o campo, selecione o tipo Duração, pois o Project deve entregar-nos os dados nesse formato. Em seguida, Renomeie o campo com um nome de sua preferência; depois disso, clique em Fórmula e adione a seguinte expressão:

IIf([% concluída]=100 Or [Término da linha de base]>[Data de status];0;ProjDateDiff([Término da linha de base];[Data de status]))

A tabela abaixo explica a fórmula de maneira mais detalhada:



Eu renomeei o meu campo personalizado para Desvio Planejamento. Em seguida, defini a Data de Status do meu projeto como 25/07/2014 e, por fim, inseri a coluna que contém o campo personalizado na Tabela de Entrada. O resultado:



Dessa forma é possível visualizar rapidamente que a tarefa 36, que devia ter sido concluída em 26/05/2014, possui um desvio de 41 dias em relação ao dia 25/07/2014. Do mesmo modo, ao avançar o cronograma para o futuro, é possível visualizar que as tarefas que possum o Término da Linha de Base após o dia 25/07/2014 estão sem desvio:


Achei essa maneira de olhar para o cronograma bem interessante, tanto que já passei a incluir essa informação nos meus projetos. E o grande barato é que cada um pode adaptar a fórmula à sua necessidade. Digamos que você não queira encontrar o desvio entre a Data de Status e a Data de Término Planejada, mas sim entre a Data de Status e a Data de Término Atual. Desse modo, basta alterar na fórmula o campo Término da Linha de Base para o campo Término. Você também pode testar com os campos Início e Início da Linha de Base. Enfim, vai de você descobrir a melhor aplicação à fórmula J

Você irá encontrar o arquivo digital deste post para download aqui.

Não se esqueça também de fazer parte do nosso fórum de discussões sobre o Microsoft Project no LinkedIn:


Um abraço e até a próxima!

18 comentários:

  1. Bom dia Raphael.
    Muito boa a dica, vou implementa-la agora.
    Gostaria de saber se existe como alterarmos a linha base utilizada pelo campo "Desvio" nativo do project 2013. Ele sempre pega a linha de base 0 e eu gostaria de alterar para uma outra linha de base que sofreu alterações referentes a linha 0. Existe como fazer isto?
    Obrigado

    ResponderExcluir
    Respostas
    1. Bom dia Evandro,

      Como esse é um campo de sistema, não tem como fazer essa alteração. O que você pode fazer é criar novos campos de desvio e indicar qual a linha de base a qual eles devem se referenciar.

      Abraço!

      Excluir
  2. Certo Raphael, obrigado, foi o que eu fiz seguindo a sua dica.

    Eu estou agora na verdade precisando saber qual o percentual de atraso do projeto como um todo, tem algum artigo ou site que auxilie a elaborar esta métrica?

    Obrigado

    ResponderExcluir
    Respostas
    1. Evandro,

      Tem uma fórmula que acho que pode te ajudar neste post:

      http://www.raphael-santos.net/2013/11/calculando-percentuais-de-desvio-no.html

      Um abraço!

      Excluir
  3. Boa tarde Raphael, estou começando a trabalhar com ms project, mas estou penando para compreender. queria fazer uma planilha de tarefas (não quero usar o gantt). Não consigo configurar algumas colunas. Elas ficam com duração igual, as datas de início ficam igual, o status não fica correto. Tu conhece alguém que monte uma tabela com meu projeto e eu pague por isso? porque eu só fico usando já configurada.

    Dá uma olhada no meu projeto, por favor. segue abaixo.

    A tabela tem 10 colunas, organizados assim:
    Nome da coluna no ms project/ Nome renomeado/ Objetivo da coluna

    Segue abaixo o objetivo de cada coluna:
    Coluna 1: Nome da tarefa / Ação/ A
    Coluna 2: Duração/ Duração planejada/ intervalo entre o término da linha de base e o início da linha de base
    Coluna 3: Início da Linha de Base/ Prazo de início/ data planejada para início da tarefa
    Coluna 4: Término da linha de base/ Prazo de término/ data planejada para término da tarefa
    Coluna 5: Duração1/ Duração ajustada/ intervalo entre o término ajustado e o início ajustado
    Coluna 6: Início real/ Prazo de início ajustado/data ajustada para início da tarefa
    Coluna 7: Término real/ Prazo de término ajustado/ data ajustada para término da tarefa
    Coluna 8: Término1/ Data de execução/ data de execução (dia que foi executada exatamente)
    Coluna 9: % concluída/ % conclusão/ se boto 0% o status ou fica no prazo, atrasada, ou tarefa futura. Se 100% fica concluída
    Coluna 10: Status/ Status/ o status pode estar ligado ao término planejado e ao término ajustado ao mesmo tempo? Oi tenho que inserir uma coluna de término como fiz (data de execuçã) para ligar o status a ela como fim para dar como concluída a tarefa?
    Coluna 11: Nomes dos recursos/ Responsáveis/ Pessoas responsáveis pela ação

    abraço e agradeço desde já.

    ResponderExcluir
    Respostas
    1. Olá Pauline.

      Não seria mais recomendável você realizar um treinamento, mesmo que inicial, para ter um melhor conhecimento dos conceitos básicos do Project?

      É muito importante que você conheça o conceito por trás de cada coluna, de modo a entender o seu funcionamento e como utilizá-la corretamente.

      O que acha?

      Excluir
  4. Raphael, boa tarde!

    Muito boa a dica, já inseri no meu cronograma e deu certo. Porém, estou com uma dúvida. Na janela para inserir a fórmula, qual das opções para as tarefas resumo eu seleciono, média?

    Obrigado!

    ResponderExcluir
    Respostas
    1. Olá amigo. O ideal, neste caso, é marcar a opção 'Usar Fórmula', para que o mesmo cálculo seja utilizado pelas linhas de resumo do projeto.

      Um abraço!

      Excluir
  5. Utilizando como referencia a data de status ficou ok o tempo de atraso, porem ao utilizar a data atual, o valor não esta correto. Alguma explicação em relação a isso? Grato

    ResponderExcluir
  6. Fala Rafael,
    muito bom seu post.
    Como faço para calcular o número de dias úteis entre duas datas (INÍCIO e TÉRMINO).
    Obrigado.

    ResponderExcluir
    Respostas
    1. Olá Daniel,

      Só para constar, você já resolveu o problema, certo?

      Abraço!

      Excluir
  7. Rafael, tudo bem?
    Estou com um problema e talvez possa me ajudar. Minha coluna de % Concluída está dando um percentual muito maior (em torno de 20%) em relação ao Planejado. Porém, essa não é nem de longe a realidade do projeto. Existe alguma fórmula que posso usar para substituir o cálculo automático do project?
    Obrigado

    ResponderExcluir
    Respostas
    1. Olá Leonardo. Você criou alguma fórmula personalizada que calcula o % Planejado? Se sim, então talvez seja melhor rever os critérios de cálculo da fórmula, pois não é possível modificar o cálculo realizado pelo Project.

      Boa sorte!

      Excluir
  8. Estou com tarefas concluídas antes do prazo, porém minha % concluída está atrasada em relação ao planejado, como resolvo isso?

    ResponderExcluir
  9. Boa tarde,
    Como faço para calcular o número de dias úteis entre duas datas (hoje e por exemplo final do ano 2017).
    Obrigado

    ResponderExcluir
    Respostas
    1. Olá amigo,

      Não entendi a sua pergunta. Você se refere ao número de dias úteis no Excel ou no Project?

      Se for no Project, imagino que você iria precisar comparar a data atual com alguma data relacionada às tarefas do cronograma (por exemplo, Início ou Término).

      Pode ajudar a esclarecer um pouco mais a sua necessidade?

      Obrigado!

      Excluir
  10. Olá Raphael!
    Fiz a formula, mas não usando a data de status, mas sim a data de término da linha base 1 comparando a data de Término, meu objetivo é comparar o planejamento atual com o planejamento previsto no mês passado (que salvei como linha de base 1). Porém a formula está retornando #ERRO. E não consigo descobrir o que ocorre. tem alguma sugestão? obrigado.

    ResponderExcluir