16 research outputs found

    How software engineering research aligns with design science: A review

    Full text link
    Background: Assessing and communicating software engineering research can be challenging. Design science is recognized as an appropriate research paradigm for applied research but is seldom referred to in software engineering. Applying the design science lens to software engineering research may improve the assessment and communication of research contributions. Aim: The aim of this study is 1) to understand whether the design science lens helps summarize and assess software engineering research contributions, and 2) to characterize different types of design science contributions in the software engineering literature. Method: In previous research, we developed a visual abstract template, summarizing the core constructs of the design science paradigm. In this study, we use this template in a review of a set of 38 top software engineering publications to extract and analyze their design science contributions. Results: We identified five clusters of papers, classifying them according to their alignment with the design science paradigm. Conclusions: The design science lens helps emphasize the theoretical contribution of research output---in terms of technological rules---and reflect on the practical relevance, novelty, and rigor of the rules proposed by the research.Comment: 32 pages, 10 figure

    Utilising the Software Engineering Methods and Theory framework to critically evaluate software engineering practice in the South African banking industry

    Get PDF
    A research report submitted to the Faculty of Engineering and The Built Environment of the University of Witwatersrand, Johannesburg In partial fulfilment of the requirements for the Degree of Master of Science in Engineering September 2015In recent years, software has become the cornerstone of banking and new business products are directly dependant on software. The delivery cycles for new features is now related to market share. This drive to use software as a vehicle for competitive advantage has created an environment in which software development of new business systems are increasingly on the critical path of many projects. An organisation’s portfolio of software intensive projects is situated within this complexity and organisations attempt to mitigate the risks associated with these complexities by implementing software development processes and practices. A key problem facing the modern bank is how to define and build a software development process that caters for both the traditional and increasingly agile genres of software development characteristics in a consistent and manageable way. The banks attempt to address this problem through continuous methodology and process improvements. Comparing and assessing non-standardised software engineering lifecycle models without a common framework is a complex and subjective task. A standardised language is important for simplifying the task for developing new methods and practices or for analysing and documenting existing practices. The Software Engineering Methods and Theory (SEMAT) initiative has developed a standardised kernel of essential concepts, together with a language that describes the essence of software engineering. This kernel, called the Essence, has recently become an Object Management Group (OMG) standard. The Essence kernel, together with its language, can be used as the underpinning theory to analyse an existing method and help provide insights that can drive method enhancements. The research report proposes a simple, actionable analysis framework to assist organisations to assess, review and develop their software engineering methods. The core concepts of the methodology are identified and mapped to the Essence concepts. The governance model of the Essence is mapped to the governance model of the industry model and a set of practices is identified and documented in the Essence language. The mapping and resulting analysis can be used to test the validity of the Essence theory in practice and identify areas for improvement in both the method and the Essence standard. The analysis framework has been applied to an operational software development lifecycle of a large South African bank. A mapping of the Essence concepts to the governance model and method documented in the lifecycle was completed. This mapping revealed that the Essence is a valid tool and can be used to describe a method in practice. Furthermore it is useful as an analysis framework to assess the governance model that manages and measures the progress of an endeavour in the Bank. The case study and resulting analysis demonstrate that the Essence standard can be used to analyse a methodology and identify areas for improvement. The analysis also identified areas for improvement in the Essence specification

    Modelo para la definición unificada de la práctica como constructo Teórico en ingeniería de software

    Get PDF
    La comunidad Semat (Software Engineering Method and Theory) se enfoca en dos objetivos principales: definir un núcleo de elementos que describan la Esencia de la ingeniería de software y definir una teoría general para la disciplina. Toda teoría general bien definida incluye constructos teóricos, proposiciones, explicaciones y alcance de la teoría. Los constructos teóricos son los conceptos básicos de un dominio en particular y constituyen el vocabulario de la teoría general. En ingeniería de software existen intentos para definir un vocabulario unificado. Sin embargo, las definiciones que se proponen no aportan información suficiente para definir constructos teóricos que son base de una teoría general. Definir un vocabulario unificado es particularmente complejo en ingeniería de software, debido a que existen micro-teorías con constructos teóricos de uso común que tienen definiciones diversas, como es el caso de la práctica. En diferentes propuestas de ingeniería de software, desde su particularidad, se define la práctica ignorando otras visiones, es decir, presentan definiciones no unificadas. También, se define la práctica de manera ambigua, ya que otros constructos teóricos incluidos en un esfuerzo de ingeniería de software pueden cumplir también con la definición de práctica y las prácticas que se proponen se nombran de forma inadecuada. Aunque en ingeniería de software existen esfuerzos enfocados en la definición de práctica, aún no se logra una definición unificada y carente de ambigüedad. En esta Tesis Doctoral se consolida un modelo para la definición unificada y carente de ambigüedad de la práctica como constructo teórico en ingeniería de software. Los constructos teóricos y las proposiciones que sirven para caracterizar la práctica se identifican a partir del análisis de prácticas de diferentes enfoques y se integran en los componentes del modelo. Cada componente permite cumplir funciones específicas que se orientan a definir prácticas bien formadas y nombradas. El modelo que se obtiene como resultado de esta Tesis Doctoral es una contribución a la definición de una teoría general y, específicamente, a la construcción de un vocabulario unificado para la ingeniería de software, ya que permite definir de manera unificada y carente de ambigüedad el constructo teórico de práctica. El modelo se valida mediante la consulta a expertos de la comunidad de ingeniería de software. En la validación se realizan análisis cualitativos y cuantitativos que permiten identificar las oportunidades de mejora y el nivel de aceptación del modelo para los expertos evaluadores.Abstract: The Semat—Software Engineering Method and Theory—community focus on two main objectives: defining a kernel of elements for describing the Essence of software engineering and defining a general theory for such a discipline. All well-defined general theories include theoretical constructs, propositions, explanations, and scope. Theoretical constructs are the basic concepts of a specific domain and they constitute the vocabulary of the general theory. Some authors try to define a unified vocabulary in software engineering. However, the proposed definitions lack enough information for defining theoretical constructs, which are the basis of a general theory. Defining a unified vocabulary is particularly complex in software engineering, since micro-theories commonly include theoretical constructs involving different definitions; practice is one of such constructs. Practice is particularly defined in different proposals of software engineering regardless of other visions, i.e., such proposals include non-unified definitions. Also, practice is ambiguously defined, since other theoretical constructs included in a software engineering endeavor can also comply with the definition of practice, and such proposed practices are inappropriately named. Although some software engineering endeavors are focused on the definition of practice, a unified and unambiguous definition is still absent in this regard. In this Ph.D. Thesis we consolidate a model of the unified and unambiguous definition of practice as a theoretical construct in software engineering. Theoretical constructs and propositions for characterizing the practice construct are identified from the analysis of practices from different approaches; such constructs and propositions are integrated into the components of the model. Each component allows for fulfilling specific functions oriented to define well-formed, well-named practices. The model obtained as a result of this Ph.D. Thesis is a contribution to the definition of a general theory. Specifically, we want to contribute to the construction of a unified vocabulary of software engineering, since we define the theoretical construct of practice in a unified, unambiguous way. We validate the model by consulting experts from the software engineering community. In the validation, we develop qualitative and quantitative analysis with the collected information for identifying the opportunities for improvement and the level of acceptance of the expert evaluators.Doctorad

    A Contingency Theory Motivated Framework to Select Information System Development Methods

    Get PDF
    Several change-driven (agile) information systems development (ISD) methods have been launched during the recent years. In addition to agile ISD methods it is still possible to succeed also with plan-driven ISD methods. To facilitate ISD method selections that maximize the probability of ISD project success we crafted and evaluated an ISD method selection framework based on the idea of matching the properties of ISD methods and the characteristics of the business contexts where ISD methods are used. We conducted a systematic literature search to evaluate whether the proposed framework is also able to capture the findings of prior ISD method selection research and to guide future empirical research. From over 1000 potential articles we identified 42 articles that address ISD method selection. We discovered that the proposed framework was able to explain the findings of prior research

    Modern software cybernetics: new trends

    Get PDF
    Software cybernetics research is to apply a variety of techniques from cybernetics research to software engineering research. For more than fifteen years since 2001, there has been a dramatic increase in work relating to software cybernetics. From cybernetics viewpoint, the work is mainly on the first-order level, namely, the software under observation and control. Beyond the first-order cybernetics, the software, developers/users, and running environments influence each other and thus create feedback to form more complicated systems. We classify software cybernetics as Software Cybernetics I based on the first-order cybernetics, and as Software Cybernetics II based on the higher order cybernetics. This paper provides a review of the literature on software cybernetics, particularly focusing on the transition from Software Cybernetics I to Software Cybernetics II. The results of the survey indicate that some new research areas such as Internet of Things, big data, cloud computing, cyber-physical systems, and even creative computing are related to Software Cybernetics II. The paper identifies the relationships between the techniques of Software Cybernetics II applied and the new research areas to which they have been applied, formulates research problems and challenges of software cybernetics with the application of principles of Phase II of software cybernetics; identifies and highlights new research trends of software cybernetic for further research

    Modern software cybernetics: New trends

    Get PDF
    The file attached to this record is the author's final peer reviewed version. The Publisher's final version can be found by following the DOI link.Software cybernetics research is to apply a variety of techniques from cybernetics research to software engineering research. For more than fifteen years since 2001, there has been a dramatic increase in work relating to software cybernetics. From cybernetics viewpoint, the work is mainly on the first-order level, namely, the software under observation and control. Beyond the first-order cybernetics, the software, developers/users, and running environments influence each other and thus create feedback to form more complicated systems. We classify software cybernetics as Software Cybernetics I based on the first-order cybernetics, and as Software Cybernetics II based on the higher order cybernetics. This paper provides a review of the literature on software cybernetics, particularly focusing on the transition from Software Cybernetics I to Software Cybernetics II. The results of the survey indicate that some new research areas such as Internet of Things, big data, cloud computing, cyber-physical systems, and even creative computing are related to Software Cybernetics II. The paper identifies the relationships between the techniques of Software Cybernetics II applied and the new research areas to which they have been applied, formulates research problems and challenges of software cybernetics with the application of principles of Phase II of software cybernetics; identifies and highlights new research trends of software cybernetic for further research

    Quality Practitioners' Differing Perspectives on Future Software Quality Assurance Practices

    Get PDF
    Constant changes in business context and software development make it important to understand how software quality assurance (SQA) should respond. Examining SQA from supplier and client perspectives, this study explores how different groups of SQA practitioners perceive future needs. A survey (n = 93) conducted in fall 2017 explored the views of SQA organizations on future trends. The results indicate that SQA organizations differ slightly in their attitudes to quality categories, as do different groups of SQA practitioners. It is argued that these differences should be taken into account when developing and implement-ing future SQA strategy. It is further argued that the found basic enables SQA management, evaluation of new practices and allocation of resources to ensure that all quality categories remain balanced in the future.</p
    corecore