23 research outputs found
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
VENUS meets SEMAT : How do they compare?
SEMAT (Software Engineering Methods And Theory) is an initiative to define a generic foundation for software engineering as a rigorous discipline. The so-called SEMAT kernel provides a thinking framework for software engineers that is not constrained to certain methods and processes but aims to encompass all kinds of proven principles and best practices. Our own interdisciplinary VENUS development method is designed to achieve similar generality and compatibility objectives, although the chosen application domain in VENUS has a much narrower scope. In this paper we compare the VENUS development method with SEMAT. The main contributions are positioning the VENUS development concepts within the SEMAT conceptual framework, and investigating whether SEMAT is an appropriate framework for dealing with inherently interdisciplinary development processes. In the end we present suggestions for the improvement of both approaches.Sociedad Argentina de Informática e Investigación Operativa (SADIO
VENUS meets SEMAT : How do they compare?
SEMAT (Software Engineering Methods And Theory) is an initiative to define a generic foundation for software engineering as a rigorous discipline. The so-called SEMAT kernel provides a thinking framework for software engineers that is not constrained to certain methods and processes but aims to encompass all kinds of proven principles and best practices. Our own interdisciplinary VENUS development method is designed to achieve similar generality and compatibility objectives, although the chosen application domain in VENUS has a much narrower scope. In this paper we compare the VENUS development method with SEMAT. The main contributions are positioning the VENUS development concepts within the SEMAT conceptual framework, and investigating whether SEMAT is an appropriate framework for dealing with inherently interdisciplinary development processes. In the end we present suggestions for the improvement of both approaches.Sociedad Argentina de Informática e Investigación Operativa (SADIO
A standard-based framework to integrate software work in small settings
Small software companies have to work hard in order to survive. They usually find it challenging to spend time and effort on improving there operations and processes. Therefore, it is important to address such needs by the introduction of a proposed framework that specifies ways of getting things done while consciously encourage them to enhance their ability to improve. Although there are many software process improvement approaches, none of them address the human factors of small companies in a comprehensive and holistic way. Samay is a proposed framework to integrate human factors in the daily work as a way to deal with that challenge. This study suggests managing human factors but pointing out the software process life cycle. The purpose is to converge toward a continuous improvement by means of alternative mechanisms that impact on people. This framework was developed based upon reviews of relevant standards (such as ISO/IEC 29110, ISO 10018, OMG Essence and ISO/IEC 33014) and previously published studies in this field. Moreover, an expert review and validation findings supported the view that Samay could support practitioners when small software companies want to start improving their ways of work
VENUS meets SEMAT : How do they compare?
SEMAT (Software Engineering Methods And Theory) is an initiative to define a generic foundation for software engineering as a rigorous discipline. The so-called SEMAT kernel provides a thinking framework for software engineers that is not constrained to certain methods and processes but aims to encompass all kinds of proven principles and best practices. Our own interdisciplinary VENUS development method is designed to achieve similar generality and compatibility objectives, although the chosen application domain in VENUS has a much narrower scope. In this paper we compare the VENUS development method with SEMAT. The main contributions are positioning the VENUS development concepts within the SEMAT conceptual framework, and investigating whether SEMAT is an appropriate framework for dealing with inherently interdisciplinary development processes. In the end we present suggestions for the improvement of both approaches.Sociedad Argentina de Informática e Investigación Operativa (SADIO
Project management in social data science : integrating lessons from research practice and software engineering
Online platforms, transaction processing systems, mobile sensors and other novel
sources of data have shaped many areas of social research. The emerging discipline
of social data science is subject to questions of epistemology, politics, ethics and
responsibility, while the practice of doing social data science raises significant
project management issues that include logistics, team communication, software
system integration and stakeholder engagement. Keeping track of such a multitude
of individual concerns while maintaining an overview of a social data science project
as a whole is not trivial. This calls for provision of appropriate guidance for holistic
project management.
The project management issues in social data science are strikingly similar to
those arising in software engineering. In this thesis, I adapt a particular software
engineering project management tool – the SEMAT Essence model (Jacobson
et al., 2013) – to the needs of social data science. This model offers a holistic
management approach by addressing key project aspects, including the often
overlooked yet crucially important ones such as maintaining stakeholder engagement
and establishing the ways of working. The SEMAT Essence is a progress tracking
model and does not assume any specific work process, which is valuable given the
great diversity of social data science projects.
To achieve this goal, I study the practice of doing social data science through
participant observation of social data science projects and by providing ethnographic
accounts for those. Using the ethnographic findings and the basic content and
structure of the SEMAT model, I develop the Social Science Scorecard Deck – an
agile project management tool for social data science. To assess the Scorecard Deck,
I use the tool in management of a social data science project and then subject the
tool to external validation by interviewing experts in social data science
The Essence of Software Engineering
Software Engineering; Software Development; Software Processes; Software Architectures; Software Managemen
Omission of quality software development practices : a systematic literature review
Software deficiencies are minimized by utilizing recommended software development and quality assurance practices. However, these recommended practices (i.e., quality practices) become ineffective if software professionals purposefully ignore them. Conducting a systematic literature review (n = 4,838), we discovered that only a small number of previous studies, within software engineering and information systems literature, have investigated the omission of quality practices. These studies explain the omission of quality practices mainly as a result of organizational decisions and trade-offs made under resource constraints or market pressure. However, our study indicates that different aspects of this phenomenon deserve further research. In particular, future research must investigate the conditions triggering the omission of quality practices and the processes through which this phenomenon occurs. Especially, since software development is a human-centric phenomenon, the psychological and behavioral aspects of this process deserve in-depth empirical investigation. In addition, futures research must clarify the social, organizational, and economical consequences of ignoring quality practices. Gaining in-depth theoretically sound and empirically grounded understandings about different aspects of this phenomenon enables research and practice to suggest interventions to overcome this issue.fi=vertaisarvioitu|en=peerReviewed