Abstract (eng)
This dissertation focuses on the Thai telecommunications industry, which still is one of the fastest-evolving and most competitive markets and also one of the fastest-growing technology areas, as a case study. Looking at the current situation of software development in this industry, we use the findings of interviews with in-house and outsourcing software development teams working for two of the largest broadband Internet Service Providers (ISPs) in Bangkok, Thailand (named ISP1 and ISP2) during March and April 2009. The findings reveal that many of the typical problems (e.g., a lack of good user participation, a lack of teamwork, a lack of training support, a lack of management commitment, a lack of project management competence, a lack of knowledge transfer, and so forth) are still arising throughout the software development lifecycle. These problems result in a significant level of unsatisfactory quality results. This software development situation emphasizes that there is a need for more efficient and effective software development processes and a supporting knowledge transfer process. This dissertation consequently aims at providing a methodologically sound approach that leads to a practically feasible solution resulting in improved software development performance.
Focusing on project management and software development processes, agile methods (e.g., Adaptive Software Development, eXtreme Programming, and Scrum) are widely used in many business environments, as they provide an effective software development process to tackle many of the typical problems. Nevertheless, they offer limited support for project management (e.g., for outsourcing and high quality assurance) which is the backbone for cost-efficient software development. Furthermore, they generally deal with “how”, but not much with “what” software development processes should be implemented. Concentrating on only “how” cannot guarantee that software quality will be delivered. Therefore, this dissertation proposes a software process maintenance framework which in this context means a framework for software process development and improvement to overcome these shortcomings. The framework consists of two core components: a software development maturity model providing the “what” to improve with a software process assessment mechanism and an integrated PMBOK-Scrum model providing the “how” to implement with a comprehensive set of project management and software development processes. To support the application of the framework, a prototype tool is then introduced. It was created as a Web-based application, using the Java programming language and a MySQL database. It is important to perform a feasibility check on whether the framework and the tool are practical in real-life software projects. Hence, this dissertation demonstrates their implementation and results through two case studies in the Thai telecommunications industry (i.e., CAT Telecom Public Company Limited and TOT Public Company Limited) from November 2010 to February 2011. The data collection was carried out through on-site observations, individual interviews, and questionnaires. The findings indicate the generation of positive effects by (i) increasing software development performance in terms of efficiency (e.g., increasing work completeness and work productivity) and effectiveness (e.g., reducing defects and increasing customer and team satisfaction); and (ii) cultivating teamwork, collaboration, informal and frequent communications, and a knowledge sharing culture.
Focusing on a knowledge transfer process, a software project consists of knowledge-intensive activities and its implementation requires stakeholders’ expertise and experience, transferability, and the absorptive capacity to learn and apply knowledge to solve problems occurring during software development. The knowledge transfer itself has its components and can be viewed in different ways (e.g., process base, antecedent base, and component base). Although many knowledge transfer models and studies in software development have been proposed, and are available to learn from; they neither put an emphasis on a knowledge transfer’s common components, nor do they clearly provide comprehensive descriptions or relationships between those components in a knowledge transfer process. The ones offering guidance on how to drive knowledge transfer into action are also scarce. Consequently, this dissertation proposes a knowledge transfer framework. It aims at covering common components (i.e., problems, antecedents, knowledge, mechanisms, knowledge application, and outcomes); providing guidance for planning knowledge transfer activities; and contributing to an effective knowledge transfer amongst software development team members. Unfortunately, owing to time limitations of this study, the usability and practicality of the knowledge transfer framework could not be tested in real-life practice. However, this dissertation demonstrates the application of the framework, using our two prior case studies as a base. The demonstration descriptions are categorized into two parts. The first part describes how the author transferred knowledge to the case study teams; therefore, its focus is on the actual transfer results. The second part describes how the case study team members can transfer knowledge within their teams; hence, its focus is on how the framework can be applied in real-life software development practice. Although the framework cannot yet promise to contribute to knowledge transfer effectiveness in software development, the results of the demonstration show a high degree of compatibility with Scrum-oriented software development. Moreover, the framework was designed and constructed based on the positive results of the case studies in Chapter 5. This implies that there is a great likelihood that the framework is practical in real-life software projects.
As efficient and effective software development processes and a knowledge transfer process are required for quality software development, this dissertation incorporates the software process maintenance framework and the knowledge transfer framework into an umbrella framework. This is a framework for transferring novel software project management concepts into the Thai telecommunications industry. Owing to our time limitations as aforementioned, this dissertation demonstrates how to apply the umbrella framework in software projects; using our prior two case studies as a base again. The results of the demonstration show a great probability that the framework is practical in real-life software projects. At this stage, the umbrella framework partly promises an improvement of software development performance, as a result of the software process maintenance framework. In the future, we hope to carry out more case studies in order to raise more confidence in the usability and practicality of the umbrella framework. At the end of this dissertation, theoretical contributions, implications for future research design, implications for practice, limitations of this study, and recommendations for future work are described. Additional practical tests of the developed frameworks will be carried out by the author after returning to Thailand, before finally handing them over to industry partners.