• Nenhum resultado encontrado

4. MODELOS DE PREVISÃO PARA RECURSOS

4.3 Experimentos para definição de estimativas

4.3.5 Método de Suavização Exponencial com Taxa de Resposta

O último experimento deste ciclo foi realizado utilizando o método de suavização exponencial com taxa de resposta, o fator da constante α varia a cada nova observação, essa mudança ocorre quando existe alguma alteração no comportamento dos dados. Esse método também é conhecido como método exponencial adaptativo de Trigg e Leach, (MORETTIN; TOLOI, 2006).

Para iniciar os cálculos, a primeira previsão foi considerada como sendo a primeira observação (P0 = S0), para os cálculos realizados foi fixado o fator β em 0,5. A fórmula completa do método pode ser observada na seção 3.3.4 desse trabalho.

Recurso Humano Tipo de Tarefa Tabela 12 – Dados obtidos do método suavização exponencial c/ taxa de resposta

75 O cenário utilizado no experimento é o mesmo, como nas análises anteriores, a coluna que muda é a coluna referente ao valor estimado, que nessa análise foi preenchida com os cálculos do método de suavização exponencial com taxa de resposta (Tabela 12).

Nas colunas quatro, cinco e seis temos as informações dos erros, seguindo o mesmo conceito já utilizado nos experimentos anteriores. Como pode ser observado, o somatório dos erros para o recurso RC2 no projeto PJ04 totalizou 88,82horas, levando em consideração todas as atividades por ele desempenhadas neste projeto.

O Gráfico 05 ilustra os erros do método de suavização com taxa de resposta. De azul tem-se a quantidade de horas estimadas via método de suavização com taxa de resposta para realizar a determinada atividade, em vermelho quanto realmente foi gasto, e em amarelo a representação do erro, diferença entre o estimado e realizado.

O método de suavização exponencial com taxa de resposta faz um novo cálculo do fator α a cada observação. A previsão para um próximo valor nada mais é do que uma combinação linear entre a observação e a previsão do período anterior.

Gráfico 05 – Representação dos erros via método de suavização com taxa de resposta

76

0 20 40 60 80 100 120 140 160

Método Atual Média Mediana Suav. Exp. Simples Suav. Exp. Simples Tx de Resp

Erro (em horas)

4.4 Análise dos resultados

4.4.1 Análise do recurso RC2

Os dados dos experimentos feitos até então foram colhidos na análise das atividades do recurso RC2, e todas atividades que ele desempenhou no projeto PJ04.

Após concluir esse ciclo de experimentos, muitos resultados podem ser inferidos com os dados colhidos. O Gráfico 06 mostra um resumo, com o valor do erro total da simulação com cada método.

Gráfico 06 – Resumo dos erros do recurso RC2

No Gráfico 06 é exibida uma plotagem onde pode-se observar o resultado dos experimentos para os cinco métodos analisados. Nota-se que entre os três últimos métodos (debaixo para cima), o que é utilizado atualmente pela organização foi o que apresentou pior resultado, com a maior taxa de erro. A método da média móvel apresentou um erro menor e a mediana teve um resultado melhor.

Com relação aos métodos de suavização, como esperado, o método com taxa de resposta apresentou um resultado mais interessante, com uma taxa de erro menor

77 em quase 60% do método de suavização simples. Esse fato pode ser explicado por existir uma curva de aprendizado na execução de atividades do projeto. É esperado que com o passar do tempo, um determinado recurso possa desempenhar uma certa atividade com um tempo mais constante, esse valor deve convergir para um valor aderente a seu fator de produtividade.

Com os resultados alcançados nesse ciclo de experimentos pode-se visualizar que o método atual usado na organização para realizar estimativas é muito deficiente, com a adoção de um modelo de alocação que leve em consideração a base histórica, o planejamento do projeto tem uma maior probabilidade de ser seguido. Diminuindo os riscos provenientes de estimativas falhas, os prazos e custos do projeto tendem a ser melhor controlados, garantindo um maior sucesso dos projetos.

4.4.2 Análise dos demais recursos

Até então todos os experimentos foram realizados com o recurso RC2, como forma de enriquecer esta pesquisa, foi realizado o mesmo ciclo de experimentos para os demais recursos humanos do projeto PJ04. Contemplando assim outros perfis.

Analisa-se a seguir todos os recursos do projeto PJ04:

 RC02 – Luiz Henrique – Coordenador de Projetos (resultado já apresentado)

 RC04 – Rafael Biserra – Analista de Configuração

 RC05 – Juliana Martins – Analista de Qualidade

 RC06 – George Ferreira – Analista de Requisitos

 RC08 – Elvércio Neto – Analista de Testes

 RC11 – Eric silva – Desenvolvedor

78

0 10 20 30 40 50

Método Atual Média Mediana Suav. Exp. Simples Suav. Exp. Simples Tx de Resp

Erro (em horas)

0 10 20 30 40 50 60

Método Atual Média Mediana Suav. Exp. Simples Suav. Exp. Simples Tx de Resp

Erro (em horas)

Nas imagens a seguir, pode-se observar os gráficos dos experimentos realizados com os demais recursos.

Gráfico 07 – Analise das estimativas recurso RC04

Gráfico 08 – Analise das estimativas recurso RC05

79

0 50 100 150 200 250

Método Atual Média Mediana Suav. Exp. Simples Suav. Exp. Simples Tx de Resp

Erro (em horas)

0 20 40 60 80 100

Método Atual Média Mediana Suav. Exp. Simples Suav. Exp. Simples Tx de Resp

Erro (em horas)

Gráfico 09 – Analise das estimativas recurso RC06

Gráfico 10 – Analise das estimativas recurso RC08

80

0 50 100 150 200 250 300

Método Atual Média Mediana Suav. Exp. Simples Suav. Exp. Simples Tx de Resp

Erro (em horas)

Gráfico 11 – Analise das estimativas recurso RC11

Como pode ser observado, o comportamento dos recursos RC04 (Rafael Biserra) e RC05 (Juliana Martins) seguiu a mesma linha da análise já realizada com o recurso RC02. Os métodos que se sobressaíram foram os da mediana seguido do método de suavização com taxa de resposta.

Para os recursos RC06 (George Ferreira), RC08 (Elvércio Neto) e RC11 (Eric Silva) o comportamento foi um pouco diferente. Como pode ser visto, o método de suavização exponencial com taxa de resposta teve o melhor resultado, com menor erro inclusive que o método de mediana.

O perfil desses recursos que apresentaram um comportamento diferente são:

analista de requisitos, analista de testes e desenvolvedor. Fazendo uma análise das atividades desempenhadas por esses profissionais, pode-se notar que eles não possuem uma grande granularidade de tipos diferentes de atividades, em contra partida, eles realizam um número alto de atividades repetitivas.

Com uma quantidade alta de atividades do mesmo tipo, percebe-se que os valores de realização das atividades convergem “mais normalmente” para um valor comum. Esse comportamento, se infere a uma curva de aprendizado, e possibilita que

81 o método de suavização com taxa de resposta tenha um resultado bastante superior aos demais. Isso explica o fato desse método ter se sobressaído para esses recursos.

4.5 Refinamento dos experimentos

Como apresentado nas sessões 4.3 e 4.4 os métodos que apresentaram melhores resultados para cada recurso foram:

• RC02 – Luiz Henrique (Mediana)

• RC04 – Rafael Biserra (Mediana)

• RC05 – Juliana Martins (Mediana)

• RC06 – George Ferreira (Suavização com Taxa de Resposta)

• RC08 – Elvércio Neto (Suavização com Taxa de Resposta)

• RC11 – Eric Silva (Suavização com Taxa de Resposta)

Como forma de buscar resultados ainda melhores, foi feito um estudo para unir os dois métodos que apresentaram os melhores resultados, ou seja, mediana e da suavização exponencial com taxa de resposta.

Nos experimentos iniciais, os valores das estimativas utilizando os métodos de suavização de cada atividade são somados, no final é calculada uma média dessas estimativas para preencher a planilha. Nesse novo ciclo de experimentos, uma nova metodologia de estimativas foi calculada. Todos os valores das estimativas foram ordenados, e o valor escolhido não foi a média dos valores (Equação 3.9), mas sim o valor da mediana (Equação 3.10).

Essa nova metodologia une portanto as técnicas de suavização com taxa de resposta, e a mediana para definir o valor das estimativas. Nos próximos gráficos, podem ser observados os resultados para cada recurso.

82

0 20 40 60 80 100 120 140

Método Atual Média Mediana Suav. Exp. Simples Suav. Exp. Simples Tx de Resp

Erro (em horas)

0 10 20 30 40 50

Método Atual Média Mediana Suav. Exp. Simples Suav. Exp. Simples Tx de Resp

Erro (em horas)

0 10 20 30 40 50 60

Método Atual Média Mediana Suav. Exp. Simples Suav. Exp. Simples Tx de Resp

Erro (em horas)

Gráfico 12 – Segunda analise das estimativas recurso RC02

Gráfico 13 – Segunda analise das estimativas recurso RC04

83

0 50 100 150 200 250

Método Atual Média Mediana Suav. Exp. Simples Suav. Exp. Simples Tx de Resp

Erro (em horas)

0 20 40 60 80 100

Método Atual Média Mediana Suav. Exp. Simples Suav. Exp. Simples Tx de Resp

Erro (em horas)

Gráfico 14 – Segunda analise das estimativas recurso R05

Gráfico 15 – Segunda analise das estimativas recurso R06

Gráfico 16 – Segunda análise das estimativas recurso RC08

84

0 50 100 150 200 250 300

Método Atual Média Mediana Suav. Exp. Simples Suav. Exp. Simples Tx de Resp

Erro (em horas)

Gráfico 17 – Segunda análise das estimativas recurso RC11

Nesse novo ciclo de experimentos, os resultados já encontrados para o método atual, a média e a mediana não foram alterados. A diferença nesse ciclo está nos métodos de suavização, que após o cálculo das estimativas, não mais utiliza a média para apresentar os dados, mas a mediana.

Fica claro, que nesse novo ciclo de experimentos, os métodos de suavização se sobressaem aos demais, em especial o método de suavização com taxa de resposta.

O método de suavização com taxa de resposta como descrito no capítulo 3, faz a cada observação, uma recontagem do fator de suavização, baseado na previsão corrente e na previsão anterior.

Para ilustrar a evolução de todos os cenários analisados, o Tabela 13 mostra os valores dos erros (em horas) dos métodos de previsão analisados. Pode-se observar que o método de suavização com taxa de resposta associado com a Mediana apresentou os menores erros em todos os projetos.

85

Tabela 13– Sumarização dos resultados dos métodos de previsão

86

5. MODELOS DE OTIMIZAÇÃO PARA RECURSOS

No capítulo anterior foram apresentados os resultados da pesquisa com relação as previsões de tempo para as atividades dos projetos. Neste capítulo trata-se do uso de modelos matemáticos para otimização de recursos, seja em um projeto exclusivo (RCPSP) ou em múltiplos projetos (RCMPSP).

Tais modelos servem como alternativa para tomada de decisão na alocação de recursos limitados em projetos, várias pesquisas nesse sentido já foram realizadas e alguns trabalhos relacionados podem ser consultados na seção 2.6 deste documento.

O cenário aqui analisado consiste em uma fábrica de software, onde cada recurso humano possui um perfil diferente. Ou seja, cada recurso tem competências para desempenhar apenas uma parte das atividades e possui afinidade distinta na execução destas atividades.

Para contabilizar os resultados será analisado o parâmetro custo. Confrontam-se os resultados alcançados no uso destes modelos com os custos reais do projeto com recursos humanos. Mostra-se a diferença de custos em diferentes cenários analisados.

5.1 O Problema de alocação de recursos em fábrica de software

Uma fábrica de software normalmente é conduzida por gerentes de projetos, que tem por função a execução dos projetos para entrega dos produtos de softwares.

O objetivo dos gerentes de projetos consistem em entregar o software na qualidade acordada otimizando o uso de seus recursos para concluir o projeto no menor prazo e custo possíveis.

87 A fábrica que será utilizada como fonte de dados para os experimentos é a mesma usada como fonte do estudo de previsões do capítulo quatro. É uma fábrica do estado do Ceará que executa projetos para clientes de todo território brasileiro. A fábrica é formada por uma equipe de quinze recursos humanos, dentre os mais diversos perfis, como: desenvolvedor, analista de requisitos, analista da qualidade, analista de configuração, arquiteto e gerentes de projetos.

A atividade de alocação de recursos é uma atividade realizada de forma manual pelos gerentes de projetos em fábricas de software. A medida que a quantidade de projetos cresce a complexidade em administrar os recursos seguem no mesmo patamar.

5.2 Os Modelos propostos

Conforme visto no capítulo 2, tanto o RCPSP como o RCMPSP são modelos cujo objetivos são distintos, um cenário específico é minimizar os custos com recursos humanos dos projetos. Uma versão do modelo clássico do RCPSP é implementada neste trabalho, onde consideramos o instante de início de cada atividade como sendo um marco importante e que não é alterado pelo modelo. Instanciam-se projetos de uma fábrica de software, para verificar a eficácia do modelo na resolução dos diversos projetos. A seguir avaliamos uma versão do modelo RCPMPSP, considerando o início de cada atividade de cada projeto como marco não alterável, e a seguir avalia-se a aplicação deste em vários projetos executados concomitantemente.

Uma dos parâmetros desses modelos é a que representa o tempo que cada recurso gasta para executar cada atividade do projeto. Para representar essas estimativas de tempo, serão utilizados os dados obtidos com o método considerado mais eficaz, de acordo com os resultados alcançados das previsões descritas no capítulo 4 deste documento.

88 5.2.1 Modelo RCPSP

O modelo RCPSP pode ser instanciado para diferentes cenários, neste trabalho o objetivo foi de alcançar uma alocação que levasse em consideração a heterogeneidade dos recursos humanos. A otimização deve buscar o menor custo com recursos para o projeto, a priorização na alocação deve se basear no custo e afinidade do recurso em desempenhar cada atividade. A formalização do modelo proposto pode ser observada no Quadro 01.

Conjuntos:

I

// Os instantes no horizonte “h” para execução do projeto. (1...h)

R

// Os recursos do projeto. (1...n)

A

// As atividades do projeto. (1...m)

RA (r, a) // Indica os recursos r aptos a desempenhar a atividade a

AI (a, i) // Indica as atividades a alocadas a cada instante i

RAI (r, a, i) // Os recursos r que podem executar a atividade a no instante i

Inicio (a, i) // Indica que a atividade a inicia no instante i

Parâmetros:

Disp(r) // Disponibilidade do recurso r

Custo (r, a) // custo por unidade de tempo para o recurso r executar atividade a Estimativa (r, a) // estimativa de tempo para o recurso r executar atividade a Duração(a) // duração (em dias) da atividade a

Variáveis:

X(r,a) =

M(r,a) = duração em tempo do recurso r realizar a atividade a;

1, se o recurso r é usado para realizar a atividade a;

0, caso contrário.

89 Y(r,a,i)=

Modelo (RCPSP):

// Minimizar o custo do projeto com recursos humanos;

(RCPSP) 𝑀𝑖𝑛𝑖𝑚𝑖𝑧𝑎𝑟 ∑𝑟∈𝑅𝑎∈𝐴𝐶𝑢𝑠𝑡𝑜𝑟,𝑎𝑀𝑟,𝑎 (Eq. 5.1.0) // A alocação de um recurso não pode ultrapassar a sua disponibilidade de tempo;

𝑟,𝑎∈𝑅𝐴𝑀𝑟𝑎 ≤ 𝐷𝑖𝑠𝑝𝑟, ∀𝑟 ∈ 𝑅 (Eq. 5.1.1)

// Para cada atividade em dado instante de tempo somente pode ter um recurso alocado a ela;

(𝑟,𝑎,𝑖)∈𝑅𝐴𝐼𝑌𝑟,𝑎,𝑖≤ 1, ∀(𝑎, 𝑖) ∈ 𝐴𝐼 (Eq. 5.1.2)

// No início da atividade a tem que haver um único recurso r alocado para ela

(𝑟,𝑎)∈𝑅𝐴𝑌𝑟,𝑎,𝑖= 1, ∀ (𝑎, 𝑖) ∈ 𝐼𝑛𝑖𝑐𝑖𝑜 (Eq. 5.1.3)

// Uma atividade uma vez iniciada com certo recurso r tem que ir até o final com ele

∑ 𝑌𝑟,𝑎,𝑖

(𝑎,𝑖)∈𝐴𝐼

≤ 𝑀𝑟𝑎, ∀(𝑟, 𝑎) ∈ 𝑅𝐴, (Eq. 5.1.4)

𝐸𝑠𝑡𝑖𝑚𝑎𝑡𝑖𝑣𝑎𝑟,𝑎 𝑋𝑟,𝑎 ≤ 𝑀𝑟,𝑎≤ 𝐷𝑢𝑟𝑎𝑐𝑎𝑜𝑎 𝑋𝑟,𝑎, ∀(𝑟, 𝑎) ∈ 𝑅𝐴, (Eq. 5.1.5) // As variáveis de decisão são binárias

𝑋𝑟,𝑎 ∈ {0,1}, ∀(𝑟, 𝑎) ∈ 𝑅𝐴, (Eq. 5.1.6) 𝑌𝑟,𝑎,𝑖∈ {0,1}, ∀(𝑟, 𝑎, 𝑖) ∈ 𝑅𝐴𝐼, (Eq. 5.1.7)

Quadro 01 – Modelo proposto para o RCPSP

Como pode ser observado no Quadro 01, o modelo representa os instantes de tempo de duração do projeto, as atividades a serem desempenhadas e os recursos disponíveis para execução das atividades. Respectivamente os conjuntos I, R e A.

Buscando otimizar e automatizar o processo de alocação, foi definido no modelo o conjunto RA. Esse conjunto associa para cada par ordenado de recurso/atividade o custo e estimativa de tempo necessário para aquele recurso

1, se o recurso r é usado para realizar a atividade a no instante i;

0, caso contrário.

90 desempenhar a atividade em questão definidos nos parâmetros Custo(r,a) e Estimativa(r,a).

Nas instâncias do modelo, os valores das estimativas (previsões) foram obtidos utilizando o método de previsão vencedor de acordo com a análise realizada no capítulo 4. Ou seja, o método Mix de Mediana e Suavização Exponencial com Taxa de Resposta. O método citado teve os melhores resultados no estudo de previsões, com menores taxas de erro. Quanto aos valores de custos, foi contabilizado os dados da folha de pagamento da empresa e calculado o custo para cada dia de trabalho de cada recurso.

Os recursos utilizados no modelo são heterogêneos, ou seja, têm competências distintas e são capazes de desempenhar apenas um subconjunto de atividades do

O modelo considera que as atividades têm duração e início definidos “a priori”, para representar esse cenário foi definido o parâmetro DURACAO, e o conjunto INICIO.

Isto retira um pouco a missão de planejamento (“Scheduling”) do modelo, e foca na alocação de recurso, no entanto é possível adaptá-lo à condição de escala, porém aumentando-se razoavelmente o número de restrições do modelo. Como nosso foco não é este, seguiremos apenas com a visão ortodoxa sobre os recursos e a realização das atividades.

Com relação às restrições do modelo, algumas situações foram tratadas de acordo com a realidade de uma fábrica de software. O modelo considera que um recurso só pode executar até uma atividade num dado instante de tempo (Eq. 5.1.2) e que no início de uma atividade deve haver alocação de um único recurso (Eq.

5.1.3). Ou seja, ou o recurso está ocioso ou executando uma única atividade em dado instante de tempo.

91 A restrição (Eq. 5.1.1) define que as alocações de um recurso não podem ultrapassar sua disponibilidade. As restrições (Eq. 5.1.4 e 5.1.5) indicam que o recurso deve seguir na execução da atividade até o seu término. Aqui também se define que uma atividade não deve ultrapassar a sua duração. Como o tempo de execução de uma atividade por um recurso foi determinado pelo método de previsão analisado, é de se esperar que o tempo gasto na execução da atividade seja menor que a duração estabelecida. Estas restrições garantem também que não haverá atividades sem alocação, pois para que o projeto seja finalizado todas atividades precisam ser executadas.

O modelo não revê o caminho crítico, pois as tarefas iniciam em tempos definidos. As últimas tarefas, se reduzidas no tempo pela especificidade do recurso, é que provocam a possível diminuição do caminho crítico. De qualquer modo, se determinado recurso puder ser usado para reduzir o tempo de uma tarefa, irá consequentemente ajudar a rever o início das tarefas a montante, onde a primeira é predecessora.

Na função objetivo temos a minimização de custo do projeto (Eq. 5.1.0). A alocação deve levar em consideração o custo de cada recurso, alocando para cada atividade o recurso de menor custo e que possui maior afinidade em desempenhar a atividade. O modelo aloca apenas os recursos necessários, buscando diminuir que recursos fiquem ociosos.

5.2.1.1 Os resultados na aplicação do modelo RCPSP

Atualmente, o mecanismo para criar os cronogramas na fábrica de software, ou seja, a forma que é conduzida a alocação dos recursos humanos nas atividades dos projetos são feitas baseadas em projetos já encerrados. Portanto, alguns projetos que foram concluídos servem como referência para os novos projetos, e toda estrutura do cronograma é usada como fator de reuso. Essa forma de criar os cronogramas é passível de erros e problemas, visto que além de ser uma atividade manual, cada projeto tem características particulares, e os cronogramas deveriam então ter distribuições diferentes das atividades. A adoção de um método de otimização para

92 gerar essas alocações tona-se uma ferramenta útil para os gerentes de projetos nas organizações.

Para ilustrar os resultados alcançados com a aplicação do modelo RCPSP foram utilizados oito projetos da fábrica de software. Em cada projeto foi realizado o levantamento das informações necessárias para fazer as simulações da instância.

Para cada instância foi contabilizada a duração do projeto (instantes de tempo), as diferentes atividades, a duração em dias de cada atividade, bem como suas relações de precedência. Somado a essas informações, foi realizado um levantamento dos recursos humanos designados com informações de seu custo e disponibilidade.

Para cada projeto foi realizado esse levantamento de informações e instanciado o modelo para coleta dos resultados. O indicador analisado será o de custo de pessoal do projeto. O objetivo é verificar o quanto realmente foi gasto com recursos humanos em um projeto, e comparar com o valor otimizado gerado pelo modelo sobre a instância.

As instâncias para análise foram divididas em dois grupos (a) projetos de pequeno porte e (b) projetos de grande porte. Entende-se por projetos de pequeno porte, aqueles com duração de até três meses, Tabela 14; enquanto que projetos com duração superior a três meses são considerados de grande porte, Tabela 15. Mais detalhes dos projetos desses dois grupos e seus gráficos de GANTT podem ser consultados no apêndice A.

Instância Prazo (Dias) No Recursos No Atividades Variáveis Binárias

Tabela 14: Característica das instâncias dos projetos de pequeno porte

93 Instância Prazo(Dias) No Recursos No Atividades Variáveis

Binárias

Restrições

05 83 7 48 1611 1199

06 73 8 42 1617 1178

07 74 8 44 1681 1232

08 83 8 49 1725 1223

Tabela 15: Característica das instâncias dos projetos de grande porte

Como pode ser observado nas Tabelas 14 e 15, quanto maior o prazo, recurso e atividades, maior o número de variáveis binárias e restrições geradas pelo modelo para realizar a alocação dos recursos humanos.

(a) Projetos de pequeno porte

Nesse grupo de projetos (Tabela 14), cada instância representa um projeto considerado pequeno, ou seja, um projeto com prazo de duração inferior e três meses.

Nos Gráficos 18, 19, 20 e 21 pode-se observar a relação do custo real desprendido com os recursos humanos e o custo otimizado na simulação após execução do modelo.

Nos Gráficos 18, 19, 20 e 21 pode-se observar a relação do custo real desprendido com os recursos humanos e o custo otimizado na simulação após execução do modelo.

Documentos relacionados