Global software development (GSD) has now become a prominent software development paradigm. Software companies are increasingly adopting GSD approaches in order to produce high quality software. GSD's popularity has attracted the researchers to investigate this field, but most of the research work related to global software development cycle is scattered. Therefore, there is a need to integrate and compile all research work related to GSD life cycle to provide a consolidated understanding for software practitioners as well as researchers. In this paper, we report our findings through systematic literature review that aimed at identifying the challenges faced by the globally distributed teams during various phases of software development. We have also discussed suggested best practices, and tools that can be helpful in alleviating these challenges.
Global software development (GSD) is a prevalent trend which has fascinated most software companies. However, the failure rate of GSD projects reveals the fact that these types of projects are not an easy endeavor. Management of GSD project is a domain where standards are still lacking and companies are still struggling to acquire a win-win situation. Project management body of knowledge (PMBOK) provides a standard framework for managing projects. However, the framework does not consider the aspects of GSD. Thus, it can't be applied directly for GSD projects. In this paper, we have proposed a project management framework for GSD projects. This framework assimilates the knowledge areas of PMBOK with knowledge areas needed for effective management of GSD. It would guide GSD project manager about the aspects to be considered while executing distributed projects. This framework would also act as a baseline to researchers for further investigation in GSD project management domain.
Software maintenance is the continuous process of enhancing the operational life of software. The existing approaches to software maintenance, derived from the traditional approaches to development, are unable to resolve the problems of unstructured code, team morale, poor visibility of the project, lack of communication, and lack of proper test suites. Alternatively, extreme programming practices such as test driven development, refactoring, pair programming, continuous integration, small releases, and collective ownership help to resolve the aforesaid problems. In this paper, a process model is proposed for software maintenance using extreme programming practices to resolve maintenance issues in an improved manner. The proposed approach speeds up the maintenance process and produces more maintainable code with less effort for future maintenance and evolution. The proposed model is validated by applying it on several maintenance projects in an academic environment. It has been observed that the approach provides higher quality code. The proposed model based on extreme programming enhances both learning and productivity of the team by improving the morale, courage, and confidence of the team, which supports higher motivation during maintenance.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.