Agile development is a crucial issue within software engineering because one of the goals of any project leader is to increase the speed and flexibility in the development of new commercial products. In this sense, project managers must find the best resource configuration for each of the work packages necessary for the management of software development processes in order to keep the team motivated and committed to the project and to improve productivity and quality. This paper presents ReSySTER, a hybrid recommender system based on fuzzy logic, rough set theory and semantic technologies, aimed at helping project leaders to manage software development projects. The proposed system provides a powerful tool for project managers supporting the development process in Scrum environments and helping to form the most suitable team for different work packages. The system has been evaluated in a real scenario of development with the Scrum framework obtaining promising results.
Acuña, S. and Juristo, N. (2004). Assigning people to roles in software projects, Software Practice and Experience 34(7): 675-696.
Acuña, S., Juristo, N. and Moreno, A. (2006). Emphasizing human capabilities in software development, IEEE Software 23(2): 94-101.
Barcus, A. and Montibeller, G. (2008). Supporting the allocation of software development work in distributed teams with multi-criteria decision analysis, Omega 36(3): 464-475.
Barreto, A., Barros, M. and Werner, C. (2008). Staffing a software project: A constraint satisfaction and optimization-based approach, Computers & Operations Research 35(10): 3073- 3089.
Beck, K. (2001). Extreme Programming Explained: Embrace Change, Addison-Wesley, Reading, MA.
Benjamin, C., Beyer, M., Blampied, N., Duncan, B., Fenster, K., Fitzgerald, D., Goff, S., Henrie, M., Hubbard, B., Ireland, L., Johnston, R., Lindsay, C., Waller, R., Wideman, M. and Youker, R. (2008). USA National Competence Baseline, American Society for the Advancement of Project Management, Colorado Springs, CO.
Casado-Lumbreras, C., Colomo-Palacios, R., Soto-Acosta, P. and Misra, S. (2011). Culture dimensions in software development industry: The effects of mentoring, Scientific Research and Essays 6(11): 2403-2412.
Caupin, G., Knoepfel, H., Koch, G., Pannenbacker, K., Perez-Polo, F. and Seabury, C. (2006). IPMA Competence Baseline: ICB, Version 3.0, International Project Management Association, Nijkerk.
Celik, M., Er, I. and Topcu, Y. (2009). Computer-based systematic execution model on human resources management in maritime transportation industry: The case of master selection for embarking on board merchant ships, Expert Systems with Applications 36(2/1): 1048- 1060.
Chang, C., Christensen, M. and Zhang, T. (2001). Genetic algorithms for project management, Annals of Software Engineering 11(1): 107-139.
Chi, Y. and Chen, C. (2009). Project teaming: Knowledge-intensive design for composing team members, Expert Systems with Applications 36(5): 9479-9487.
Cockburn, A. (2000). Writing Effective Use Cases, The Crystal Collection for Software Professionals, Addison Wesley, Reading, MA.
Colomo-Palacios, R., Casado-Lumbreras, C., Soto-Acosta, P. and Garcia-Crespo, A. (2011). Using the affect grid to measure emotions in software requirements engineering, Journal of Universal Computer Science 17(9): 1281-1298.
Colomo-Palacios, R., Tovar-Caro, E., García-Crespo, A. and Gómez-Berbís, J. (2010). Identifying technical competences of it professionals: The case of software engineers, International Journal of Human Capital and Information Technology Professionals 1(1): 31-43.
Do, S.T., Nguyen, T.T., Woo, D.-M. and Park, D.-C. (2010). Standard additive fuzzy system for stock price forecasting, in N.T. Nguyen, M.T. Le and J. S´wia˛tek (Eds.), Proceedings of the 2nd International Conference on Intelligent Information and Database Systems, Part II, Springer-Verlag, Berlin/Heidelberg, pp. 279-288.
Fuentes-Fernandez, R., Garcia-Magariño, I., Gómez-Rodríguez, A. and González-Moreno, J. (2010). A technique for defining agent-oriented engineering processes with tool support, Engineering Applications of Artificial Intelligence 23(3): 432-444.
Garcia-Crespo, A., Colomo-Palacios, R., Gomez-Berbis, J. and Mencke, M. (2009). BMR: Benchmarking metrics recommender for personnel issues in software development projects, International Journal of Computational Intelligence Systems 2(3): 257-267.
Garcia-Crespo, A., Colomo-Palacios, R., Gomez-Beris, J. and Ruiz-Mezcua, B. (2010). SEMO: A framework for customer social networks analysis based on semantics, Journal of Information Technology 25(2): 178-188.
Garcia-Crespo, A., Lopez-Cuadrado, J., Colomo-Palacios, R., Gonzalez-Carrasco, I. and Ruiz-Mezcua, B. (2011a). Sem-fit: A semantic based expert system to provide recommendations in the tourism domain, Expert Systems with Applications 38(10): 13310-13319.
Garcia-Crespo, A., Lopez-Cuadrado, J., Gonzalez-Carrasco, I., Colomo-Palacios, R. and Ruiz-Mezcua, B. (2011b). SINVLIO: Using semantics and fuzzy logic to provide individual investment portfolio recommendations, Expert Systems with Applications 38(10): 13310-13319.
Gruber, T. (1993). A translation approach to portable ontology specifications, Knowledge Acquisition 5(2): 199-220.
Hadavandi, E., Shavandi, H. and Ghanbari, A. (2010). Integration of genetic fuzzy systems and artificial neural networks for stock price forecasting, Knowledge-Based Systems 23(8): 800-808.
Highsmith, J. and Orr, K. (2000). Adaptive Software Development: A Collaborative Approach to Managing Complex Systems, Dorset House Publishing, New York, NY.
Imai, S., Lin, C., Watada, J. and Tzeng, G. (2008). Rough sets approach to human resource development of information technology corporations, International Journal of Simulation 9(2): 31-42.
Kluska-Nawarecka, S., Wilk-Ko, D., Regulski, K. and Dobrowolski, G. (2011). Rough sets applied to the roughcast system for steel castings, in N.T. Nguyen, C.-G. Kim and A. Janiak (Eds.), Proceedings of the 3rd International Conference on Intelligent Information and Database Systems, Part II, Springer-Verlag, Berlin/Heidelberg, pp. 52-61.
Landeta, J. (2006). Current validity of the Delphi method in social sciences, Technological Forecasting and Social Change 73(5): 467-482.
Lee, S. and Yong, H. (2010). Distributed agile: Project management in a global environment, Empirical Software Engineering 15(2): 204-217.
Li, C. and Chan, F. (2011). Complex-fuzzy adaptive image restoration: An artificial-bee-colony-based learning approach, in N.T. Nguyen, C.-G. Kim and A. Janiak (Eds.), Proceedings of the 3rd International Conference on Intelligent Information and Database Systems, Part II, Springer-Verlag, Berlin/Heidelberg, pp. 90-99.
Li, C. and Chiang, T.-W. (2011). Function approximation with complex neuro-fuzzy system using complex fuzzy sets: A new approach, New Generation Computing 29(3): 261-276.
Licorish, S., Philpott, A. and MacDonell, S. (2009). Supporting agile team composition: A prototype tool for identifying personality (in) compatibilities, Proceedings of the 2009 ICSE Workshop on Cooperative and Human Aspects on Software Engineering, Vancouver, Canada, pp. 66-73.
Liu, J., Wang, W., Golnaraghi, F. and Kubica, E. (2010). A neural fuzzy framework for system mapping applications, Knowledge-Based Systems 23(6): 572-579.
Mahmoud, T.A. (2011). Adaptive control scheme based on the least squares support vector machine network, International Journal of Applied Mathematics and Computer Science 21(4): 685-696, DOI: 10.2478/v10006-011-0054-6.
Malinowski, J., Weitzel, T. and Keim, T. (2008). Decision support for team staffing: An automated relational recommendation approach, Decision Support Systems 45(3): 429- 447.
Malyszko, D. and Stepaniuk, J. (2011). Subspace entropy maps for rough extended framework, in N.T. Nguyen, C.-G. Kim and A. Janiak (Eds.), Proceedings of the 3rd International Conference on Intelligent Information and Database Systems, Part II, Springer-Verlag, Berlin/Heidelberg, pp. 42-51.
Moe, N., Dingsoyr, T. and Dyba, T. (2010). A teamwork model for understanding an agile team: A case study of a Scrum project, Information and Software Technology 52(5): 480-491.
Mohanty, R., Ravi, V. and Patra, M. (2010). The application of intelligent and soft-computing techniques to software engineering problems: A review, International Journal of Information and Decision Sciences 2(3): 233-272.
Naveh, Y., Richter, Y., Altshuler, Y., Gresh, D. and Connors, D. (2007). Workforce optimization: Identification and assignment of professional workers using constraint programming, IBM Journal of Research and Development 51(3/4): 263-279.
Negnevitsky, M. (2005). Artificial Intelligence: A Guide to Intelligent Systems, Addison-Wesley Longman, Boston, MA.
Nerur, S. and Balijepally, V. (2007). Theoretical reflections on agile development methodologies, Communications of the ACM 50(3): 79-83.
Nowicki, R.K. (2010). On classification with missing data using rough-neuro-fuzzy systems, International Journal of Applied Mathematics and Computer Science 20(1): 55-67, DOI: 10.2478/v10006-010-0004-8.
Palmer, S. and Felsing, M. (2002). A Practical Guide to Feature Driven Development, Prentice Hall, Upper Saddle River, NJ.
Pawlak, Z. (1982). Rough sets, International Journal of Parallel Programming 11(6): 341-356.
Pino, F., Pedreira, O., García, F., Luaces, M. and Piattini, M. (2010). Using Scrum to guide the execution of software process improvement in small organizations, Journal of Systems and Software 83(10): 1662- 1677.
Qin, H., Ma, X., Herawan, T. and Zain, J. M. (2011). An adjustable approach to interval-valued intuitionistic fuzzy soft sets based decision making, in N.T. Nguyen, C.-G. Kim and A. Janiak (Eds.), Proceedings of the 3rd International Conference on Intelligent Information and Database Systems, Part II, Springer-Verlag, Berlin/Heidelberg, pp. 80-89.
Salo, O. and Abrahamsson, P. (2008). Agile methods in European embedded software development organisations: A survey on the actual use and usefulness of extreme programming and Scrum, IET Software 2(1): 58-64.
Schwaber, K. and Beedle, M. (2002). Agile Software Development with Scrum, Pearson Prentice-Hall, Upper Saddle River, NJ.
Strnad, D. and Guid, N. (2010). A fuzzy-genetic decision support system for project team formation, Applied Soft Computing 10(4): 1178-1187.
Takeuchi, H. and Nonaka, I. (1986). The new new product development game, Harvard Business Review 64(1): 137-146.
Toroslu, I. and Arslanoglu, Y. (2007). Genetic algorithm for the personnel assignment problem with multiple objectives, Information Sciences 177(3): 787-803.
Valencia-Garcia, R., Garcia-Sanchez, F., Castellanos-Nieves, D., Fernandez-Breis, J. and Toval, A. (2010). Exploitation of social semantic technology for software development team configuration, IET Software 4(6): 373-385.
Vlaanderen, K., Jansen, S., Brinkkemper, S. and Jaspers, E. (2011). The agile requirements refinery: Applying Scrum principles to software product management, Information and Software Technology 53(1): 58-70.
Wang, J. and Lin, Y.-I. (2003). A fuzzy multicriteria group decision making approach to select configuration items for software development, Fuzzy Sets and Systems 134(3): 343-363.
West, D., Grant, T., Gerush, M. and D’Silva, D. (2010). Agile development: Mainstream adoption has changed agility, Forrester Research, (07/10/2011), http://www.forrester.com/
Wi, H., Oh, S., Mun, J. and Jung, M. (2009). A team formation model based on knowledge and collaboration, Expert Systems with Applications 36(5): 9121-9134.
Xie, G., Xiong, R. and Church, I. (1998). Comparison of kinetics, neural network and fuzzy logic in modelling texture changes of dry peas in long time cooking, LLWT- Food Science and Technology 31(7-8): 639-647.
Zadeh, L. (1965). Application of fuzzy set theory, Fuzzy Sets, Information and Control 8(3): 338-353.
Zhong, N. and Skowron, A. (2001). A rough set-based knowledge discovery process, International Journal of Applied Mathematics and Computer Science 11(1): 603-619.