4 research outputs found

    A Comparison of Three Modes of Collaboration for Software Development

    Get PDF
    In the current environment of global collaboration, multiple models for collaborative ventures have been introduced. We consider traditional, contractual interactions as well as three modes of collaboration—supply-chain management, a standard virtual organization, and inter-organizational collaborative software development (ICSD). After outlining multiple characteristics of these modes, and their strengths and weaknesses, we examine how to select an approach for a software project, and characterize non-software-development applications for which an ICSD approach may be appropriate. Each of these can then be used as input in selecting an optimal mode and practices for the project

    Cloud based collaborative software development: A review, gap analysis and future directions

    Get PDF
    Organizations who have transitioned their development environments to the Cloud have started realizing benefits such as: cost reduction in hardware; relatively accelerated development process via reduction of time and effort to set up development and testing environments; unified management; service and functionality expansion; on-demand provisioning and access to resources and development environments. These benefits represent only a fraction of the full potential that could be achieved via leveraging Cloud Computing for the collaborative software development process. Related efforts in this area have been mainly in the areas of: asynchronous collaboration; collaboration in isolated aspects of the Software Development process, such as coding activities; use of open-source tools for contributing, improving, and managing code, etcetera. Although these efforts represent valid contributions and important enablers, they are still missing important aspects which enable a more holistic process, with solid theoretical foundation. This paper reviews this research area, in order to better assess factors and gaps creating the need to enhance the collaborative software development process in the Cloud, to better meet the pressure to collaboratively create better cloud-agnostic applications. © 2017 IEEE

    An Activity Theory-based Architecture To Enhance Context-aware Collaboration In Software Development In The Cloud

    Get PDF
    This research study reviews collaborative software development and assesses the impact of cloud computing in this domain. This is with a view towards identifying challenges to effective context-aware collaboration, as well as opportunities, risks, and potential benefits that could come from a well-defined structured leverage of cloud capabilities. Findings from systematic review of literature indicate that adoption of cloud computing played a significant part in bringing about trends such as: movement of traditional applications and processes to the cloud; cloud development environments; increased distribution in teams and resources; increased diversity in requirements; changes in how software is developed, tested, deployed, accessed, and maintained. These trends have in turn introduced factors such as: massive scale; additional layers of complexity in abstraction levels, entity characteristics and entity relationships within the development process. This additional layer of complexity translates into increase in contexts i.e., information that can be used to characterize states of entities. This is in addition to existing traditional complexity i.e., measure of proportionality of activities and tasks within the process. Some notable efforts towards improving collaboration in software development in the cloud include: transitioning development environments, tools and teams to the cloud; provision of code repositories and version control functionality to support collaboration between developers; provision of platforms to enhance collaboration between developers and end-users in early stages of the process via registered project campaigns and targeted questionnaires; provision of platforms with integrated social networking tools. However, an essential missing piece for more effective context-aware collaboration in the process is, the need for ways of addressing resultant complexity from cloud adoption and capturing actionable contexts. Capturing and communicating contextual information can help improve awareness and understanding and facilitate role-based coordination of distributed team members including users, and not just developers. This would ensure all stakeholders are always on the same page even if not in same location, across all phases of development. The main aim of this research study is to apply a new architecture framework underpinned by the right theoretical foundations, capable of leveraging cloud capabilities, harnessing contexts and addressing complexity to enhance context-aware collaboration in cloud-based software development. To achieve this aim, knowledge gleaned from the systematic literature review and the gap-impact analysis was thematized and synthesized to provide optimal recommendations to serve as roadmap guide for the development and evaluation carried out, and subsequent knowledge contributions. Key dimensions were adapted, along with development of classifications for approaches to enhancing collaboration in software development in the cloud. The key dimensions created were for - assessing collaboration needs; definition of context data and levels; collecting, categorizing, analysing, and applying contextual information to tasks, activities, and stages within software development in the cloud. These dimensions and classifications are useful for identification of reliable ways of measuring collaboration and success factors, as well as managing complexity and ensuring synchronous regularity of process and understanding within the development process in the cloud. A formal process was proposed to aid selection of an appropriate theoretical basis and assembling of a theoretical framework and methodology to underpin the architecture for enhancing context-aware collaboration in cloud-based software development. This was necessary due to the current lack of a de-facto architecture method for cloud-based software development. An activity theory-based architecture has been designed and developed, along with a Proof-of-Concept (POC) implementation that leverages cloud capabilities, for evaluation of the architecture. This architecture presents a novel approach for enhancing collaboration in software development in the cloud due to its underlying activity theory-based tenets that considers ‘activity’ as the unit of analysis, and ideal for activity systems and ease of identification of congruencies and contradictions present or capable impacting related components of the activity system and its ecosystem. The conclusions for this research study, limitations and future research directions have been discussed at the end of this thesis work
    corecore