Global Software Development Development of a Web Platform for Exchanging Educational Content in a Virtual Team Setting
Total Page:16
File Type:pdf, Size:1020Kb
Global Software Development Development of a web platform for exchanging educational content in a virtual team setting Sofia Lazopoulou, Xiuqing Li, Nikolaj Lund, Bastian Muller,¨ Mikkel Nielsen, Frederik Williams IT-University of Copenhagen Rued Langgaards Vej 7, 2300 Kbh S slaz, xili, nilu, bmue, mibn, fwil @itu.dk { } May 22, 2012 Abstract This paper explains the process of developing a web platform for exchanging educational content. The focus lies on the collaboration and team manage- ment, as well as the product itself. During the project, various difficulties have been encountered. As a result, we describe the problems that virtual teams might encounter when working on a project of similar nature, and we propose different methods to mitigate or even avoid such difficulties in future teamwork. Even though the resulting approach is not perfect and might be of limited use for other development teams, the presented suggestions could have certainly optimized the development process of the project. Contents 1 Introduction 3 2 Background 4 2.1 Situation ............................... 4 2.2 M-Pesa ............................... 4 2.3 DRM ................................ 5 3 Related work 5 1 4 Method 6 4.1 Workflow .............................. 6 4.2 Artifacts ............................... 10 4.3 Collaboration ............................ 11 4.3.1 Cultural Differences and lack of Common Ground .... 11 4.3.2 Language Difficulties .................... 12 4.3.3 Coordination and communication difficulties ....... 13 4.3.4 Time/Calendar differences and individual schedules .... 14 4.3.5 Difficulties with Collaboration Technologies ....... 15 4.3.6 Motivational Challenges .................. 16 4.3.7 Summary .......................... 17 5 Product 18 5.1 Requirements ............................ 18 5.2 Overview .............................. 19 5.3 User Interface ............................ 20 5.4 Integration with M-Pesa ...................... 21 5.5 Use Case View ........................... 22 5.6 Logical View ............................ 24 5.7 Data View .............................. 25 5.8 Security View ............................ 26 5.8.1 Explicit Authentication ................... 26 5.8.2 DRM ............................ 27 5.9 Development View ......................... 28 5.10 Summary .............................. 28 6 Evaluation 29 6.1 Workflow .............................. 30 6.1.1 Group organizations provided loose but effective control . 30 6.1.2 Interchanging teams .................... 31 6.1.3 Awareness ......................... 31 6.1.4 Experience with virtual meetings .............. 32 6.1.5 Implementation activities .................. 33 6.1.6 Value of artifacts ...................... 34 6.2 Product ............................... 36 6.2.1 Functionality ........................ 36 6.3 Technology ............................. 37 7 Discussion 38 7.1 Artifact Efficiency .......................... 39 2 8 Further Work 41 8.1 Product Improvements ....................... 41 8.2 No Collaboration with other Groups ................ 42 9 Conclusion 43 A Appendix 45 A.1 Product Development Iterations .................. 45 A.1.1 Analysis Phase Activities .................. 46 A.1.2 Design Phase Activities .................. 47 A.1.3 Implementation Phase Activities .............. 47 A.2 Organization in Analysis and Design for 1st Iteration ....... 48 A.3 Organization in Implementation for 1st Iteration .......... 49 A.4 Organization in Analysis and Design for 2nd Iteration ....... 50 A.5 Organization in Implementation for 2nd Iteration ......... 51 A.6 Table Listing artifacts ........................ 52 A.7 Screen Dumps of Skill and Motivation Sheet ............ 55 A.8 Collaboration Protocol ....................... 56 A.9 Code and deployment guide .................... 58 A.10 OpenProj Project plan ........................ 60 A.11 Technology Evaluation ....................... 61 A.12 Requirements ............................ 66 A.13 Use Cases .............................. 68 A.14 Meeting Resume Sample ...................... 71 A.15 Test Cases .............................. 75 1 Introduction This report describes the collaborative project between IT University of Copen- hagen, Denmark and Strathmore University, Nairobi Kenya. Six graduate students of each university were responsible for implementing an end product and the man- agement of the collaborative effort required to achieve this. The end product is a web platform for exchanging educational contents at a fee. A user is able to register, preview all the authorised content, look for content of a specific category and search for specific content. When a user registers, he/she automatically gets a personal virtual money account that should be used in order to pay when downloading content. To load money to this virtual account, the user can transfer money via the M-Pesa payment system1. Registered users are also 1M-Pesa is explained in detail in Section 2.2 3 able to act as content creators, by uploading their own content, setting a price and specifying descriptive tags, that helps users when searching for content. From the given project description and collaborative situation, the following concise definition of the problem at hand was formulated: How can a group of 12 students, with 5 different nationalities, situated in Den- mark and Kenya, effectively develop a web based software system, capable of stor- ing educational content for later browsing and purchasing? This report is structured in the following way. In section 2 the relevant back- ground concepts are described; in section 3 the related work is introduced; in sec- tion 4 the method consisting of workflow, artifacts and collaboration is presented; in section 5 the details of the developed product is explained; in section 6 both the workflow and product is evaluated; in section 7 challenges and method improve- ments are discussed; in section 8 further work is defined, consisting of improve- ments and a different approach to the collaboration. Finally, the conclusions are drawn in section 9, followed by references and appendices. 2 Background In this section, a background to the components of the platform, the payment sys- tem M-Pesa and the concept of Digital Rights Management is provided. 2.1 Situation The main motivation for the development of such a web platform is the increasing demand in the developing world for educational content and systems to make it easily available and exchangeable. Providing students with such a system, will boost the knowledge sharing between them. For educational content authors, it will decrease the effort required to make their material globally available to students, as access is not limited to organizations. In countries of the developing world, payment via bank transactions or credit cards is less common, as their usage is regarded as a security risk. Instead, mobile payment systems are common and widely available. 2.2 M-Pesa As it should be possible to offer content exchanged on the platform for sale, it needs to be integrated with a payment system of a payment provider. In Kenya, the lead- ing and most established mobile payment system is M-Pesa. Moreover, it is also available in Tanzania, Afghanistan and South Africa. The system is widespread 4 and is commonly used for the purchase of goods, payment of bills and direct trans- fer between customers. As it is mobile, it requires a mobile phone. However, the application is integrated in the SIM card and works both on low and high-end devices and provides a simple interface for sending and receiving money. The ser- vice requires no visit to a bank to perform a transaction and in general it requires no bank account. Instead, customers are able to deposit and withdraw money through licensed agents (e.g., gas stations, shops, etc.). In its nature, it is very similar to the traditionally used bank transfer, instead of payment via credit card. The main difference between the two concepts is that of push and pull transactions. When using credit cards, the customer gives his card details (name, card number, expiration date and verification code) to a third-party and allows it to debit money from his account. With M-Pesa and bank transfer, transaction customer sends money to a third-party, it is a push transaction. The advantage of the later scheme is safety, because no details are stored at third-party and can not be stolen. 2.3 DRM DRM (Digital Rights Management) is an umbrella term used for a number of ac- cess control technologies which are used by publishers, copyright holders and in- dividuals to limit the use and distribution of digital content after purchase. In most cases, the content is encrypted before distribution by the content provider and a special application on the customer’s device is then able to open the content by decrypting it, and enforcing the limitations imposed by the provider. In case of the web platform, purchased content is encrypted when the user downloads a file using a unique device ID. A client-side reading application will then check the ID and decrypt the content in case it matches. Thus, further distribution of content is prevented. 3 Related work In the scope of this course at the universities, two other groups worked on related products. Both teams had the task to design and construct an eBook reading ap- plication for handheld devices, that allows the display and navigation of hypertext documents. One group focused on the implementation for devices running the Symbian operating system, whereas the second