7 research outputs found

    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

    Software-Platform based Ecosystem in Heavy duty Mobile Machine Industry : “A case study on ROS Ecosystem”

    Get PDF
    The platform-based ecosystem theory is continuously evolving with a higher level of interdependence and interconnectedness in dynamic business surroundings. In the software context, the platform-based ecosystem provides a modular architecture that allows reusability of the core functionalities across different applications. The software-platform based ecosystem could make a huge difference in the heavy-duty mobile machine industry by reducing the R&D efforts in developing complex software systems to achieve smart functionalities in the mobile machines. The objective of the study is to determine the significance of the software platform ecosystem in the heavy-duty mobile machine industry and whether it could provide new prospects to this industry. The research explores the Robot Operating System (ROS) ecosystem to address the eco-system opportunities in the heavy-duty mobile machine industry. The ROS ecosystem is an open-source software platform offering a core set of software development kits for developing robotic applications. ROS has become a de facto middleware in robotics providing numerous software packages, algorithms, drivers, and a diverse community of developers. The research utilized a qualitative case study approach to investigate the heavy-duty mobile machine sectors' perspectives on Software-platform based ecosystems. A total of 12 interviewees participated, involving 5 from software providers/consultants, 3 from embedded system providers, and 4 from manufacturing organizations expressing their opinions and current understanding of the Software-platform based ecosystem. The interviews were focused on understanding the use of software platforms and ecosystems in the heavy-duty mobile machine industry. The findings suggested the interest of the organizations into the ROS ecosystem. Additionally, the use of software platforms indicated reducing the complexity of developing complex software applications required for mobile work machines. This study contributes to the software platform and software ecosystem literature by providing the possibility to collaborate across the players in the ecosystem and pursuing the integration benefits of the Software-platform based ecosystems in the heavy-duty mobile machine industry. Finally, this thesis proposes a few future research directions that can expand the understanding and applications of ROS ecosystem in heavy-duty mobile machine industry

    Perspectives on the Future of Software Engineering: Essays in Honor of Dieter Rombach

    No full text
    - Summarizes the current state of the art in software engineering, and also outlines a vision for the field's future - Contributions written by the most renowned and authoritative researchers in the field - Special emphasis is placed on empirical methods that prove the benefit of software engineering techniques The dependence on quality software in all areas of life is what makes software engineering a key discipline for today's society. Thus, over the last few decades it has been increasingly recognized that it is particularly important to demonstrate the value of software engineering methods in real-world environments, a task which is the focus of empirical software engineering. One of the leading protagonists of this discipline worldwide is Prof. Dr. Dr. h.c. Dieter Rombach, who dedicated his entire career to empirical software engineering. For his many important contributions to the field he has received numerous awards and recognitions, including the U.S. National Science Foundation's Presidential Young Investigator Award and the Cross of the Order of Merit of the Federal Republic of Germany. He is a Fellow of both the ACM and the IEEE Computer Society. This book, published in honor of his 60th birthday, is dedicated to Dieter Rombach and his contributions to software engineering in general, as well as to empirical software engineering in particular. This book presents invited contributions from a number of the most internationally renowned software engineering researchers like Victor Basili, Barry Boehm, Manfred Broy, Carlo Ghezzi, Michael Jackson, Leon Osterweil, and, of course, by Dieter Rombach himself. Several key experts from the Fraunhofer IESE, the institute founded and led by Dieter Rombach, also contributed to the book. The contributions summarize some of the most important trends in software engineering today and outline a vision for the future of the field. The book is structured into three main parts. The first part focuses on the classical foundations of software engineering, such as notations, architecture, and processes, while the second addresses empirical software engineering in particular as the core field of Dieter Rombach's contributions. Finally, the third part discusses a broad vision for the future of software engineering

    Identificación de Deuda Técnica en instancias de reflexión de proyectos ágiles

    Get PDF
    Incluye bibliografía y anexosLa tesis muestra la aplicación de métodos de investigación cualitativos adecuados para el estudio de los conceptos de procesos y calidad en ingeniería de software. El trabajo continúa una línea de investigación anterior sobre deuda técnica y agilidad, estableciendo un marco metodológico para continuar profundizando el estudio del fenómeno. De esta forma, se desarrolla un mecanismo de medición capaz de evaluar un proyecto, según una escala que representa el grado de agilidad. Luego, se aplica una metodología de investigación cualitativa sobre los registros de retrospectivas de un proyecto real de desarrollo de software, con el fin de identificar instancias de deuda técnica. Los resultados obtenidos muestran que es posible identificar constructos asociados con el fenómeno estudiado

    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