Uma Linha de Produto de Sistemas de Gerenciamento de Projetos de Software baseada em Agentes Roberta Claudino Barreto Pessanha Gomes [email protected] 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 05/11/2015 Roberta © LES/PUC-Rio 2 Introdução – Gráfico das Baleias 05/11/2015 Roberta © LES/PUC-Rio 3 Introdução – Alguns Artefatos 05/11/2015 Roberta © LES/PUC-Rio 4 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 05/11/2015 Roberta © LES/PUC-Rio 5 Introdução - Disciplina e Atividades Modelagem de Negócios 05/11/2015 Roberta © LES/PUC-Rio 6 Introdução - Disciplina e Artefatos Modelagem de Negócios 05/11/2015 Roberta © LES/PUC-Rio 7 Introdução – Papéis e Atividades Analista do Processo de Negócio 05/11/2015 Roberta © LES/PUC-Rio 8 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 05/11/2015 Roberta © LES/PUC-Rio 9 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 05/11/2015 Roberta © LES/PUC-Rio 10 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 05/11/2015 Roberta © LES/PUC-Rio 11 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 05/11/2015 Roberta © LES/PUC-Rio 12 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 05/11/2015 Roberta © LES/PUC-Rio 13 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 05/11/2015 Roberta © LES/PUC-Rio 14 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 05/11/2015 Roberta © LES/PUC-Rio 15 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) 05/11/2015 Roberta © LES/PUC-Rio 16 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 05/11/2015 Roberta © LES/PUC-Rio 17 Solução Proposta – Estado Atual Cálculo realizado pelo agente para predição do prazo: 05/11/2015 Nome do Autor © LES/PUC-Rio 18 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 05/11/2015 Roberta © LES/PUC-Rio 19 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 05/11/2015 Roberta © LES/PUC-Rio 20 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 05/11/2015 Roberta © LES/PUC-Rio 21 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. 05/11/2015 Roberta © LES/PUC-Rio 22 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. 05/11/2015 Roberta © LES/PUC-Rio 23 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. 05/11/2015 Roberta © LES/PUC-Rio 24