Uma Linha de Produto de Sistemas de Gerenciamento de Projetos de Software
baseada em Agentes
Roberta Claudino Barreto Pessanha Gomes
11/04/23 2Roberta © LES/PUC-Rio
Sumário
• Introdução
• Problemas
• Predição de Prazo
• Alocação de Recursos
• Alocação x Prazo
• Análise de Trabalhos Relacionados
• Limitações dos Trabalhos
• Solução Proposta
• Objetivos Gerais
• Avaliação dos Resultados
• Referências
11/04/23 3Roberta © LES/PUC-Rio
Introdução – Gráfico das Baleias
11/04/23 4Roberta © LES/PUC-Rio
Introdução – Alguns Artefatos
11/04/23 5Roberta © LES/PUC-Rio
Introdução
• Desenvolvimento RUP possui disciplinas
• Cada disciplina possui diversos artefatos e atividades
• Cada recurso possui uma especialidade (papéis)
• Projetos podem ter tamanhos diferentes– Projetos de pequeno porte não demandam tantos artefatos
– Projetos de grande porte necessitam de maior cuidado em todas as etapas e iterações
• Um recurso pode atuar em vários projetos simultaneamente– De acordo com sua especialidade
– De acordo com a etapa dos projetos
11/04/23 6Roberta © LES/PUC-Rio
Introdução - Disciplina e Atividades
Modelagem de Negócios
11/04/23 7Roberta © LES/PUC-Rio
Introdução - Disciplina e Artefatos
Modelagem de Negócios
11/04/23 8Roberta © LES/PUC-Rio
Introdução – Papéis e Atividades
Analista do Processo de Negócio
Introdução - Reconfiguração Dinâmica
• Um projeto deve ser constantemente monitorado e seu planejamento ajustado durante todo o ciclo de vida
• Reconfiguração dinâmica é qualquer alteração feita sobre um planejamento prévio de atividades e recursos associados a um projeto
• Atividades de variados tipos devem ser associadas a recursos com características particulares a fim de atingir os objetivos relacionados a custo e prazo
• O gerenciamento de projetos deve refletir dinamismo porque os projetos são intrinsecamente dinâmicos
11/04/23 9Roberta © LES/PUC-Rio
Problemas
• Estimativa de prazo e custo– Projeto e suas atividades
• Escalonamento de Atividades
• Seleção de Recursos
• Alocação de Recursos
• Tamanho diferente dos projetos– Pequeno, médio e grande porte
• Gerenciamento de múltiplos projetos– um projeto pode afetar a data de término de outros projetos
– recursos compartilhados entre projetos
11/04/23 10Roberta © LES/PUC-Rio
Predição de Prazo
Recursos
• Quantidade Alocada
• Custo
• Nível de compartilhamento
• Disponibilidade– Férias, folga e treinamento
• Capacidade– Rendimento por Papel
Projetos
• Prioridade
• Complexidade
11/04/23 11Roberta © LES/PUC-Rio
Alocação de Recursos
• Problema largamente estudado na literatura
• Muitas soluções envolvendo heurísticas e técnicas de pesquisa operacional
• Solução ótima: problema NP-completo
Contexto do Trabalho
• Margem de tolerância entre subalocação e superalocação
• Não há pretensão de obter a “melhor solução possível”
• Objetivo– Melhor aproveitamento de recursos
– Maior atendimento da carteira de projetos
– Diminuição no tempo de execução dos projetos
11/04/23 12Roberta © LES/PUC-Rio
Alocação x Prazo
• Alocação dos recursos pode interferir no prazo dos projetos– Poucos recursos alocados: pode atrasar o projeto
– Muitos recursos alocados: pode gerar diminuição no tempo de execução do projeto
– Subalocação: atraso no projeto
– Superalocação: desperdício de recursos (atraso em outros projetos)
• Ideal: “ponto de equilíbrio” de alocação de recursos
11/04/23 13Roberta © LES/PUC-Rio
Análise de Trabalhos Relacionados
• Seleção de recursos
• Alocação de recursos
• Escalonamento de atividades
• Suporte a vários projetos
• Tipo de solução
• Método utilizado
• Uso de conhecimento especializado
• Uso de simulação
• Solução dinâmica
• Inclusão de caso de uso ou experimento
• Disponibilização de ferramenta
11/04/23 14Roberta © LES/PUC-Rio
Limitações dos Trabalhos
• Cenário longe de ser solucionado
• Nos trabalhos mais recentes não é apresentada uma solução que trate simultaneamente mais de dois dos tópicos levantados
• Há um aprofundamento em muitos deles em cada caso isolado, não considerando o gerenciamento como um todo
• Existem problemas levantados que não tiveram solução proposta– alocação de um mesmo grupo de pessoas a atividades relacionadas
• Necessidade de maior estudo para integração do planejamento de soluções com as atividades comuns de uma organização
11/04/23 15Roberta © LES/PUC-Rio
Solução Proposta
• Linha de Produto de Software– Infraestrutura reusável que provê suporte no desenvolvimento de
software de uma família de produtos
– Adequação ao tamanho dos projetos (pequeno, médio e grande porte)
• Sistemas Multi-agentes– Adaptação a mudanças no ambiente e em outros agentes
– Raciocínio e aprendizado sobre o histórico dos projetos
– Conceito de papéis como uma abstração de primeira classe
– Problemas podem ser detectados e tratados com técnicas de inteligência artificial (ex.: aprendizagem e raciocínio baseado em casos)
11/04/23 16Roberta © LES/PUC-Rio
Solução Proposta – Estado Atual
• Cenário de multi-projetos
• Análise de alocação de recursos – Subalocação
– Superalocação
• Predição de prazo para atendimento dos projetos– Cálculo estimado de duração
11/04/23 17Roberta © LES/PUC-Rio
Cálculo realizado pelo agente para predição do prazo:
Solução Proposta – Estado Atual
11/04/23 18Nome do Autor © LES/PUC-Rio
Solução Proposta – Andamento do Trabalho
• Identificação de potenciais causas de atraso no projeto– Subalocação de recursos
– Superalocação de recursos
– Alocação inadequada de recursos (e.g. papéis repetidos)
– Baixa produtividade dos recursos
– Escalonamento inadequado de atividades
– Retrabalho (e.g. atividades)
– Superprodução de artefatos
– Atraso na execução das atividades
11/04/23 19Roberta © LES/PUC-Rio
Objetivos Gerais
• Revisão Teórica
• Fechamento da Implementação da LPS– Ajustes na configuração da LPS
– Remodelagem do sistema
– Refinamento no cálculo de predição de prazo
– Refinamento na identificação de subalocação e superalocação de recursos
– Implementação dos agentes identificadores de causas de atraso
• Análise dos novos resultados obtidos
11/04/23 20Roberta © LES/PUC-Rio
Avaliação dos Resultados
• Simulações do uso da ferramenta com projetos reais e já concluídos
• Comparação com dados existentes dos projetos
• Problemas na alocação de recursos são somente apontados, não chegam a ser tratados automaticamente
• Indicação de pontos de gargalo na execução dos projetos
11/04/23 21Roberta © LES/PUC-Rio
Referências
• Alcaraz, J. e Maroto, C. (2001) A Robust Genetic Algorithm for Resource Allocation in Project Scheduling. In Annals of Operations Research 102, pp. 83-109.
• Callegari, D. e Bastos, R. (2008) A Systematic Review of Dynamic Reconfiguration of Software Projects. XXII Simpósio Brasileiro de Engenharia de Software.
• Clements, P. e Northrop, L. (2002) Software Product Lines: Practices and Patterns. Addison-Wesley.
• Dehlinger, J. e Lutz, R. (2005) A Product-Line Requirements Approach to Safe Reuse in Multi-Agent Systems. In SELMAS, pp 1–7, New York, USA. ACM Press.
• Joslin, D. e Poole, W. (2005) Agent-Based Simulation for Software Project Planning. In Proceedings of the 37th Conference on Winter Simulation (Orlando, Florida, December 04 - 07). Winter Simulation Conference, pp. 1059-1066.
• Jennings, N. R. (2001) An Agent-Based Approach for Building Complex Software Systems. Communications of the ACM, Volume 44, Number 4, pp. 35-41.
11/04/23 22Roberta © LES/PUC-Rio
Referências
• Kruchten, P. (1999) The Rational Unified Process. An Introduction, Addison Wesley Longman Inc., Reading, MA, USA.
• Lee, B. e Miller, J. (2004) Multi-Project Management in Software Engineering Using Simulation Modelling. In Software Quality Journal, Volume 12, Number 1, pp. 59-82, March.
• Nunes, I., Nunes, C., Kulesza, U. e Lucena, C. (2009a) Developing and Evolving a Multi-Agent System Product Line: An Exploratory Study. In: Michael Luck; Jorge J. Gomez-Sanz. (Org.). Agent-Oriented Software Engineering IX (LNCS). : Springer-Verlag, 2009, v. 5386, pp. 228-242.
• Nunes, I., Lucena, C., Kulesza U. e Nunes, C. (2009b) On the Development of Multi-agent Systems Product Lines: A Domain Engineering Process In: AOSE 2009, Budapest, 2009, pp. 109-120.
• Nunes, C., Kulesza, U., Sant'anna, C., Nunes, I., Garcia, A. e Lucena, C. (2009c) Comparing Stability of Implementation Techniques for Multi-Agent System Product Lines. In CSMR 2009, Kaiserslautern, Germany, 2009. pp. 229-232.
11/04/23 23Roberta © LES/PUC-Rio
Referências
• Peña, J., Hinchey, M., Cortés, A. e Trinidad, P. (2005) Building the Core Architecture of a NASA Multiagent System Product Line. AOSE 2006, pp. 208-224.
• Pohl, K., Bockle, G. e Van Der Linden, F. (2005) Software Product Line Engineering. Berlin, Heidelberg, New York: Springer-Verlag.
• Sentas, P., Angelis, L. e Stamelos, I. (2007) A Statistical Framework for Analyzing the Duration of Software Projects. In Empirical Software Engineering, Journal, Springer.
• Schwalbe, K. (2002) Information Technology Project Management. 2nd Ed., Thomsom Learning, Canada.
• Wooldridge, M. (2001) Introduction to Multiagent Systems. John Wiley & Sons, Inc.
11/04/23 24Roberta © LES/PUC-Rio