730 research outputs found

    Making software architecture and agile approaches work together: foundations and approaches

    No full text
    Software architecture (SA) is one of the most significant areas of research and practice in software engineering. It has been shown that getting architecture of large-scale complex systems right is not only extremely important but hugely challenging. The increasing popularity and adoption of Agile Software Development (ASD) methods have brought architecture-centric methods and practices into question as agile followers tend to perceive architecture in the context of plan-driven software development. It is widely recognized that SA needs sufficient attention for successful development and evolution of software-intensive systems and services irrespective of the software development paradigm. Given the nature of the discipline, SA methods and approaches tend to be effort-intensive and heavyweight for certain kinds of projects. There is an increasing interest in finding ways to apply architecture-centric principles and practices in an Agile fashion-Agile architecting. A good understanding of architectural principles and approaches is a prerequisite to agile architecting. The aim of this chapter is to briefly describe the fundamental concepts, principles, and practices of architecture-centric approaches. These concepts, principles, and practices are expected to provide a reader with sufficient understanding of different aspects of SA and its related methods to combine them with ASD methods. We start with a brief discussion of the points that make architecture and agile approaches seemingly incompatible. Then we present and discuss some of the key aspects of architecture-centric approaches and techniques that need to be considered for use in ASD projects. We also provide an overview of some of the key practices that have been recommended for successfully integrating architecture-centric approaches in ASD for developing large-scale, software-intensive systems. © 2014 Elsevier Inc. All rights reserved.Muhammad Ali Baba

    Applying empirical software engineering to software architecture: challenges and lessons learned

    No full text
    In the last 15 years, software architecture has emerged as an important software engineering field for managing the development and maintenance of large, software-intensive systems. Software architecture community has developed numerous methods, techniques, and tools to support the architecture process (analysis, design, and review). Historically, most advances in software architecture have been driven by talented people and industrial experience, but there is now a growing need to systematically gather empirical evidence about the advantages or otherwise of tools and methods rather than just rely on promotional anecdotes or rhetoric. The aim of this paper is to promote and facilitate the application of the empirical paradigm to software architecture. To this end, we describe the challenges and lessons learned when assessing software architecture research that used controlled experiments, replications, expert opinion, systematic literature reviews, observational studies, and surveys. Our research will support the emergence of a body of knowledge consisting of the more widely-accepted and well-formed software architecture theories

    Software Process Improvement barriers: a cross-cultural comparison

    No full text
    Abstract not availableMahmood Niazi, Muhammad Ali Babar, June M. Verne

    Study of DsJ decays to D+KS0 and D0K+ final states in pp collisions

    No full text
    A study of D+K0S and D0K+ final states is performed in a sample of 1.0 fb−1 of pp collision data collected at a centre-of-mass energy of s√=7 TeV with the LHCb detector. We confirm the existence of the D∗s1(2700)+ and D∗sJ(2860)+ excited states and measure their masses and widths to be m(D∗s1(2700)+) = 2709.2±1.9(stat)±4.5(syst) MeV/c2, Γ(D∗s1(2700)+) = 115.8±7.3(stat)±12.1(syst) MeV/c2, m(D∗sJ(2860)+) = 2866.1±1.0(stat)±6.3(syst) MeV/c2, Γ(D∗sJ(2860)+) = 69.9±3.2(stat)±6.6(syst) MeV/c2

    Capturing and using quality attributes knowledge in software architecture evaluation process

    No full text
    Architectural knowledge management approaches have paid little attention to manage knowledge about quality attributes, which are the key considerations for designing and evaluating software architecture. In this work we identify the kinds of information that needs to be captured about quality attributes with special focus on architectural design decisions. We also describe how a tool can help to capture and reuse quality attributes knowledge to improve the software architecture process.Muhammad Ali Babar, Rafael Capill

    Demotivators of software process improvement: an empirical investigation

    No full text
    Abstract not availableMahmood Niazi, Muhammad Ali Babar, and Nolin Mark Katugampol

    Perspectives and reflections on cloud computing and internet technologies from NordiCloud 2012

    No full text
    The Nordic Symposium on Cloud Computing and Internet Technologies (NordiCloud) has been found with the key aim of promoting and supporting Cloud computing and Internet Technologies research and practice in Nordic and Baltic regions. It would provide a bridge between researchers and practitioners from Nordic/Baltic countries and Cloud computing communities in other parts of the World. The first symposium was organized as a collocated event with WICSA/ECSA 2012 in Helsinki, Finland. This report summarizes the key points from the symposium based on the presented talks and discussions. It highlights some of the areas that the participants considered worth pursuing in order to help organizations to not only exploit the opportunities that cloud computing offers but also to deal with the challenges when adopting cloud computing. This report points out some of the key challenges and potential solutions that are likely to interest researcher and practitioners in Nordic/Baltic regions and beyond.Muhammad Ali Baba

    Developing a course on designing software in globally distributed teams

    No full text
    Present-day software engineering combines technical and social skills, as well as collaboration among people with different backgrounds (e.g. due to global development and outsourcing). In this paper we address the problem of teaching "globally distributed development", and specifically software design. Our goal is to develop a joint Master course teaching software design in a global setting. To this end, we contribute with a list of characteristics to be developed, in the form of an 'orientation map' for educators. We use this map to build a joint course between two European universities.Patricia Lago, Henry Muccini, Muhammad Ali Baba

    A Tale of Migration to Cloud Computing for Sharing Experiences and Observations

    No full text
    Cloud computing is an emerging paradigm, which promises to make the utility computing model comprehensively implemented by using virtualization technologies. An increasing number of enterprises have started providing and using Cloud-enabled infrastructures and services. However, the advancement of cloud computing poses several new challenges to existing methods and approaches to develop and evolve software intensive systems. This paper reports our experiences and observations gained from migrating an Open Source Software (OSS), Hackystat, to cloud computing. We expect that our description of Hackystat's architecture prior and after migration and design decisions can provide some guidance about modifying architecture of a service-based system for cloud computing. Moreover, we also hope that our experiences reported in this paper can contribute to the identification of some research questions for improving software engineering support for developing and evolving cloud-enabled systems.Muhammad Ali Babar, Muhammad Aufeef Chauha
    corecore