MAESTROS: Multi-Agent Simulation of Rework in Open Source Software
Rework Management in software development is a challenging and complex issue. Defined as the effort spent to re-do some work, rework implies big costs given the fact that the time spent on rework does not count to the improvement of the project. Predicting and controlling rework causes is a valuable asset for companies, which maintain closed policies on choosing team members and assigning activities to developers. However, a trending growth in development consists in Open Source Software (OSS) projects. This is a totally new and diverse environment, in the sense that not only the projects but also their resources, e.g., developers change dynamically. There is no guarantee that developers will follow the same methodologies and quality policies as in a traditional and closed project. In such world, identifying rework causes is a necessary step to reduce project costs and to help project managers to better define their strategies. We observed that in real OSS projects there are no fixed team, but instead, developers assume some kind of auction in which the activities are assigned to the most interested and less-cost developer. This lead us to think that a more complex auctioning mechanism should not only model the task allocation problem, but also consider some other factors related to rework causes. By doing this, we could optimise the task allocation, improving the development of the project and reducing rework. In this paper we presented MAESTROS, a Multi-Agent System that implements an auction mechanism for simulating task allocation in OSS. Experiments were conducted to measure costs and rework with different project characteristics. We analysed the impact of introducing a Q-learning reinforcement algorithm on reducing costs and rework. Our findings correspond to a reduction of 31 % in costs and 11 % in rework when compared with the simple approach. Improvements to MAESTROS include real projects data analysis and a real-time mechanism to support Project Management decisions.
KeywordsProject Manager Open Source Software Final Cost Task Allocation Real Project
This work has been funded through a IBRASIL Grant. IBRASIL is a Full Doctorate programme selected under Erasmus Mundus, Action 2 STRAND 1, Lot 16 and coordinated by University of Lille.
- 2.Software risk management. Springer, Berlin (1989)Google Scholar
- 3.Chua, B.B., Verner, J.: Examining requirements change rework effort: a study. arXiv preprint arXiv:1007.5126 (2010)
- 7.Zahra, S., Nazir, A., Khalid, A., Raana, A., Majeed, M.N.: Performing inquisitive study of pm traits desirable for project progress. Int. J. Mod. Educ. Comput. Sci. (IJMECS) 6(2) 41 (2014)Google Scholar
- 8.Rúbio, T.R., Gulo, C.A.: Characterizing developers rework on github open source projects. In: Proceedings of the 10th Doctoral Symposium in Informatics Engineering, FEUP Edicoes - Faculty of Engineering, University of PortoGoogle Scholar
- 9.Robles, G., González-Barahona, J.M., Cervigón, C., Capiluppi, A., Izquierdo-Cortázar, D.: Estimating development effort in free/open source software projects by mining software repositories: a case study of openstack. In: Proceedings of the 11th Working Conference on Mining Software Repositories, pp. 222–231. ACM (2014)Google Scholar
- 11.Larman, C.: Agile and iterative development: a manager’s guide. Addison-Wesley Professional, Boston (2004)Google Scholar
- 12.Warsta, J., Abrahamsson, P.: Is open source software development essentially an agile method. In: Proceedings of the 3rd Workshop on Open Source Software Engineering, Citeseer, pp. 143–147 (2003)Google Scholar
- 14.Feller, J., Fitzgerald, B.: A framework analysis of the open source software development paradigm. In: Proceedings of the twenty first international conference on Information systems, Association for Information Systems, pp. 58–69 (2000)Google Scholar
- 16.Madey, G., Freeh, V., Tynan, R.: Agent-based modeling of open source using swarm. In: Proceedings of the AMCIS 2002, p. 201 (2002)Google Scholar
- 17.Bellifemine, F., Bergenti, F., Caire, G., Poggi, A.: Jadea java agent development framework. In: Multi-Agent Programming, pp. 125–147. Springer, New York (2005)Google Scholar
- 18.Fipa, A.: Fipa acl message structure specification. Foundation for Intelligent Physical Agents. http://www.fipa.org/specs/fipa00061/SC00061G.html (2002). Accessed 30 Jun 2004
- 19.Smith, R.: The contract net protocol: Highlevel communication and control in a distributed problem solver. IEEE Trans. Comput. C 29, 12 (1980)Google Scholar