16 research outputs found
How software engineering research aligns with design science: A review
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
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
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
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
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
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
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