Olá pessoal,
Há um bom tempo venho ensaiando um post sobre as boas
práticas para aplicação da técnica de nivelamento de recursos no Microsoft
Project. Mesmo sendo uma das funcionalidades mais importantes do software, ela
ainda é pouco compreendida pelos gerentes de projeto em geral – então, acredito
que este seja um momento oportuno para falar sobre isso.
Para facilitar um pouco as coisas, achei uma boa ideia
fazer mais um post da série “guest post”,
onde trazemos aqui a tradução de um post/artigo já publicado por um
profissional com extenso conhecimento e experiência na utilização do Microsoft
Project. Nesse episódio, mais uma vez trazemos um convidado europeu – mais
precisamente, um dinamarquês com residência em Phoenix, nos Estados Unidos: vou
utilizar como referência um post publicado em 2014 pelo CEO da Sensei Project
Solutions, empresa na qual trabalho, Kenneth Steiness. Kenneth é
um dos mais renomados ‘scheduling masters’
do mercado, com uma bagagem de mais de 20 anos no campo do gerenciamento de
projetos, possuindo também uma série de livros publicados, treinamentos e
apresentações/palestras ao longo de todos os Estados Unidos e Europa.
Aqui, gostaria de deixar uma notificação: este post
utiliza, em sua grande parte, a base do artigo publicado pelo Kenneth há cerca
de 3 anos. Entretanto, tomei a liberdade de fazer pequenos ajustes e também de
inserir comentários e observações pessoais para enriquecer este post. O post
original pode ser lido aqui.
Entendendo o nivelamento de
recursos
Como foi possível verificar, antes do nivelamento o recurso
Arthur Mamede estava superalocado na segunda e terça-feira, uma vez que possuía
16 horas de atribuição nesses dois dias. O processo de nivelamento moveu a
segunda tarefa para os dias seguintes do cronograma onde havia disponibilidade
de trabalho por parte do Arthur.
O modo de exibição Gráfico de Recursos também oferece uma boa opção para visualizar os recursos superalocados:
Ao utilizar o nivelamento de recursos para resolver os problemas de superalocação nos seus cronogramas, é importante que os gerentes de projeto entendam alguns conceitos importantes de como o Microsoft Project efetua alguns cálculos internamente:
- Unidades Máximas: trata-se da porcentagem (ou capacidade) máxima em que o recurso está disponível para executar atividades em um projeto. Quando um novo recurso é cadastrado no Microsoft Project, sua capacidade padrão será de 100%, o que significa que este recurso estará disponível para trabalhar 8 horas por dia nas tarefas do cronograma (considerando aqui as configurações padrão do software). Caso um determinado recurso seja incluído na equipe do projeto com uma capacidade limitada (exemplo: o recurso está autorizado a dedicar apenas 4 horas do seu dia para trabalhar no projeto), então o gerente de projetos poderá alterar suas unidades máximas para 50%;
- Unidades de Atribuição: este campo armazena as informações referentes a porcentagem de alocação dos recursos atribuídos às tarefas. Caso a atribuição seja realizada de maneira padrão (sem modificações), o valor deste campo será semelhante às unidades máximas definidas para o recurso. Porém, durante a realização das atribuições, o gerente de projetos poderá definir um valor diferente (exemplo: um recurso é cadastrado com as unidades máximas a 100%; entretanto, em uma determinada tarefa, será necessário que este recurso dedique apenas metade do seu tempo para entregá-la e, sendo assim, a unidade de atribuição pode ser definida para 50% neste caso). É importante ressaltar que este campo não é modificado durante o processo de nivelamento, então é importante garantir que este campo nunca seja maior do que as unidades máximas definidas para o recurso;
- Pico: representa a porcentagem máxima de unidades atribuídas a um recurso para tarefas conforme a distribuição ao longo do tempo. Se um determinado recurso está atribuído a duas tarefas, de segunda a quarta feira, sendo que na Tarefa1 as unidades de atribuição são de 50% e na Tarefa2 25%, então o pico para este recurso será de 75% para cada um dos dias em que as tarefas ocorrem em paralelo.
Configurações do nivelamento de recursos
Para que você possa aproveitar ao máximo as
funcionalidades que o nivelamento de recursos oferece, é importante conhecer os
recursos disponíveis. Para isso, no menu Recurso
da Faixa de Opções, clique em Opções de
Nivelamento:
O Microsoft Project
irá exibir a caixa de diálogo Nivelamento
de Recursos, que apresenta as seguintes opções:
- Automática versus Manual: em poucas palavras, esta opção é responsável por determinar quando o nivelamento de recursos deve ocorrer. Quando a opção Automática está selecionada, o Microsoft Project irá realizar o nivelamento dos recursos toda vez que haja uma mudança no cronograma (e caso essa mudança gere uma superalocação). Como é possível imaginar, manter a opção automática selecionada não é o mais recomendado. Já a opção Manual garante um maior controle sobre a utilização do nivelamento de recursos, já que permite que você determine quando e quais recursos (ou tarefas) devem ser nivelados;
- Procurar superalocações em uma...: esta opção indica a unidade de medida que deverá ser analisada para que o Microsoft Project encontre uma superalocação. Considerando um cenário padrão, no qual os recursos trabalham 8 horas por dia, a opção ‘diariamente’ irá definir um recurso como superalocado sempre que o total de atribuições for superior a 8 horas, dia-a-dia (exemplo: suponha que um determinado recurso esteja atribuído a duas tarefas de 6 horas no mesmo dia; neste caso, ele será considerado superalocado, já que o montante de horas – 12 – é superior à sua capacidade diária – 8); já a opção ‘semanalmente’ irá considerar o recurso superalocado apenas quando o total de atribuições na semana for superior a 40 horas (para ilustrar este cenário, vamos utilizar o mesmo exemplo anterior: um recurso que possua duas atribuições de 6 horas no mesmo dia não seria considerado superalocado, uma vez que o total de horas – 12 – é inferior à sua capacidade semanal – 40);
- Limpar nivelamentos anteriores: esta opção, caso selecionada, irá garantir que cada ação de nivelamento seja iniciada sem levar em consideração nivelamentos realizados anteriormente;
- Intervalo de nivelamento: através desta opção você poderá determinar se deseja nivelar o projeto inteiro ou se deseja se concentrar nos problemas de superalocação encontrados em um determinado período do cronograma;
- Ordem de nivelamento: esta opção determina em qual ordem o Microsoft Project deve realizar o nivelamento dos recursos. As opções são: 1) Número da tarefa: através desta opção, o software irá levar em consideração a maneira como as tarefas estão organizadas no cronograma, ou seja, sua sequência, para nivelar os recursos superalocados; 2) Padrão: caso este seja a opção selecionada, o software irá examinar os seguintes critérios de acordo com a ordem em que eles estão listados para que possa determinar quais ações a serem tomadas em tarefas que possuam recursos superalocados: a) A relação de vínculos (predecessoras e sucessoras); b) a margem de atraso das tarefas (ou seja, por quanto tempo a tarefa pode ser atrasada sem que atrase a data final do projeto); c) Datas de Início e Término das tarefas; d) Prioridades das tarefas; e) Restrições das tarefas. 3) Prioridade, Padrão: finalmente, a terceira opção disponível para determinar a ordem de nivelamento das tarefas utiliza os mesmos métodos da opção anterior, com a diferença de que o critério Prioridade da tarefa será alçado à condição de primeiro critério a ser analisado. Dessa maneira, as tarefas que possuírem menor prioridade serão sempre niveladas antes daquelas que possuírem maior prioridade. Já falamos aqui no blog sobre como determinar a prioridade de uma tarefa – você pode visitar este link caso queira saber mais;
- Nivelar sem atrasar o projeto: esta opção, caso selecionada, tentará resolver os problemas de superalocação até o ponto em que a movimentação das tarefas no cronograma não ultrapasse a data final do projeto;
- O nivelamento pode ajustar atribuições individuais em uma tarefa: ao selecionar esta opção, você está dizendo ao Microsoft Project que irá permitir que a as datas de início das tarefas poderão sofrer alterações de acordo com a disponibilidade dos recursos. Isso significa dizer que tarefas agendadas para iniciar ao mesmo tempo podem ser agendadas para começar em diferentes datas, a depender da disponibilidade do recurso. Além disso, caso haja mais do que um recurso atribuído à tarefa, esta opção irá permitir que uma pessoa inicie o trabalho enquanto a outra apenas comece a trabalhar quando estiver disponível;
- O nivelamento pode causar interrupções no trabalho restante: esta opção determina que uma tarefa pode ser interrompida para que outra tarefa seja realizada (por exemplo, quando uma tarefa que já foi iniciada possui menos prioridade em relação a uma outra tarefa que será iniciada em breve). Dessa maneira, a tarefa anterior (com menos prioridade), poderá ser interrompida e então continuada em um outro período, quando houver disponibilidade do recurso;
- Nivelar recursos com o tipo de reserva proposto: o Microsoft Project permite que os gerentes de projeto indiquem se a atribuição realizada a um determinado recurso está proposta (ou seja, ainda não foi confirmada) ou comprometida (ou seja, já está confirmada). O padrão do software é sempre definido com comprometida, então você deverá se preocupar apenas caso tenha modificado este padrão;
- Nivelar tarefas agendadas manualmente: através desta opção você poderá definir se deseja que o nivelamento de recursos leve também em consideração as tarefas agendadas manualmente.
Após discutir cada um dos itens disponíveis nas opções de
nivelamento, vale a pena destacar quais as boas práticas que devem ser levadas
em consideração para que esta funcionalidade seja utilizada de maneira
adequada.
A princípio é preferível sempre manter
selecionada a opção de nivelamento de cálculos em ‘manual’, afim de se ter um maior controle sobre quando o Microsoft
Project deve exercer o nivelamento dos recursos. Em seguida, a opção
recomendada para a procura por superalocações é sempre “diariamente”, uma vez que a verificação demanda x capacidade deve
sempre ocorrer na menor escala de tempo disponível. Em terceiro lugar, outra
opção recomendada é de que sempre se defina a ordem de nivelamento como ‘Prioridade, Padrão’, pois assim é
possível definir as tarefas prioritárias do cronograma e deixar que o Microsoft
Project efetue a movimentação nas tarefas restantes. Por fim, as opções
restantes devem ser controladas de acordo com as características do projeto no
qual se está trabalhando, e levando-se em consideração o cenário atual.
Opções adicionais do nivelamento
Antes de nivelar os recursos superalocados do
seu cronograma, você precisa conhecer as opções disponibilizadas pelo Microsoft
Project. Ao navegar na Faixa de Opções, a seção Nível oferece os seguintes recursos:
- Nivelar Seleção: caso você selecione duas ou mais tarefas que possuem superalocação, esta opção irá realizar o nivelamento das tarefas selecionadas;
- Nivelar Recursos: esta opção permite que você especifique quais os recursos para os quais deseja realizar o nivelamento;
- Nivelar Tudo: como o próprio nome sugere, esta opção aplica o nivelamento a todo o projeto, sem distinção de tarefas ou recursos;
- Opções de Nivelamento: permite que você determine as configurações que devem ser consideradas pelo Microsoft Project ao realizar o nivelamento dos recursos, conforme visto anteriormente;
- Limpar Nivelamento: caso você tenha realizado o nivelamento dos recursos e tenha de voltar ao estado anterior, esta opção irá limpar os nivelamentos aplicados;
- Próxima Superalocação: esta opção irá posiciona-lo na próxima linha em que haja uma superalocação de recursos.
Nivelando recursos
Para iniciar o trabalho prático de nivelamento
de recursos, vamos usar como exemplo o cronograma abaixo:
Neste cronograma é
possível identificar as seguintes superalocações:
- O recurso Daniel está superalocado pois há conflito nas
tarefas ‘Configurar o workflow
personalizado’ e ‘Fazer upload dos
projetos piloto’
- O recurso Melissa está superalocado pois há conflito nas
tarefas ‘Treinamento para Membros de
Equipe’ e ‘Treinamento para Gerentes
de Projeto’
- Novamente podemos identificar uma superalocação para o
recurso Daniel, em virtude do conflito existente nas tarefas ‘Treinamento para Administradores’ e ‘Prover Suporte aos usuários do Project
Online’
Para que seja
possível explorar de maneira detalhada o nivelamento de recursos, de modo a
entender quais ações são realizadas pelo Microsoft Project na medida em que a
resolução de conflitos é aplicada, iremos trabalhar com cada conflito
individualmente. Em primeiro lugar, vamos definir os parâmetros que o software
deverá levar em consideração através do recurso Opções de Nivelamento. Na seção Solucionando superalocações, as seguintes opções deverão ser
definidas:
- Ordem de nivelamento: esta opção deverá ser definida como Prioridade, Padrão;
- Em seguida, selecione também a opção Nivelar sem atrasar o projeto, para que o Microsoft Project tente resolver os conflitos sem alterar a data final do cronograma;
- Em seguida, certifique-se de que as opções O nivelamento pode ajustar atribuições individuais de uma tarefa e O nivelamento pode criar interrupções no trabalho restante estão selecionadas.
Clique OK. Em seguida, selecione as tarefas ‘Configurar o workflow personalizado’ e ‘Fazer upload dos projetos piloto’, ambas
atribuídas ao recurso Daniel, e clique em Nivelar
Seleção. Você irá receber uma mensagem de alerta:
O que isso significa?
Basicamente, o Microsoft Project não foi capaz de resolver o conflito existente
nas duas tarefas niveladas, pois não foi possível move-las sem afetar a data
final do projeto. Clique em Ignorar
para visualizar o resultado (perceba que, mesmo após o nivelamento, o recurso
Daniel continua superalocado):
Já que não é possível
resolver o conflito sem atrasar o projeto, clique novamente em Opções de Nivelamento e, em seguida,
desmarque a opção Nivelar sem atrasar o
projeto. Clique OK. Em seguida,
ainda com as duas tarefas selecionadas, clique novamente em Nivelar Seleção. Você irá agora
perceber que a tarefa Configurar o
workflow personalizado foi movida, e que o conflito existente foi então
resolvido:
Para que seja
possível visualizar de maneira mais abrangente as modificações realizadas pelo
Microsoft Project quando do nivelamento dos recursos, você pode modificar o
Modo de Exibição para Gantt de
Nivelamento:
Perceba que as barras marrons representam o estado anterior
das tarefas (ou seja, as datas de início e término antes do nivelamento),
enquanto as barras azuis demonstram o estado atual das tarefas após o
nivelamento.
Estabelecendo prioridade para as
tarefas
Vamos agora resolver o próximo conflito, que
está acontecendo com o recurso Melissa. Selecione as tarefas ‘Treinamento para Membros de Equipe’ e ‘Treinamento para Gerentes de Projeto’ e,
em seguida, clique em Nivelar Seleção.
Perceba que o Microsoft Project moveu a tarefa ‘Treinamento para Membros de Equipe’ para resolver o conflito
existente:
Porém, neste caso, imagine que a lógica de sequenciamento
das tarefas foi quebrada: o treinamento para membros de equipe deveria vir
antes do treinamento para gerentes de projeto. Para que seja possível resolver
esta situação, você deverá estabelecer prioridades diferentes entre as tarefas,
de modo a determinar que o treinamento para membros de equipe possui prioridade
superior ao treinamento para gerentes de projeto. Para entender de maneira
detalhada como o Microsoft Project utiliza a prioridade para determinar a
importância das tarefas do cronograma, você poderá visitar este post.
Porém, antes de estabelecer a prioridade das tarefas, é
preciso limpar o resultado do nivelamento anterior. Ainda com as tarefas que
foram niveladas selecionadas, clique em Limpar
Nivelamento e escolha a opção Tarefas
Selecionadas. Isso fará com que as tarefas ‘Treinamento para Membros de Equipe’ e ‘Treinamento para Gerentes de Projeto’ retornem ao seu estado
anterior.
Agora, como sabemos que o treinamento para
membros de equipe possui maior prioridade se comparado com o treinamento para
gerentes de projeto, será necessário modificar a prioridade dessa tarefa. Para
isso, efetue duplo-clique na tarefa ‘Treinamento
para Membros de Equipe’ e defina o valor da opção Prioridade para 600. Clique OK.
Em seguida, selecione as duas tarefas (‘Treinamento
para Membros de Equipe’ e ‘Treinamento
para Gerentes de Projeto’) e clique em Nivelar
Seleção. Dessa vez, o Microsoft Project moveu a tarefa adequada (‘Treinamento para Gerentes de Projeto’),
uma vez que ela possui menor prioridade:
Nivelamento com interrupções
Outro tópico muito interessante referente ao
nivelamento de recursos está relacionado à interrupção do trabalho existente em
uma tarefa que está em andamento. Ao avaliar o próximo conflito, é possível
identificar que o recurso Daniel está trabalhando em duas tarefas (‘Treinamento para administradores’ e ‘Prover suporte aos usuários do Project
Online’) que não estão iniciando na mesma data. A princípio, o recurso
inicia o trabalho de prover suporte aos usuários do Project Online e então, quando
esta tarefa já está em andamento, ele deve iniciar o treinamento aos
administradores:
Neste caso, suponha que o treinamento aos administradores
terá maior prioridade em relação ao suporte, de modo que quando o treinamento
for iniciado todo o trabalho de suporte deverá ser interrompido
temporariamente. Para que as configurações sejam realizadas de maneira
adequada, efetue duplo-clique na tarefa ‘Treinamento
para Administradores’ e aumente a sua prioridade. Em seguida, é importante
lembrar que, nas configurações do nivelamento, foi definido que O nivelamento pode criar interrupções no
trabalho restante – o que significa que uma tarefa poderá ser interrompida
quando houver um conflito na qual ela possua menor prioridade.
Uma vez realizadas as configurações devidas,
selecione as duas tarefas (‘Treinamento
para Administradores’ e ‘Prover
suporte aos usuários do Project Online’) e clique em Nivelar Seleção. Perceba que o suporte aos usuários do Project
Online teve de ser interrompido para que o recurso Daniel pudesse entregar o
treinamento aos administradores do Project Online:
Conclusão
Como você pôde ver, o nivelamento de recursos é uma
funcionalidade muito poderosa e, se bem utilizada, oferece uma ajuda valiosa na
construção de um cronograma realístico, enquanto garante que os recursos são
atribuídos de maneira correta às tarefas.
Downloads & Links
Caso você queira aprofundar o seu conhecimento neste
tópico, gostaria de compartilhar alguns links e downloads:
Neste link você pode baixar o arquivo digital PDF deste post na
íntegra.
Aqui
você pode baixar o cronograma utilizado neste exemplo, caso queira testar os
cenários propostos.
Finalmente, aqui
você pode encontrar um excelente post técnico da Microsoft que trata do nivelamento
de recursos.
.................................................................................................................
Espero que você tenha achado este post útil.
Um abraço e até a próxima!
Este comentário foi removido pelo autor.
ResponderExcluirBom dia, Raphael.
ResponderExcluirEu queria saber como fazer o MS Project entender que ao final de certas tarefas eu posso relocar os recursos para tarefas já iniciadas e minimizar as subalocações?
Por exemplo, na minha obra eu tenho disponível 2 marceneiros. Eu tenho então duas atividades que não dependem um da outra e que portanto podem ser desenvolvidas ao mesmo tempo: tapume da obra e a locação da obra.
Meu tapume da obra tem duração de 20 h e a minha locação da obra tem 16 h. Um marceneiro vai trabalhar nas 20 h do tapume e o outro nas 16 h da locação. Dá pra perceber que, ao final da locação da obra, eu posso levar meu marceneiro para finalizar o tapume junto com o outro marceneiro e, assim, diminuir um pouco a duração da tarefa tapume. Então, após finalizada a locação, eu poderia trabalhar com 2 marceneiros nas últimos 4 h de tapume, o que faria minha duração final diminuir pela metade. Ou seja, o tapume levaria 16 h com um marceneiro e mais 2 h com dois marceneiros. O trabalho no tapume seria 20 hh, mas a duração seria 18 h.
Eu já pesquisei muito e não achei como fazer o MS project entender que eu posso fazer esse "pool" de recursos entre tarefas de um mesmo projeto. Você saberia me ajudar? O problema no meu projeto são subalocações e não superalocações. Esse tipo de situação está gerando muitas subalocações no meu projeto, praticamente diariamente.
Fala Fiúza, tudo bem?
ExcluirCara, muito boa a sua pergunta. Eu desconheço qualquer funcionalidade no Project que enxergue subalocações nas tarefas para, então, otimizar a alocação dos recursos.
Em um cenário como o seu, dependerá muito mais da intervenção manual do gerente de projetos (acredito que você) para a identificação dessas subalocações e subsquente resolução do problema através da atribuição dos recursos às tarefas.
Uma alternativa que você pode testar é a utilização de Modos de Exibição diferentes (como por exemplo o 'Uso das Tarefas' ou 'Uso dos Recursos'), uma vez que esses modos de exibição organizam e agrupam as informações de alocação de uma maneira que fique mais simples a identificação de gargalos (superalocações) ou oportunidades (subalocações).
Os gráficos de alocação de recursos também podem ser bons aliados nesta tarefa.
Espero que tenha ajudado (mesmo que um pouco apenas).
Forte abraço!
Entendi. Eu uso todas os formulários e modos de visualização do project. Já até tentei usar recursos genéricos, mas não resolveu meu problema. Mas de qualquer maneira, muito obrigado! Vou tentar ajustar manualmente.
ExcluirParabéns pelo seu blog, muito conteúdo bom aqui!
Abraço
Eu é que agradeço Fiúza.
ExcluirDeixo o convite para você seguir a minha página (facebook.com/raphaelsantosnet) e no YouTube (youtube.com/c/raphaelsantosnet) pois sempre procuro compartilhar informações relevantes por lá.
Abração!
Olá Raphael, primeiramente parabens pelo produto aqui prestado.
ResponderExcluirGostaria de solicitar seu apoio na elaboração de um post sobre Pool de Recursos, acredito que seria bom para todos que te acompanham e que trabalhão com Cronograma Integrados. Abraço
Meu amigo, tudo bem? deixa eu te perguntar uma coisa, vc sabe alguma maneira de fazer alocação dinâmica de recursos no project? Será que é possível fazer?? por exemplo, eu tenho 40 desenvolvimentos de programas e meia duzia de programadores... a medida que cada programador for finalizando um desenvolvimento, ele já pega outro programa pra fazer e assim por diante. TEm alguma ideia de como resolver isso? Obrigado e boa noite!
ResponderExcluirOlá Mauricio, como vai? Olha, eu desconheço essa possibilidade.
ExcluirSe você estiver usando uma plataforma PPM como o Project Online, é possível que cada indivíduo se auto-atribua a uma tarefa, de acordo com sua disponibilidade. Mas diretamente no Microsoft Project eu não acredito ser possível.
Abs!
Opa Raphael amigo tudo bem? Obrigado pela resposta... só vim aqui te dizer que consegui resolver meu problema, mas usando um artifício: Criei Recursos com o nome "ProgramadorTipo1" e "ProgramadorTipo2" e atribui 200%, 300% de utilização para cada um. Para o meu propósito, deu certo!! o único problema é que não dá pra medir a produtividade de cada um, mas não se pode ter tudo nessa vida. rsrs Abraços!
ExcluirBoa, Mauricio!
ResponderExcluir