Alocação de Recursos Humanos – Parte 3

9 12 2010

Previamente, discutimos o problema de alocação de recursos humanos em projetos de engenharia de software e entramos em detalhes sobre as restrições mais comuns existentes em empresas de Tecnologia da Informação(TI).

Agora prosseguimos nossa série falando sobre métodos que utilizam Programação Linear(PL).

Programação Linear é utilizada para resolver problemas práticos de maximização ou minimização de uma função, sujeita a um conjunto de restrições que podem ser expressos sob a forma de equações ou inequações lineares.

Para uma solução em PL, é necessário definir as equações(ou inequações) que regem as restrições.

O uso de programação linear na abordagem do problema de alocação de recursos humanos é restrito, pois essa abordagem teria um tempo de computação alto, para casos mais complexos.

Um modelo muito interessante pode ser encontrado no artigo científico Otimização da Alocação de profissionais em Projetos de Tecnologia da Informação. Nele, os autores propõem um modelo de otimização utilizando programação linear. Observa-se como vantagem dessa escolha a simplicidade de implementação do método de apoio, só sendo necessário definir as restrições e suas respectivas variáveis.

Para isso, é necessária uma avaliação do perfil da empresa, investigando tanto sua estrutura hierárquica, como seus recursos e limitações. Também é necessário definir equações para cada restrição. Perceba que esse método é um método formal.

Os passos tomados para determinar o modelo matemático não serão abordados aqui.

Por fim, o método sugerido obtém resultados satisfatórios ao ser aplicado numa instituição com 17 funcionários e 3 projetos simultâneos. Perceba que esta é uma instituição de pequeno porte. Infelizmente, o software final não foi executado para uma empresa de grande porte para podermos comparar os resultados.

 

No próximo post de nossa série, iremos abordar métodos baseados em SBSE(Search-based Software Engineering). Até lá.

Previamente, discutimos o problema de alocação de recursos humanos em projetos de engenharia de software e entramos em detalhes sobre as restrições mais comuns existentes em empresas de Tecnologia da Informação(TI).

 

Agora prosseguimos nossa série falando sobre métodos que utilizam Programação Linear(PL).

 

Programação Linear é utilizada para resolver problemas práticos de maximização ou minimização de uma função, sujeita a um conjunto de restrições que podem ser expressos sob a forma de equações ou inequações lineares.

 

Para uma solução em PL, é necessário definir as equações(ou inequações) que regem as restrições.

O uso de programação linear na abordagem do problema de alocação de recursos humanos é restrito, pois essa abordagem teria um tempo de computação alto, para casos mais complexos.

Um modelo muito interessante pode ser encontrado no artigo científico Otimização da Alocação de profissionais em Projetos de Tecnologia da Informação. Nele, os autores propõem um modelo de otimização utilizando programação linear. Observa-se como vantagem dessa escolha a simplicidade de implementação do método de apoio, só sendo necessário definir as restrições e suas respectivas variáveis.

Para isso, é necessária uma avaliação do perfil da empresa, investigando tanto sua estrutura hierárquica, como seus recursos e limitações. Também é necessário definir equações para cada restrição. Perceba que esse método é um método formal.[http://pt.wikipedia.org/wiki/M%C3%A9todos_formais]

Os passos tomados para determinar o modelo matemático não serão abordados aqui.

Por fim, o método sugerido obtém resultados satisfatórios ao ser aplicado numa instituição com 17 funcionários e 3 projetos simultâneos. Perceba que esta é uma instituição de pequeno porte. Infelizmente, o software final não foi executado para uma empresa de grande porte para podermos comparar os resultados.

 

No próximo post de nossa série, iremos abordar métodos baseados em SBSE(Search-based Software Engineering). Até lá.





Alocação de Recursos Humanos – Parte 2

7 12 2010

Continuando nossa série sobre Alocação de recursos humanos, vamos falar um pouco mais sobre restrições.

Vamos recapitular um trecho sobre restrições, retirado do primeiro artigo dessa série:

“As restrições de alocação de recursos humanos em projetos de engenharia de software podem ter natureza impeditiva, ou seja, sua violação torna a solução inviável, ou não-impeditiva, ou seja, deve ser respeitada para obter-se a solução ideal ao problema proposto, porém, o não cumprimento da mesma ainda produz uma solução válida.”

A identificação e classificação de restrições consiste numa das mais complexas e importantes atividades da gerência de projetos, visto que uma identificação errônea dos problemas a serem enfrentados pela abordagem, metódica ou não, pode gerar problemas nas etapas finais, onde será constatado que a distribuição ideal obtida não está devidamente otimizada ou até mesmo que não pode ser aplicada na prática.

Identificamos as restrições mais comuns à instituições de TI:

Profissionais disponíveis:  Dentro de um projeto de engenharia de software, existe um número mínimo de funcionários necessários para atendé-lo. É uma restrição impeditiva, pois não é possível executar um projeto caso não haja disponibilidade de funcionários capacitados para exercer as funções necessárias.

Carga horária:  Indica a carga horária que determinado funcionário está à disposição da instituição. É impeditiva, pois após o cumprimento da carga, o funcionário não está disponível.

Alocação mínima:  Visto que um funcionário pode estar envolvido em mais de um projeto dentro de um mesmo período, se faz necessário determinar o envolvimento mínimo que será exigido dele no projeto, para determinar se ele está apto à participar do mesmo. É impeditiva, pois caso não seja respeitada, causará uma alocação do funcionário excedente à sua carga horária.

Políticas:  Cada funcionário possui um determinado grau de afinidade com cada um dos outros funcionários. Essa restrição também considera desempenhos prévios e quais agrupamentos são mais tradicionais. É uma restrição não-impeditiva, pois os funcionários são vistos como recursos humanos, e estão ali em prol da instituição. Por esse motivo, e dada a sua complexidade, tanto pela dificuldade de representação, quanto pelo número de variáveis que a compoem, essa restrição é comumente deixada de fora dos metódos de otimização, sendo aplicada, se possível,  pelo gerente de projetos após apresentadas as distribuições obtidas.

Agora que temos uma visão geral do problema, suas maiores impedâncias e as peculiaridades de suas variáveis(restrições), iremos começar à analisar alguns métodos propostos, a partir do próximo post, começando por Programação Linear.

Não perca!