Roberta Claudino Barreto Pessanha Gomes roberta.claudino@gmail.com Uma Linha de Produto de Sistemas de Gerenciamento de Projetos de Software baseada em Agentes Roberta Claudino Barreto Pessanha Gomes roberta.claudino@gmail.com
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 25/03/2017 Roberta © LES/PUC-Rio
Introdução – Gráfico das Baleias 25/03/2017 Roberta © LES/PUC-Rio
Introdução – Alguns Artefatos 25/03/2017 Roberta © 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 25/03/2017 Roberta © LES/PUC-Rio
Introdução - Disciplina e Atividades Modelagem de Negócios 25/03/2017 Roberta © LES/PUC-Rio
Introdução - Disciplina e Artefatos Modelagem de Negócios 25/03/2017 Roberta © LES/PUC-Rio
Introdução – Papéis e Atividades Analista do Processo de Negócio 25/03/2017 Roberta © LES/PUC-Rio
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 25/03/2017 Roberta © LES/PUC-Rio
Problemas Estimativa de prazo e custo Escalonamento de Atividades 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 25/03/2017 Roberta © 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 25/03/2017 Roberta © 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 25/03/2017 Roberta © 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 25/03/2017 Roberta © 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 25/03/2017 Roberta © 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 25/03/2017 Roberta © LES/PUC-Rio
Solução Proposta Linha de Produto de Software Sistemas Multi-agentes 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) 25/03/2017 Roberta © 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 25/03/2017 Roberta © LES/PUC-Rio
Solução Proposta – Estado Atual Cálculo realizado pelo agente para predição do prazo: 25/03/2017 Nome 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 25/03/2017 Roberta © 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 25/03/2017 Roberta © 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 25/03/2017 Roberta © 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. 25/03/2017 Roberta © 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. 25/03/2017 Roberta © 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. 25/03/2017 Roberta © LES/PUC-Rio