The Experts below are selected from a list of 107394 Experts worldwide ranked by ideXlab platform

Muhammad Ali Babar - One of the best experts on this subject based on the ideXlab platform.

  • A framework for groupware-supported software Architecture Evaluation process in global software development
    Journal of Software: Evolution and Process, 2010
    Co-Authors: Muhammad Ali Babar
    Abstract:

    SUMMARY A software Architecture Evaluation process requires a large number of stakeholders to be collocated for Evaluation sessions. Given an increasing trend to using globally distributed software development teams, organizations are likely to be discouraged from introducing disciplined software Architecture Evaluation practices that require collocated stakeholders. To address this issue, we propose that a software Architecture Evaluation can be carried out using suitable groupware systems. In this paper, we present a framework for supporting the software Architecture Evaluation process using a groupware system. The framework highlights the changes that are required in the existing software Architecture Evaluation methods. We provide an illustrated example of modeling and mapping the activities of the presented process on electronic workspaces provided by a groupware system. We also identify some of the features that a groupware system should provide to successfully support the process. Copyright © 2010 John Wiley & Sons, Ltd.

  • Comparing distributed and face-to-face meetings for software Architecture Evaluation: A controlled experiment
    Empirical Software Engineering, 2008
    Co-Authors: Muhammad Ali Babar, Barbara Kitchenham, Ross Jeffery
    Abstract:

    Scenario-based methods for evaluating software Architecture require a large number of stakeholders to be collocated for Evaluation meetings. Collocating stakeholders is often an expensive exercise. To reduce expense, we have proposed a framework for supporting software Architecture Evaluation process using groupware systems. This paper presents a controlled experiment that we conducted to assess the effectiveness of one of the key activities, developing scenario profiles, of the proposed groupware-supported process of evaluating software Architecture. We used a cross-over experiment involving 32 teams of three 3rd and 4th year undergraduate students. We found that the quality of scenario profiles developed by distributed teams using a groupware tool were significantly better than the quality of scenario profiles developed by face-to-face teams ( p  

  • evaluating the usefulness and ease of use of a groupware tool for the software Architecture Evaluation process
    Empirical Software Engineering and Measurement, 2007
    Co-Authors: Muhammad Ali Babar, Dietmar Winkler, S Biffi
    Abstract:

    We have developed a framework for groupware tool support for the software Architecture Evaluation process in the context of global software development. We have empirically assessed the effectiveness of the groupware-supported software Architecture Evaluation process in a set of controlled experiments. While we found that groupware-supported distributed meetings can be very effective, we saw the need to investigate users' acceptance of the tool used in these empirical studies. In this paper we report on the "perceived usefulness" and "ease of use" of the groupware tool based on the adapted Davis' technology acceptance model (TAM), a widely used general-purpose instrument for measuring users' attitude towards a particular technology. Main results from analyzing the TAM data are: a majority of the participants found the tool quite useful and easy to use for supporting collaborative tasks like Architecture Evaluation; a majority of the respondents was also very positive about the regular use of the tool for collaborative tasks in the future. However, there was considerably less support for preferring a distributed tool-based meeting to a face-to-face meeting.

  • ESEM - Evaluating the Usefulness and Ease of Use of a Groupware Tool for the Software Architecture Evaluation Process
    First International Symposium on Empirical Software Engineering and Measurement (ESEM 2007), 2007
    Co-Authors: Muhammad Ali Babar, Dietmar Winkler, S Biffi
    Abstract:

    We have developed a framework for groupware tool support for the software Architecture Evaluation process in the context of global software development. We have empirically assessed the effectiveness of the groupware-supported software Architecture Evaluation process in a set of controlled experiments. While we found that groupware-supported distributed meetings can be very effective, we saw the need to investigate users' acceptance of the tool used in these empirical studies. In this paper we report on the "perceived usefulness" and "ease of use" of the groupware tool based on the adapted Davis' technology acceptance model (TAM), a widely used general-purpose instrument for measuring users' attitude towards a particular technology. Main results from analyzing the TAM data are: a majority of the participants found the tool quite useful and easy to use for supporting collaborative tasks like Architecture Evaluation; a majority of the respondents was also very positive about the regular use of the tool for collaborative tasks in the future. However, there was considerably less support for preferring a distributed tool-based meeting to a face-to-face meeting.

  • QoSA - Factors influencing industrial practices of software Architecture Evaluation: an empirical investigation
    Lecture Notes in Computer Science, 2007
    Co-Authors: Muhammad Ali Babar, Len Bass, Ian Gorton
    Abstract:

    To support software Architecture Evaluation practices, several efforts have been made to provide a basis for comparing and assessing Evaluation methods, document various best practices, and report the factors that may influence industrial practices. However, there has been no study to explore the experiences and perceptions of architects for determining the factors that influence Architecture Evaluation practices in a wide range of organizations. Hence, there is little empirically founded knowledge available on the factors that influence the industrial practices of software Architecture Evaluation. The goal of this paper is to report the results of an empirical study aimed at gaining an understanding of different factors involved in evaluating Architectures in industry. The results of this study shed light on the factors that influence Architecture Evaluation practices based on the experiences and perception of architects who regularly evaluate Architectures of various sizes of applications. It also discusses some of the strategies that practitioners apply to deal with the influence of the identified factors.

Ian Gorton - One of the best experts on this subject based on the ideXlab platform.

  • QoSA - Factors influencing industrial practices of software Architecture Evaluation: an empirical investigation
    Lecture Notes in Computer Science, 2007
    Co-Authors: Muhammad Ali Babar, Len Bass, Ian Gorton
    Abstract:

    To support software Architecture Evaluation practices, several efforts have been made to provide a basis for comparing and assessing Evaluation methods, document various best practices, and report the factors that may influence industrial practices. However, there has been no study to explore the experiences and perceptions of architects for determining the factors that influence Architecture Evaluation practices in a wide range of organizations. Hence, there is little empirically founded knowledge available on the factors that influence the industrial practices of software Architecture Evaluation. The goal of this paper is to report the results of an empirical study aimed at gaining an understanding of different factors involved in evaluating Architectures in industry. The results of this study shed light on the factors that influence Architecture Evaluation practices based on the experiences and perception of architects who regularly evaluate Architectures of various sizes of applications. It also discusses some of the strategies that practitioners apply to deal with the influence of the identified factors.

  • tradeoff and sensitivity analysis in software Architecture Evaluation using analytic hierarchy process
    Software Quality Journal, 2005
    Co-Authors: Liming Zhu, Ian Gorton, Aybuke Aurum, R Jeffery
    Abstract:

    Software Architecture Evaluation involves evaluating different Architecture design alternatives against multiple quality-attributes. These attributes typically have intrinsic conflicts and must be considered simultaneously in order to reach a final design decision. AHP (Analytic Hierarchy Process), an important decision making technique, has been leveraged to resolve such conflicts. AHP can help provide an overall ranking of design alternatives. However it lacks the capability to explicitly identify the exact tradeoffs being made and the relative size of these tradeoffs. Moreover, the ranking produced can be sensitive such that the smallest change in intermediate priority weights can alter the final order of design alternatives. In this paper, we propose several in-depth analysis techniques applicable to AHP to identify critical tradeoffs and sensitive points in the decision process. We apply our method to an example of a real-world distributed Architecture presented in the literature. The results are promising in that they make important decision consequences explicit in terms of key design tradeoffs and the Architecture's capability to handle future quality attribute changes. These expose critical decisions which are otherwise too subtle to be detected in standard AHP results.

  • comparison of scenario based software Architecture Evaluation methods
    Asia-Pacific Software Engineering Conference, 2004
    Co-Authors: Muhammad Ali Babar, Ian Gorton
    Abstract:

    Software engineering community has proposed several methods to evaluate software Architectures with respect to desired quality attributes such as maintainability, performance, and so on. There is, however, little effort on systematically comparing such methods to discover similarities and differences between existing approaches. In this paper, we compare four well known scenario-based SA Evaluation methods using an Evaluation framework. The framework considers each method from the point of view of method context, stakeholders, structure, and reliability. The comparison reveals that most of the studied methods are structurally similar but there are a number of differences among their activities and techniques. Therefore, some methods overlap, which guides us to identify five common activities that can form a generic process model.

  • Supporting Architecture Evaluation process with collaborative applications
    8th International Multitopic Conference 2004. Proceedings of INMIC 2004., 1
    Co-Authors: Muhammad Ali Babar, Ian Gorton
    Abstract:

    The software Architecture community has proposed several approaches to assess the capability of a system's Architecture with respect to desired quality attributes (such as maintainability and performance). Scenario-based approaches are considered effective and mature. However, these methods heavily rely on face-to-face meetings, which are expensive and time consuming. Encouraged by the successful adoption of Internet-based technologies for several meeting based activities, we have been developing an approach to support Architecture Evaluation using Web-based collaborative applications, in this paper, we present a preliminary framework for conducting Architecture Evaluation in a distributed arrangement. We identify some supportive technologies and their expected benefits. We also present some of the initial findings of a research program designed to assess the effectiveness of the proposed idea. Findings of this study provide some support for distributed Architecture Evaluation.

Liming Zhu - One of the best experts on this subject based on the ideXlab platform.

  • The Need for Software Architecture Evaluation in the Acquisition of Software-Intensive Sysetms
    2014
    Co-Authors: Liming Zhu, Mark Staples, Thong Nguyen
    Abstract:

    Abstract : The software Architecture for a software-intensive system defines the main elements of the system, their relationships, and the rationale for them in the system. Software Architecture is fundamental to whether a system can achieve its quality objectives. Architecture Evaluation is an approach for assessing whether a software Architecture can support the system needs, especially its non-functional requirements (also known as quality requirements). Architecture Evaluation can be used at different stages of a project, and is an effective way of ensuring design quality early in the lifecycle to reduce overall project cost and to manage risks. This report describes software Architecture and Architecture Evaluation, and summarises some of the key benefits for software Architecture Evaluation that have been observed both in industry and in international Defence contexts. We make some general recommendations about Architecture Evaluation in the context of Australian defence acquisition.

  • APSEC - An exploratory study of groupware support for distributed software Architecture Evaluation process
    Journal of Systems and Software, 2006
    Co-Authors: Muhammad Ali Babar, Barbara Kitchenham, Liming Zhu, Ross Jeffery
    Abstract:

    Software Architecture Evaluation is an effective means of addressing quality related issues quite early in the software development lifecycle. Scenario-based approaches to evaluate Architecture usually involve a large number of stakeholders, who need to be collocated for Evaluation sessions. Collocating a large number of stakeholders is an expensive and time-consuming exercise, which may prove to be a hurdle in the wide-spread adoption of architectural Evaluation practices. Drawing upon the successful introduction of groupware applications to support geographically distributed teams in software inspection, and requirements engineering disciplines, we propose the concept of distributed architectural Evaluation using Internet-based collaborative technologies. This paper illustrates the methodology of a pilot study to assess the viability of a larger experiment intended to investigate the feasibility of groupware support for distributed software Architecture Evaluation. In addition, the results of the pilot study provide some interesting findings on the viability of groupware-supported software architectural Evaluation process.

  • tradeoff and sensitivity analysis in software Architecture Evaluation using analytic hierarchy process
    Software Quality Journal, 2005
    Co-Authors: Liming Zhu, Ian Gorton, Aybuke Aurum, R Jeffery
    Abstract:

    Software Architecture Evaluation involves evaluating different Architecture design alternatives against multiple quality-attributes. These attributes typically have intrinsic conflicts and must be considered simultaneously in order to reach a final design decision. AHP (Analytic Hierarchy Process), an important decision making technique, has been leveraged to resolve such conflicts. AHP can help provide an overall ranking of design alternatives. However it lacks the capability to explicitly identify the exact tradeoffs being made and the relative size of these tradeoffs. Moreover, the ranking produced can be sensitive such that the smallest change in intermediate priority weights can alter the final order of design alternatives. In this paper, we propose several in-depth analysis techniques applicable to AHP to identify critical tradeoffs and sensitive points in the decision process. We apply our method to an example of a real-world distributed Architecture presented in the literature. The results are promising in that they make important decision consequences explicit in terms of key design tradeoffs and the Architecture's capability to handle future quality attribute changes. These expose critical decisions which are otherwise too subtle to be detected in standard AHP results.

  • a framework for classifying and comparing software Architecture Evaluation methods
    Australian Software Engineering Conference, 2004
    Co-Authors: Muhammad Ali Babar, Liming Zhu, Ross Jeffery
    Abstract:

    Software Architecture Evaluation has been proposed as a means to achieve quality attributes such as maintainability and reliability in a system. The objective of the Evaluation is to assess whether or not the Architecture lead to the desired quality attributes. Recently, there have been a number of Evaluation methods proposed. There is, however, little consensus on the technical and nontechnical issues that a method should comprehensively address and which of the existing methods is most suitable for a particular issue. We present a set of commonly known but informally described features of an Evaluation method and organizes them within a framework that should offer guidance on the choice of the most appropriate method for an Evaluation exercise. We use this framework to characterise eight SA Evaluation methods.

  • WICSA - Mining patterns to support software Architecture Evaluation
    Proceedings. Fourth Working IEEE IFIP Conference on Software Architecture (WICSA 2004), 1
    Co-Authors: Liming Zhu, Muhammad Ali Babar, Ross Jeffery
    Abstract:

    In this paper, we present an approach to improve the software Architecture Evaluation process by systematically extracting and appropriately documenting architecturally significant information from software Architecture and design patterns; we are interested in only two pieces of information found in software patterns: general scenarios and architectural tactics. General scenarios distilled from patterns not only assist stakeholders in developing concrete scenarios during a scenario-based Architecture Evaluation, but can also help an architect select and calibrate a quality attribute reasoning framework. Architectural tactics in patterns are used as a means of manipulating independent parameters in the reasoning framework to achieve the desired quality. Moreover, we believe if we use general scenarios and tactics extracted from patterns in an architectural Evaluation, the results of that Evaluation can be used as an evidence to validate the pattern's claim with respect to the quality attributes. We demonstrate our approach by using EJB Architecture usage patterns. We contend that this approach can be used to analyze and validate any Architecture pattern.

Ross Jeffery - One of the best experts on this subject based on the ideXlab platform.

  • Comparing distributed and face-to-face meetings for software Architecture Evaluation: A controlled experiment
    Empirical Software Engineering, 2008
    Co-Authors: Muhammad Ali Babar, Barbara Kitchenham, Ross Jeffery
    Abstract:

    Scenario-based methods for evaluating software Architecture require a large number of stakeholders to be collocated for Evaluation meetings. Collocating stakeholders is often an expensive exercise. To reduce expense, we have proposed a framework for supporting software Architecture Evaluation process using groupware systems. This paper presents a controlled experiment that we conducted to assess the effectiveness of one of the key activities, developing scenario profiles, of the proposed groupware-supported process of evaluating software Architecture. We used a cross-over experiment involving 32 teams of three 3rd and 4th year undergraduate students. We found that the quality of scenario profiles developed by distributed teams using a groupware tool were significantly better than the quality of scenario profiles developed by face-to-face teams ( p  

  • APSEC - An exploratory study of groupware support for distributed software Architecture Evaluation process
    Journal of Systems and Software, 2006
    Co-Authors: Muhammad Ali Babar, Barbara Kitchenham, Liming Zhu, Ross Jeffery
    Abstract:

    Software Architecture Evaluation is an effective means of addressing quality related issues quite early in the software development lifecycle. Scenario-based approaches to evaluate Architecture usually involve a large number of stakeholders, who need to be collocated for Evaluation sessions. Collocating a large number of stakeholders is an expensive and time-consuming exercise, which may prove to be a hurdle in the wide-spread adoption of architectural Evaluation practices. Drawing upon the successful introduction of groupware applications to support geographically distributed teams in software inspection, and requirements engineering disciplines, we propose the concept of distributed architectural Evaluation using Internet-based collaborative technologies. This paper illustrates the methodology of a pilot study to assess the viability of a larger experiment intended to investigate the feasibility of groupware support for distributed software Architecture Evaluation. In addition, the results of the pilot study provide some interesting findings on the viability of groupware-supported software architectural Evaluation process.

  • a framework for classifying and comparing software Architecture Evaluation methods
    Australian Software Engineering Conference, 2004
    Co-Authors: Muhammad Ali Babar, Liming Zhu, Ross Jeffery
    Abstract:

    Software Architecture Evaluation has been proposed as a means to achieve quality attributes such as maintainability and reliability in a system. The objective of the Evaluation is to assess whether or not the Architecture lead to the desired quality attributes. Recently, there have been a number of Evaluation methods proposed. There is, however, little consensus on the technical and nontechnical issues that a method should comprehensively address and which of the existing methods is most suitable for a particular issue. We present a set of commonly known but informally described features of an Evaluation method and organizes them within a framework that should offer guidance on the choice of the most appropriate method for an Evaluation exercise. We use this framework to characterise eight SA Evaluation methods.

  • WICSA - Mining patterns to support software Architecture Evaluation
    Proceedings. Fourth Working IEEE IFIP Conference on Software Architecture (WICSA 2004), 1
    Co-Authors: Liming Zhu, Muhammad Ali Babar, Ross Jeffery
    Abstract:

    In this paper, we present an approach to improve the software Architecture Evaluation process by systematically extracting and appropriately documenting architecturally significant information from software Architecture and design patterns; we are interested in only two pieces of information found in software patterns: general scenarios and architectural tactics. General scenarios distilled from patterns not only assist stakeholders in developing concrete scenarios during a scenario-based Architecture Evaluation, but can also help an architect select and calibrate a quality attribute reasoning framework. Architectural tactics in patterns are used as a means of manipulating independent parameters in the reasoning framework to achieve the desired quality. Moreover, we believe if we use general scenarios and tactics extracted from patterns in an architectural Evaluation, the results of that Evaluation can be used as an evidence to validate the pattern's claim with respect to the quality attributes. We demonstrate our approach by using EJB Architecture usage patterns. We contend that this approach can be used to analyze and validate any Architecture pattern.

  • ICSP - Scaling up software Architecture Evaluation processes
    Making Globally Distributed Software Development a Success Story, 1
    Co-Authors: Liming Zhu, Mark Staples, Ross Jeffery
    Abstract:

    As software systems become larger and more decentralized, increasinglycross organizational boundaries and continue to change, traditional structuraland prescriptive software Architectures are becoming more rule-centric forbetter accommodating changes and regulating distributed design and developmentprocesses. This is particularly true for Ultra-Large-Scale (ULS) systemsand industry-wide reference Architectures. However, existing Architecturedesign and Evaluation processes have mainly been designed for structural Architectureand do not scale up to large and complex system of systems. In this paper,we propose a new software Architecture Evaluation process - EvaluationProcess for Rule-centric Architecture (EPRA). EPRA reuses and tailors existingproven Architecture analysis process components and scales up to complexsoftware-intensive system of systems. We exemplify EPRA's use in an ArchitectureEvaluation exercise for a rule-centric industry reference Architecture.

Matthias Naab - One of the best experts on this subject based on the ideXlab platform.

  • ICSA Companion - How to Evaluate Software Architectures: Tutorial on Practical Insights on Architecture Evaluation Projects with Industrial Customers
    2018 IEEE International Conference on Software Architecture Companion (ICSA-C), 2018
    Co-Authors: Matthias Naab, Dominik Rost
    Abstract:

    Thorough and continuous architecting is the key to overall success in software engineering, and Architecture Evaluation is a crucial part of it. This tutorial presents a pragmatic Architecture Evaluation approach and insights gained from its application in more than 75 projects with industrial customers in the past decade. It presents context factors, empirical data, and example cases, as well as lessons learned on mitigating the risk of change through Architecture Evaluation. By providing comprehensive answers to many typical questions and discussing more frequent mistakes and lessons learned, the tutorial allows the audience to not only learn how to conduct Architecture Evaluations and interpret its results, but also to become aware of risks such as false conclusions, manipulating data, and unsound lines of argument. It equips the audience to become confident in assessing quantitative measurement results and recognize when it is better to rely on qualitative expertise. The target audience includes both practitioners and researchers. By demonstrating its impact and providing clear guidelines, data, and examples, it encourages practitioners to conduct Architecture Evaluations. At the same time, it offers researchers insights into industrial Architecture Evaluations, which serve as the basis for guiding research in this area and will inspire future research directions. Both groups will get an overview of the foundations and history of Architecture Evaluation. The tutorial covers the following important aspects of Architecture Evaluation • Architecture drivers: types of drivers, importance of drivers, elicitation of drivers, documentation of drivers as Architecture scenarios • Solution Adequacy Check: check whether an Architecture is adequate for its drivers, what are risks, assumptions, tradeoffs (based on ATAM (Architecture tradeoff analysis method) and enhanced with other techniques for increasing confidence of results) • Documentation Quality Check: How adequate is the documentation of an Architecture to be understandable and to serve its purposes? • Architecture Compliance Check: How to check whether an intended Architecture is consistently reflected in the source code? For all aspects, pragmatic methodical support is provided in the tutorial and all checks are well integrated in the overall Architecture Evaluation method.

  • ICSA Workshops - How to Evaluate Software Architectures: Tutorial on Practical Insights on Architecture Evaluation Projects with Industrial Customers
    2017 IEEE International Conference on Software Architecture Workshops (ICSAW), 2017
    Co-Authors: Jens Knodel, Matthias Naab
    Abstract:

    Thorough and continuous architecting is the key to overall success in software engineering, and Architecture Evaluation is a crucial part of it. This tutorial presents a pragmatic Architecture Evaluation approach and insights gained from its application in more than 75 projects with industrial customers in the past decade. It presents context factors, empirical data, and example cases, as well as lessons learned on mitigating the risk of change through Architecture Evaluation. By providing comprehensive answers to many typical questions and discussing lessons learned, the tutorial allows the audience to not only learn how to conduct Architecture Evaluations and interpret its results, but also to become aware of risks such as false conclusions, manipulating data, and unsound lines of argument. The target audience includes both practitioners and researchers. It encourages practitioners to conduct Architecture Evaluations. At the same time, it offers researchers insights into industrial Architecture Evaluations, which can inspire future research directions.

  • Why Architecture Evaluation
    Pragmatic Evaluation of Software Architectures, 2016
    Co-Authors: Jens Knodel, Matthias Naab
    Abstract:

    Architecture Evaluation is a valuable, useful, and worthwhile instrument for managing risks in software engineering. It provides confidence for decision-making at any time in the lifecycle of a software system. This chapter motivates Architecture Evaluation by explaining its role and its initiators, and by pointing out its benefits. Architecture Evaluation requires investments, but saves time and money (if done properly) by preventing wrong or inadequate decisions.

  • How to Acquire Architecture Evaluation Skills
    Pragmatic Evaluation of Software Architectures, 2016
    Co-Authors: Jens Knodel, Matthias Naab
    Abstract:

    Acquiring Architecture Evaluation skills is crucial for successful Architecture Evaluation projects. While this book provides answers to many questions in the area of Architecture Evaluation and introduces a comprehensive methodology, very good Architecture Evaluation skills will only come with practical experience. We will point out in the following how skills for Architecture Evaluation complement general architecting skills. A great source of skills is to explore a large number of software systems and their Architectures in great detail and to try to follow these software systems and their maintenance over their entire lifetime. Accompanying experienced evaluators is a great source of learning: observing how they work with stakeholders, thoroughly investigating the technical solutions, and presenting the results to management at the right level of abstraction.

  • What Is Architecture Evaluation
    Pragmatic Evaluation of Software Architectures, 2016
    Co-Authors: Jens Knodel, Matthias Naab
    Abstract:

    In this chapter, we will present what Architecture Evaluation is and what it consists of. We will break down the overall method of Architecture Evaluation into five clearly delineated checks: (1) checking the integrity of the drivers, (2) checking the solution adequacy of an Architecture, (3) checking the Architecture documentation quality, (4) checking the compliance of the implementation with the Architecture, and (5) checking the code quality in general. We will introduce confidence levels as a response to the risk-driven idea of Architecture Evaluation: we only want to invest as much as needed to gain enough confidence. We will show how Evaluation results can be interpreted, aggregated, and represented to senior management by mapping them to a color-coded rating scale.