A Collaborative Software Development Model for Co-Located and Virtual Teams
This study investigated the factors affecting collaborative software development in developing countries, constructed a model for collaborative software development and assessed the effectiveness. This was with a view to increasing usability of software systems and reducing risks involved in software development process. The research employed an exploratory study design to obtain information on collaborative software development practices in developing countries. Interview and questionnaire were used to obtain data from software developers in Lagos, Ibadan and Ile-Ife. Eleven software developers in six software development companies in Lagos and Ibadan were purposively selected for interview. The interview elicited information on factors affecting collaborative software development in developing countries, the effect of the factors on collaborative software development and the procedures for collaborative software development. Questionnaire was administered on fifty randomly selected software developers in Lagos, Ibadan and Ile-Ife to obtain information on the ideologies behind collaborative software development, the challenges faced by developers and approaches to mitigating risks in software development process. The collaborative software development model was constructed in Unified Modelling Language using ArgoUML Computer Aided Systems Engineering tool. The model was assessed for effectiveness using case problems in Nigeria with the application of association-end-multiplicity and class attribute criteria. The results showed that effective communication, group or team conflict, inadequate requirement analysis, interoperability, standardization and software development methodology were the factors affecting collaborative software development in developing countries. The collaborative software development model showed the interactions among the software developers engaged in collaborative software development process. The association-end-multiplicity criterion that was used for testing association among the classes in the model showed that the model was effective. Furthermore, the class attribute criterion showed that the behaviour of the model was also effective. It was concluded that effective requirement analysis, security, communication, effective software development methodology and interoperability were important for effective collaborative software development practices. It was also concluded that the constructed model would enhance collaborative software development process in developing countries and also reduce the risks associated with collaborative software development.