The 2005 Asaihl Seminar (Brunei Darussalam, 27–30 June 2005), Applications of Computing and Information Technology in Higher Learning (S. Mohamad and N. J. Tuah, eds.), 2007, pp. 1–9 The Association of Southeast Asian Institutions of Higher Learning
Universiti Brunei Darussalam
A role-playing approach to make a computer project management course project appears real Aliza Sarlan, M. Nordin Zakaria IT/IS Programme, Universiti Teknologi Petronas, M ALAYSIA
Abstract In our university, an Information Technology (IT) course project is commonly assigned in one of three ways: 1) the teacher creates the problem statement for the students to solve, 2) the students create their own problem statements, and 3) an external company poses a problem statement for the students to solve. In a recent offering of a Computer Project Management (CPM) course however, we decided to adopt an entirely different approach, with the main objective being to expose students as close as is feasible to the reality of computer project management. While approach 3) may seem to be the best approach where realism is concerned, we find that it is not feasible in our situation for the following reasons: 1) it is difficult to find a cooperative company with IT interest and awareness close to our university, 2) in our experience, companies tend to over-demand and expect more than can be delivered by our students within a period of four typically crammed months - generally students have heavy workload as well in co-curriculum activities and other registered courses. Hence, we devise an approach whereby students in our class divide themselves into groups, and each group plays a dual role - as a ’client’ for another student group in the class, and as a software development team for yet another different student group in the class. A client poses itself as an external organization, and states requirements for a developer to fulfill by implementing a project. Though the demand on the student time and commitment in the ’simulation’ is fairly high compared to that had approaches 1) and 2) been used - students have to function both as clients and as developers -, based on their feedbacks and on our own observations, we found that the simulation has been a very effective pedagogical vehicle for delivering to students what ’real’ CPM is like. Keywords: Education; Computer project management; Role-playing; Real; Simulation
1. Introduction In our university, an Information Technology (IT) course project is commonly assigned in one of three ways: 1) the teacher creates the problem statement for the students to solve, 2) the students create their own problem statements, and 3) an external company poses a problem statement for the students to solve. These three approaches are used for both programming and non-programming oriented courses. The third approach is however not used as frequently as the first and the second approaches. In the first approach, the problem statement tends to be precise, and the teacher typically has his or her solution ready. As discussed by Zilora (2004), this approach is delimited by the contrived nature of most of the hands-on problem exercises. A typical problem statement tends to be neat and tidy. It is carefully designed so that every student should be able to complete it within the allotted time. The problem exercise is focused on some particular E-mail address:
[email protected] (Aliza Sarlan)
2
Aliza Sarlan, M. Nordin Zakaria
aspects and minimizes other aspects. As a result, according to Zilora, students learn a concept in isolation, often not understanding how the particular concept fits into the big picture. In the second approach, the teacher gives freedom to the students to create their own problem statements. Students would generally choose a problem that they know they can solve within the time given. Only the more adventurous students would go for very challenging problems. What is missing in the first two approaches is realism. On the other hand, real projects involve dealing and communicating with clients and various stakeholders. Real projects demand more skills and efforts in matters pertaining to management of time, scope, cost, and uncertainty. Real projects require building and managing teams, and at times require dealing with ambiguous user requirements, difficult clients, and demanding project stakeholders. Hence, we believe that the first two approaches should not be employed in a Computer Project Management (CPM) class. The third approach would seem to be more appropriate. In fact, a number of authors (Zilora, 2004; Song, 1996; Turner and Zachary, 1999; Laware and Walters, 2004; Melin and Cronholm, 2004) report on the use of projects assigned by real organizations in their courses. For example, Zilora (2004) discusses how he assigned students to work on a Webbased business project in collaboration with a cooperating external organization. While the third approach may seem to be the best approach when judged from its realism factor, we find that it is not feasible for our situation due to the following reasons: 1) it is difficult to find a cooperative company with IT interest and awareness that resemble close to our university, and 2) based on our experience, companies tend to over-demand and expect more than what can be delivered by our students within a period of four typically crammed months - students, generally, have other obligations toward co-curriculum activities and other registered courses. Hence, in a recent offering of CPM course, we devised an approach whereby students in our class were divided into groups, and each group played a dual role - as an "external client" for another group in the class, and as a software development team for yet another different group in the class. The demand in the simulation was fairly high compared to that using approaches 1) and 2), for example, students have to sit through meetings among themselves both as clients and developers. However, based on their feedbacks and on our own observations, we found that the ’simulation’ was a very effective pedagogical tool in helping to make the concepts and case studies discussed in the CPM classes clearer to the students. The rest of this paper is organized as follows. In Section 2, we discuss previous literature pertaining to the use of team-based projects in IT education. In Section 3, we discuss some important information related to our class - the students, the course content, and the role played by an adjunct lecture delivered by an accomplished industrial IT project manager. In Section 4, we discuss in greater detail the role-playing method that we use to make our course project appears more realistic. In Section 5, we discuss our observations and student feedbacks on the simulation. In Section 6, we discuss lessons that we have learnt, and finally, in Section 7, we conclude our paper. 2. Related work A number of authors (Zilora, 2004; Song, 1996; Turner and Zachary, 1999; Laware and Walters, 2004; Melin and Cronholm, 2004) have written on the application of team-based projects to enhance lessons delivered in class. Zilora (2004) discusses how he assigned
A role-playing approach to make a computer project management course project appears real
3
project work to students by treating them as members of a project team that needed to develop a Web Services solution to an actual industrial problem. He noted that students completed the course with a sense of true accomplishment. They also in the course of carrying out the project gained first-hand knowledge of the pluses and minuses of working with cutting-edge technologies, worked as part of a cohesive team driven toward a common goal, dealt with the issues of working with other teams and their products, and interacted directly with a client, dealing with fixed resources and all the ugliness and uncertainty that come with real world problems. Laware and Walters (2004) discuss how their students gain a meaningful understanding of why and how structured methodologies affect success in a team-based environment when they work on projects. They note that the implementation and relevance of textbook methodology comes to life in real-world examples of changing requirements, budget constraints, culture, and competing objectives. Further, students gain experience with the less tangible ’people skills’ qualities. Melin and Cronholm (2004) discuss the use of a project-oriented work approach in an undergraduate information systems development course. They noted that their students show an overall positive attitude towards project-oriented work. It provides students with an arena for discussing different perspectives, peer-to-peer learning, social interaction, and a dynamic work setting. According to Blatner (2002) role-playing is naturally vehicle for learning because it is widely used in many different parts of therapy. It is merely a less technologically elaborate form of simulations. In the context of learning, role-playing approach has been used in military, emergency rescue team and even vehicle driving school is using role-playing approach in its exercises. The nature of these trainings requires the student to practice and react to the situation. In comparison with a computer project management course, although the content is not as critical as the former, the students also need to have the practice so that they will have the experience needed to understand and appreciate the project management processes According to Kirs (1994), the integration of role-playing approach with the instruction of system and analysis design course would improve many aspects of student’s understanding and awareness of the objectives of a system analysis and design course. There are three phases that are used in applying role-playing approach1 . The phases are briefing, interaction, and discussion. The activity in the briefing phase includes the identification of participants, roles allocation, information gathering, and also establishment of plot. In the interaction phase, the participants will interact with each other as other variables are introduced into the plot. In the discussion phase, participants discuss on the result of the interaction and also comment on the interaction that has taken place. The application of role-playing approach requires the consideration of three basic aspects, which are role-player, situation, and learning according to Ments (1999). 3. Our class 3.1. The students We tested our simulation with a class comprising of 140 Information Technology students. About half had just completed their 8-months industrial internship. Another half was to commence their industrial internship once the semester ended. All of the students had 1 Kirs
cited the three phases from Milroy (1982)
4
Aliza Sarlan, M. Nordin Zakaria
taken courses in Software Engineering, Database System, Human Computer Interaction, and System Analysis and Design. Many had also gone through the Organizational Behavior and Corporate Communication courses offered by the Management faculty. 3.2. Course contents We based the course content closely upon the nine knowledge areas defined by the document "Guide to Project Management Body of Knowledge" published by the Project Management Institute (2004). The nine knowledge areas, namely, are time management, cost management, quality management, scope management, human resource management, communication management, risk management, procurement management, and integration management. Our main textbook is the one by Schwalbe (2004). The book provides ample case studies useful for discussions in classes. Throughout the course, with help from the examples given in the textbook, we provide ample discussions on good and bad project management practices, and on how things can go wrong or right in carrying out an IT project. 3.3. The adjunct lecture Quite early in the semester, when the students were just starting on their CPM projects, we organized a lecture delivered by an accomplished industry veteran. Our intension was to motivate and to instill into the students a sense that what they have learnt or will be learning in class does matter and is, in fact, very important in practice. We note that it is easier to do so when the one delivering the lecture is someone who has ’made it’ in the industry. One student noted after the lecture, "The students do not see him as a lecturer but really as a successful project manager." In fact, in the lecture, the students learnt that an IT project is more than just about designing and coding a set of modules. It is more than just knowing about C++ or Java or PhP. They have to look at the people aspects, the organizational factors, and the business perspectives. They have to manage schedules and plan dynamically. Simply put, for success, they must be able to think and act like a manager. Students reported to us that they were truly motivated by the realization that many of the concepts and theories that they have learned in class were not just theories to be learnt and parroted out in examinations. One interesting quote from a student was as follows: "After the lecture, I really hope I can apply all the tips given, especially for my Computer Project Management project. The most important thing here is that it helps me a lot in seeing the real world of project management and this I think is very useful for my current and future undertaking." 4. Our approach We have our students group themselves into groups of 4 or 5. Each group assumes two roles - as a client for another group in the class, and as a developer for yet another different group in the class. As a client, they pose themselves as an external organization. These organizations include the police department, an airport, a telecommunication company, a bank, a grocery chain, a supermarket, a government department and a range of other businesses. For each client, the first task is to understand the organization that they are representing. They need to understand the business functions of the entity that they are representing. They can gain this knowledge
A role-playing approach to make a computer project management course project appears real
5
by looking though related websites, discussing with lecturers who have had the relevant experience, and by visiting the actual organization to observe and to talk to relevant personals. They would then come out with a list of potential projects that they deem beneficial to the organization that they are representing. Examples of projects that they list include a billing system for a telecommunication company, a train ticket booking system, an airport hangar management system, and a passport application system. We ourselves, as the instructors for the course, pair up clients to developers. We do the assignment somewhat randomly, taking precaution in the process to ensure that a group does not itself represent the same client organization as its partnering client group. A graphical depiction of the pairing up is shown in Figure 1.
Figure 1: Our approach
Each group would then commence its role as a software development team. Each would approach its client and discuss on potential projects. The project requirement set forth by the client may be fuzzy or ambiguous - it is the task of the developers to apply what they have learnt in previous system analysis class to derive a more precise requirement specification. They would for example conduct interviews and create mock user interfaces. If a client list out more than one possible project, a developer is free to pick one that is most appropriate for itself given the talent and skills available within the group. If the topic(s) listed by the client appear(s) to be more than what the developer can manage, the developer should negotiate with the client. For the sake of evaluation (by us, the lecturers), every such negotiation should be recorded in a detailed formal meeting minutes. For the sake of the simulation, a client should be as ’interesting’ as possible. Hence, for each client, we act as the main project sponsor - the Chief Executive Officer (CEO). We run the company. Members of each client group are managers that we put to oversee our IT investments. They must ensure that each investment made pays off for the business. We coach them to be ’good’ clients. A ’good’ client challenges the developer - they make demands, put forth fuzzy and ambiguous requirements, make regular request for requirement changes, and simply believe that IT professionals are magicians who make things work by simply including another button in an application. For the sake of completion of the project within the semester, however, a client must be open to negotiation. It is the task of the developer to open such negotiations, and based on their meeting minutes, we take into consideration their negotiation skills into the overall project grading.
6
Aliza Sarlan, M. Nordin Zakaria
For each developer, we are the mentors. We lend our expertise, industrial experience, and wisdom gained over the years to guide them on the best way to deal with various situations and problems in the course of carrying out their projects. We advised them on how best to divide tasks among group members based on skills, experiences, attitudes, and workload. For example, quite a number of groups complained that their group members were loaded with tests and other assignments with due date at about the same time as the dateline for a CPM course project deliverable. We then advised the group Project Manager to allocate tasks dynamically taking into consideration each group member’s commitments and workload to other academic and related matters. A task should be temporarily delegated to another member if the member responsible for it has other important and temporary commitment. At various points during the semester, we check on numerous project deliverables. These include business cases for a project, the project charter, the team contract, the requirement specification, the software design, the progress reports, and the meeting minutes. We ask as well that representative from each group meet us regularly to discuss with us both as clients and as developers. When seeing them as developers, we would discuss with them on their project progress. We would look at their scheduling documents and discuss performance to date. We expect each group to be frank with us. They should inform us if they are experiencing problems. As they have learnt in class, top managers do not like surprises. A final oral presentation by each group is its developer role formally signs off each project. We, the lecturers, along with a few other interested lecturers plus the partnering client group formally evaluate each developer group. Evaluation is based on a standard questionnaire. Sample questions from the questionnaire are shown in Figure 2. How effective and professional is their oral presentation? Marks: 0-10 Did they make user involvement easy? Marks: 0-10 Did they really find out what the users needs really are? Marks: 0-10 Is the product something that is reasonably difficult for a 4-months project? Marks: 0-10 Is the product something that would be useful for the client? Marks: 0-10 Would I advise the client to pay for the product? Marks: 0-20 How cohesive are they as a team? Marks: 0-10 How effectively and professionally do they communicate when they see me? Marks: 0-10 What is my overall perception of this team? Marks: 0-10 Would I hire this team for a future project? Marks: 0-10
Figure 2: Sample questions for evaluation
5. Student feedbacks Midway through the semester, in order to gauge our students’ acceptance of the simulated CPM projects, we surveyed the students who were taking the course. Although the questionnaire used in the survey was not comprehensive, the results did appear very encouraging. Figure 3 shows the students feedback on the role-playing activity. From the 48 responses that we received, 41 (85%) believed that the course projects did look real, 47 (98%) said that they have learnt much from the projects, and 45 (94%) felt that the projects did make them understand the class and the textbook better. However, only 16 (33%) said that given the choice they would prefer the role-playing approach in future course projects. The primary reason given is the workload involved when such an approach is used.
A role-playing approach to make a computer project management course project appears real
7
Figure 3: Students’ feedback
Student comments gathered from the questionnaire reflect positively as well on our approach. Some representative comments are as follows: i) Student 1: "This is the first time I am doing a project that actually has a client. Sometimes, the request can be hard. But we try our best. I believe the simulation can be implemented for other courses as well. Anyway, there are many things I have learnt from this course." ii) Student 2: "It is a new experience for me to have this kind of project - that which requires both client and developer role. It is very interesting and very challenging. Should be implemented in any relevant project." iii) Student 3: "This is my first experience doing this kind of client-developer role. It is indeed a very good exposure towards real life working environment. However, it is quite a hassle (sometimes) due to time constraints - we’re involved in projects for other courses as well. Because CPM project requires us to play 2 roles, it’s a bit time-consuming to attend quite a lot of meetings. Especially for the developer role, each time we decide on something, we have to clarify with our client. Compared to real working environment in CPM, the developers are only committed to a single project only. However, regardless of the hassle and all the problems, I really learnt a lot. Thank you for giving us the experience." iv) Student 4: "It is good to have another student group as a client or developer. It may train the student to work with many people with different ideas and styles. But, it becomes a problem when the clients themselves are not really sure on what they actually want from the developer. Their requirements at times seem ridiculous and impossible to be fulfilled within limited time. Other than that, the workload for the project is quite heavy. The project must meet the clients’ requirements within a very limited time. We have other projects to be completed that need lots of commitment too." At the end of the semester, the students submitted their project reports - each is a complete compilation of all the related project deliverables. To gauge how well the students have learnt from the projects, we note in particular the lessons learnt section in each report. What
8
Aliza Sarlan, M. Nordin Zakaria
we observe is very encouraging. Even when a group failed to deliver a project, its lesson learnt report did indicate that it has learnt from the failure. For example, one group that had struggled to complete its project, finally completed it in time only to find, in the morning before they were due to present, all the data and codes they had created destroyed in a virus attack, had this to say: "Our expertise was not in web-based application. We should have in the first place negotiated with the client and our primary sponsor about this matter. We thought of managing this problem by learning from the various sources available but we didn’t take into account the time constraints. We didn’t as well thought of other projects assigned to us to be submitted within close datelines. Although we had planned to consult experts outside of our team, the problem lies in the time of the experts themselves. They were all with their own projects and they were unable to find the suitable time to sit down and help us. : : : We have learnt from our mistakes managing this IT project. Although we have experiences in ’doing’ IT projects over the past 3 years, it was still not enough for us to do well in ’actual’ IT project management. The primary reason is that this is our first attempt at web-based application development and we started off knowing next to nothing about it. We failed also in communicating well. If there was negotiation between us, the clients and the primary sponsor, this thing could have been avoided. Having a contingency plan is really important as in our case, although we are able to finish off the project on time, but due to system failure and the lack of proper backup system, we cannot do the close out - we fail to present the product to the client. We did tell the clients about the progress of our project - but we did not show to them the completed sub-systems. If we did show, at least they would know of our commitment, even though the actual final product is not delivered. What happened now is that they know and have seen nothing of our product. We hope in the future we will be better prepared in handling IT projects, especially that involving web-based applications." 6. Lessons learned In this section, we reflect back on a few things that we have learnt from our experience with the role-playing approach discussed in the preceding section. We seek to incorporate these lessons learned into subsequent offerings of the Computer Project Management course. i) Do not pair groups of friends together. We note that a client group tends to be less formal and is somewhat too relaxed when the developer comprises of friends. As one student put it "Because we are being clients for friends, it is hard to give a hard problem statement". ii) Encourage the use of Extreme Programming. There are clients who noted that their developers failed to show them any working systems or products until the hour of the final presentation itself. We believed that this situation has got to be improved - developers are supposed to regularly show a working prototype to their clients. Hence, we intend, in the future, to encourage for a start, at least some practices of Extreme Programming. These practices include: using very short delivery cycles, programming in pairs, and doing constant testing. iii) Stress the importance of software design. We noted that a number of groups proceeded straight to coding without working on proper software designs. Hence, for these groups, their software structures tend to be shaky and their database designs hardly normalized. These in turn lead to software sys-
A role-playing approach to make a computer project management course project appears real
9
tems those are buggy and hard to maintain and to modify in response to client requests. Hence, in future offerings of the course, we intend to stress harder on the importance of software design. 7. Conclusion Our role-playing approach leading to designing course projects for a CPM course has helped our students to better appreciate the importance of good project management. It has been innovated in response to our unique situation - the need to expose students to the reality of CPM, and the absence of a suitable external company near to our university. We believe that our approach is applicable by other teachers and lecturers facing a similar predicament. In future offerings of the CPM course, we intend to further refine the approach and our understanding of its effects and impacts. This is in line with our university’s vision to produce well-rounded graduates confident enough to compete and succeed in the IT world of today and tomorrow. References Blatner, A. 2002. Role playing in education, available at http://www.blatner.com/adam/pdntbk/ rlplayedu.htm. "3 Kirs, P. K. 1994. A role-playing approach to the instruction of information systems analysis and design courses, Journal of Education for Business 69, no. 6, 317–324. "3 Laware, G. W. and A. J. Walters. 2004. Real world problems bringing life to course content, SIGITE’04 (Salt Lake City, Utah, USA, 2004), pp. 6–12. "2, 3 Melin, U. and S. Cronholm. 2004. Project oriented student work - learning & examination, ITiCSE’04 (Leeds, United Kingdom, 2004), pp. 87–91. "2, 3 Ments, M. V. 1999. The Effective Use of Role-Play, 2nd ed., Kogan, London. "3 Milroy. 1982. Role Play: A Practical Guide, John Wiley and Sons, New York. "3 Project Management Institute. 2004. A Guide to Project Management Body of Knowledge (PMBOKr Guide). "4 Schwalbe, K. 2004. Information Technology Project Management, Course Technology, Inc. "4 Song, K. 1996. Teaching software engineering through real life projects to bridge school and industry, ACM SIGCSE Bulletin 28, no. 4, 59–64. "2 Turner, J. A. and J. L. Zachary. 1999. Using course-long programming projects in CS2, The Proceedings of the Thirtieth SIGCSE Technical Symposium on Computer Science Education, New Orleans, LA, pp. 43–47. "2 Zilora, S. J. 2004. Industry-based Web services project as a classroom teaching tool, ACM SIGITE’04 (Salt Lake City, Utah, USA, 2004), pp. 13–18. "1, 2