Software Project Pool: A Game for Learning Software Project Bidding Page 304 - Developments in Business Simulation and Experiential Learning, Volume 46, 2019 ABSTRACT Software project bidding is a phase of the marketing process of a project. Estimating cost and time are important activities in such a phase. Expert judgment is necessary for software project estimation. Some authors propose games related to software management focused on other topics like development lifecycle, project risks, schedule planning, and human resource management, among others. However, the simulation of the bidding activities between a seller and vendor is poorly reported in software management games. We propose a game for illustrating the offer made to a company during a bidding invitation and the variables considered by the client. In such a game students can learn about vendor evaluation factor for selecting a software development company and connections between cost and time. INTRODUCTION Bidding process is an important negotiation activity during the marketing research of services related to software development companies (Gefen, Gefen, & Carmel, 2016). During this process, the client establishes the project budget and schedule and provide the scope and requirements of the software application (Nan & Harter, 2009). Vendors estimate time and cost for delivering the project. Rong et al. (2013) recognize the importance of practicing the bidding process in software engineering courses and applying a bidding game during the class. Such a practice should be focused on the assumption of different roles during the course activities. Some authors propose games related to software management focused on other topics like development lifecycle, project risks, schedule planning, and human resource management, among others (Battistella & Von Wangenheim, 2016). However, relation between clients and vendors during bidding phase is an uncovered topic for students. In addition, client negotiation for choosing a company is a missing activity in project estimations games. We propose software project pool as a game based on the well-known negotiation game SharkTank™. The game involves project manager and different companies in a bidding process. A project manager is usually the internal role representing the client (Savolainen, Ahonen, & Richardson, 2012). This game is aimed to select the most skilled company for bidding software projects by using time and cost estimation, certifications, and competencies. Certifications and competencies are used to improve the company quality. The company with more software projects, certifications, and competencies will be the winner of the game. Software project Software Project Pool: A Game for Learning Software Project Bidding Grissa Vianney Maturana-González Universidad Nacional de Colombia, Colombia gvmatura@unal.edu.co Carlos Mario Zapata-Jaramillo Universidad Nacional de Colombia, Colombia cmzapata@unal.edu.co José David Mosquera-Tobón Universidad Nacional de Colombia, Colombia jdmosquerat@unal.edu.co Diana Judith Medina-González Universidad Nacional de Colombia, Colombia dijmedinago@unal.edu.co Juan Sebastián Arias-Velásquez Universidad Nacional de Colombia, Colombia jusariasv@unal.edu.co Santiago Cadavid-Gutiérrez Universidad Nacional de Colombia, Colombia scadavidg@unal.edu.co Page 305 - Developments in Business Simulation and Experiential Learning, Volume 46, 2019 pool is represented by using the SEMAT (Software Engineering Method and Theory; OMG, 2015) kernel. 24 students practice the game in a software analysis and design course. We apply a 6-question survey to four heterogeneous groups of students belonging to Politécnico Colombiano Jaime Isaza Cadavid in order to collect information from the players. Such a survey offers a good evaluation of the game. The structure of this paper is the following: first, we present some conceptual framework about software project bidding; after, we propose the software project pool game; then, we summarize the results of the game application; finally, we conclude and establish the future work. CONCEPTUAL FRAMEWORK The project marketing cycle includes six phases: search, preparation, bidding, negotiation, implementation, and transition. Such a cycle includes invitations to bid, establishing contact with vendors, evaluating the competitive situation, and receiving offers from vendors, among others (Savolainen et al., 2012). Software schedule and budget allows for understanding the software industry (Nan & Harter, 2009). Some authors define strategies for estimating cost and time of a project. In addition, expert judgment is used for estimating effort in software projects (Faria & Miranda, 2012). During the bidding process, the client is looking for the most promising bidding opportunity. Also, clients are restricted by the boundaries of the company and vendors use project references for adequately estimating cost and time in order to win a contract (Savolainen & Ahonen, 2015; Nan & Harter, 2009). Fekete and Hancu (2010) propose a model for supplier selection related to software engineering projects. Such a model comprises information related to basic vendor information, e.g., references and performance indicators. On time delivery, on budget, quality, productivity, client satisfaction, and ability to manage change are key performance indicators. In addition, Ali and Khan (2016) mention quality production as a successful parameter for choosing a company. Certifications are part of this quality evaluation related to vendors. Some authors propose games related to software project management. Project risks, development lifecycle, planning schedule, human resource management, buying and selling projects, among others are topics covered by such games (Petri et al., 2017). Calderon et al. (2017) identify the importance of training undergraduate students in software project management courses. Rong et al. (2013) incorporate a simulation game in their courses in order to teach several roles related to the bidding process to their students. Nevertheless, such games poorly incorporate the parameters related to activities for choosing a vendor and the boundary of the client. SOFTWARE PROJECT POOL GAME We propose software project pool as a card game based on the well-known negotiation game SharkTank™. The game involves a project manager and several companies in a bidding process. This game is aimed to choose the most favorable company for bidding software projects by using time and cost estimation, specialties, certification, and competencies. Certifications and competencies are used to improve the company quality. The company with more software projects, certifications, and competencies will be the winner of the game. The elements of the game are represented by using the SEMAT (Software Engineering Method and Theory; OMG, 2015) kernel. The project budget and schedule are considered work products. Certifications, cost, and time are represented as resources. A company is represented by using a practice and including inside the representation of competencies, certifications, and a company specialty areas. Definition of this SEMAT concepts are included in exhibit 1. Instructions of the game are the following: 1. Each project manager starts with US$1MM for cost measurement in the cards following: (4) US$10M, (3) US$20M, (2) US$50M, (2) US$75M, (3) US$100M, (1) US$150M, and (1) US$200M. Such capital is used to estimate the cost of a software project (see exhibit 2). 2. Each project manager starts with 21 months for time measurement in the following cards: 1 month, 2 months, 3 months, 4 months, 5 months, 6 months. Such time measurements are used to estimate the vendor time for developing EXHIBIT 1 THE SEMAT ESSENCE LANGUAGE ELEMENTS. THE AUTHORS. Element Description Element Description Practice A group of necessary elements of the SEMAT kernel for expressing the work guide with a specific objective. Resource A source of information or content Work Product A relevant, valuable artifact of the software engineering endeavor. A work product can be a document, a piece of software, a test, etc. Competency A generic container of specific skills. Such competencies are attributed to human beings who interact in the software engineering en- deavor. Page 306 - Developments in Business Simulation and Experiential Learning, Volume 46, 2019 the software project (see exhibit 2). 3. Each project manager is associated to a company, which holds some competencies, certifications, and one specialty area. The specialties available are: web development, mobile development, artificial intelligence, internet of things, cryptography and security, and game development (see exhibit 3). 4. At the beginning, one of the project managers selects a project from the project cards a offers a software project to other companies. The project manager reads the name and the description of the software project and he/she waits for the time and cost bidding of the other players (see exhibit 4). 5. The other players adopt the vendor role and privately estimate time and cost for the project. 6. When all the bids are finished, the project manager who offers the software project reviews the bids and discard all the bids out of the range of the cost and time of the software project. 7. If all of the bids fall outside the time and cost range of the software project, the project is discarded and the bid process ends for the current project manager. 8. If only one of the bids falls into the time and cost range, the project manager who offers the software project give the development of the software project to the project manager who give the time and cost in the correct range. 9. If two or more of the bids fall into the time and cost range, the project manager who offers the software project evaluates the companies with the priority hierarchy shown below: specialty area, certifications, and competencies. Such hierarchy is used for selecting the best company for developing the software project. The project manager who offers the software project selects a company with more affinity with the software project and gives the development of the software project to the project manager associated with such a company. 10. If two or more companies have the same affinity with the software project, the project manager who offers the software project evaluates the priority of his/her needs in time or cost and select the bid more suitable to the priority selected. 11. When all of the project managers offer a project, all of the project managers invest the time of the company in training with the possibility to acquire new competencies and certifications. EXHIBIT 2 COST, TIME, CERTIFICATION, AND COMPETENCY REPRESENTATION. THE AUTHORS. EXHIBIT 3 SPECIALTY AREA, COMPETENCIES, AND CERTIFICATIONS OF A COMPANY. THE AUTHORS. Page 307 - Developments in Business Simulation and Experiential Learning, Volume 46, 2019 Software project pool is suggested to be played in six rounds and the winner is the company with more projects assigned. At the end of each round, the company can acquire new competencies and certifications for improving the quality of the company by using a random system. The general range of values for schedule and budget related to the project category is depicted in exhibit 5. RESULTS We applied a survey to four heterogeneous groups of students belonging to Politécnico Colombiano Jaime Isaza Cadavid. 24 students practiced the game in a software analysis and design course. We applied a six-question survey in order to collect information from the players. The results are summarized in this Section. 1. How close to reality seems to be the game? 53,8% of the students surveyed answered that the game is realistic and 11.5% answered the game is very realistic (see Exhibit 6). So, the vast majority of students considers the game resembles reality. The software project bidding game was designed to give a better understanding of the bidding processes in real life in an easy and funny way. Results show this strategy achieves the goal for which the game was created. EXHIBIT 4 REPRESENTATION OF A PROJECT CARD. THE AUTHORS. EXHIBIT 5 RELATION BETWEEN SCHEDULE AND BUDGET. THE AUTHORS. Category Schedule (Months) Budget (US $M) Very high 9 - 12 500 - 700 High 7 - 9 350 - 500 Medium 5 - 7 250 - 400 Low 3 - 5 100 - 250 Page 308 - Developments in Business Simulation and Experiential Learning, Volume 46, 2019 2. What fun factor would you assign to the game? 30.8% of the students assigned an excellent grade (see Exhibit 7). 42.3% of students consider that the game is very good and 19.2% consider it good. The results are very promising, since students were prone to participate in the game and learn something from the game. In addition, they considered the game is fun and easy to play. 3. How easy to play was the game? 42,3% of the students answered the game is simple (see Exhibit 8). 26,9% of the students replied the game is neutral, e.g., neither simple nor complex to play. Therefore, students require low effort to understand the game. The event interaction game was designed in a way anyone with/without knowledge about the subject can play it. Results show this strategy achieves the goal of being playable by anyone. 4. What did you learn from the game? In general, students learned about the process of bidding for software projects, the elements most relevant to this process and the notions for estimating software projects. Most common comments are "I learned what people rely on when choosing a company to carry out their project: competencies, time, money, certifications, and specialty" and "The game helps me to develop the necessary analysis for making an offer of time and money for developing a software application." 5. What strategy you think you need to follow in order to win the game? Students answered the strategy to win is "verify the complexity of the project to determine the value and amount of time required." In addition, they agree on the unrequired prior knowledge in the area. Some common sense and attention are needed, since, as the game progresses, the experience necessary to win is acquired. EXHIBIT 6 QUESTION 1: HOW CLOSE TO REALITY SEEMS TO BE THE GAME? EXHIBIT 7 QUESTION 2: WHAT FUN FACTOR WOULD YOU ASSIGN TO THE GAME? Page 309 - Developments in Business Simulation and Experiential Learning, Volume 46, 2019 Ali, S., & Khan, S. U. (2016). Software outsourcing partnership model: An evaluation framework for vendor organizations. Journal of Systems and Software, 117, 402–425. Battistella, P. E., & Von Wangenheim, C. G. (2016). Games for Teaching Computing in Higher Education - A Systematic Review. IEEE Technology and Engineering Education (ITEE), 1(3), 8–30 Calderon, A., Ruiz, M., & Orta, E. (2017). Integrating Serious Games as Learning Resources in a Software Project Management Course: The Case of ProDec. IEEE/ACM 1st International Workshop on Software Engineering Curricula for Millennials (SECM), 21–27. Buenos Aires Faria, P., & Miranda, E. (2012). Expert Judgment in Software Estimation during the Bid Phase of a Project – An Exploratory Survey. Joint Conference of the 22nd International Workshop on Software Measurement and the Seventh International Conference on Software Process and Product Measurement, Assisi. Fekete, Z. A., & Hancu, L.-V. (2010). a Supplier Selection Model for Software Development Outsourcing. University of Oradea Annals of Faculty of Economics, 1190–1195. Gefen, D., Gefen, G., & Carmel, E. (2016). How project description length and expected duration affect bidding and project success in crowdsourcing software development. The Journal of Systems and Software, 116, 75–84. Nan, N., & Harter, D. E. (2009). Impact of Budget and Schedule Pressure on Software Development Cycle Time and Effort. IEEE Transactions on Software Engineering, 35(5), 624–637. Niazi, M., Mahmood, S., Alshayeb, M., Riaz, M. R., Faisal, K., Cerpa, N., Khan, S. N. Richardson, I. (2016). Challenges of project management in global software development: A client-vendor analysis. Information and Software Technology, 80, 1–19 REFERENCES 6. What would you change to the game? 16 of the students who answered the survey would not change anything to the game. Other students made important contributions to consider in order to improve a future version of the game. Some of the students agreed money should be lost or earned in some way to generate more competition and others felt project descriptions should be made more specific. CONCLUSIONS AND FUTURE WORK Software project pool is a useful strategy for helping in the teaching-learning process. Students are introduced in software project bidding by learning the elements to be considered by clients when they are choosing a vendor company. The game is easy and funny and it allows students for learning about software project bidding in a funny way. In addition, the game introduces SEMAT elements by using its graphic representation into the game and highlights the importance of the certifications and competencies in software companies. Future work is aimed to improve the game by adding new certifications and ways to obtain them. In addition, new projects and explorations related to new company specialties are considered. Finally, a detailed specification of requirements and human resources can be applied as an extension of the base game. ACKNOWLEDGEMENT This work is sponsored by Colciencias (Administrative Department of Science, Technology and Innovation) from Colombia in the program Ph.D. students in Colombia, bid 785 of 2017 and National Postgraduate Sapience Fund. EXHIBIT 8 QUESTION 3: HOW EASY WAS THE GAME TO PLAY? Page 310 - Developments in Business Simulation and Experiential Learning, Volume 46, 2019 Object Management Group (OMG) (2015). Kernel and Language for Software Engineering Methods (Essence)-Version 1.1 Petri, G., Von Wangenheim, C. G., & Borgatto, A. F. (2017). Quality of games for teaching software engineering: An analysis of empirical evidences of digital and non- digital games. Proceedings - IEEE/ACM 39th International Conference on Software Engineering: Software Engineering and Education Track (ICSE- SEET), 150–159, Buenos Aires, Argentina. Rong, G., Zhang, H., & Shao, D. (2013). Applying Competitive Bidding Games in Software Process Education. 26th International Conference on Software Engineering Education and Training (CSEE&T), 129–138, San Francisco. Savolainen, P., & Ahonen, J. J. (2015). Knowledge lost : Challenges in changing project manager between sales and implementation in software projects. International Journal of Project Management (JPMA), 33(1), 92– 102. Savolainen, P., Ahonen, J. J., & Richardson, I. (2015). When did your project start? – The software supplier’s perspective. The Journal of Systems & Software, 104, 32–40. Savolainen, P., Ahonen, J. J., & Richardson, I. (2012). Software development project success and failure from the supplier’s perspective: A systematic literature review. International Journal of Project Management, 30(4), 458–469.