Article Preview
TopIntroduction
Software systems development is a challenging task. As per estimates, 90% of software projects fail to meet requirements on time and within the allocated budget. Developing software solutions that meet customer requirements is difficult, especially since these requirements change over time. Post-deployment, software systems are confronted with high maintenance costs. Operational delays in software systems due to defects and adaptations can cause major bottlenecks in the functioning of an organization. Various methodologies have been proposed to manage requirements during development and performance during operational life of software systems.
A potential alternative for commercial business solutions software is a collaborative development project (CDP). A CDP offers an effective and powerful method for companies to develop solutions to complex business problems in short time (Yang et al., 2007; Zhang et al., 2008). Prior studies have established that a CDP increases customer satisfaction since it enables a project team to share tasks and resources in a web-based collaborative environment (Li et al., 2005; Mahesh et al., 2007; Sethi et al., 2003; Zhang et al., 2008). However, as a project becomes larger, related complexity increases in terms of task and resource allocation. Since software users expect high quality solutions with a short response time, operational defects in software systems can cause loss of capital and clients to corporations. Thus, it is necessary to investigate how a large scale CDP manages the critical issues of resource allocation and task prioritization to maintain high operational performance.
The ability to use online mediums to discuss issues with other developers and users is a unique characteristic of a CDP. However, management of these discussions requires additional resources, possibly at the expense of software development project resources. In this paper, we examine if these online discussions improve the operational performance of a CDP. We also investigate effective allocation of human resources available for the operational issues that arise over time. As projects grow and their users increase, the need for resolving user issues also grows. However, the number of issues also increases ultimately, increasing the wait time in queue before a resource (project manager or software developer/programmer) can be allocated to resolve the issue. We explore how task prioritization of a project manager or software developers/programmers impact operational performance. Thus, we address three vital questions in this research:
- •
Does online discussion of issues significantly improve the operational performance of a CDP?
- •
How does the allocation of human resources influence the operational performance of a CDP?
- •
Does task prioritization of programmers for specific components significantly improve the operational performance of a CDP?
In this study, we use large scale business solutions software, Compiere, which is developed through a collaborative network of volunteer participants as open source software (OSS). In particular, Compiere has several functionality modules including enterprise resource planning (ERP), customer relationships management (CRM), manufacturing (MFG), and accounting (ACCT). Through these modules, Compiere automates accounting, supply chain, inventory, and sales orders. It is targeted towards small and medium-sized businesses in distribution, retail, and manufacturing. Additionally, Compiere allows the users/clients to interact with the project development team via online forums and messages. The OSS communities provide feedback to the project developers through these online communications. These discussions are useful in identifying customer requirements for the software and highlight the issues faced at the user end. To address our research questions, we collected data from SourceForge.net (SF) regarding the usage of Compiere’s modules, communities, and functionality forums. SF is an open source initiative that provides web space to organize and coordinate open source product development. Furthermore, we link the discussions to the reporting of artifacts using a simulation model. Artifacts are any requested change of the software that is archived in the repository. Examples of an artifact include defects, patches, and feature improvements. In this paper, we focus solely on defect issues.