Search results
1 – 10 of over 6000Jun Lin, Han Yu, Zhengxiang Pan, Zhiqi Shen and Lizhen Cui
Today’s software engineers often work in teams to develop complex software systems. Therefore, successful software engineering in practice require team members to possess not only…
Abstract
Purpose
Today’s software engineers often work in teams to develop complex software systems. Therefore, successful software engineering in practice require team members to possess not only sound programming skills such as analysis, design, coding and testing but also soft skills such as communication, collaboration and self-management. However, existing examination-based assessments are often inadequate for quantifying students’ soft skill development. The purpose of this paper is to explore alternative ways for assessing software engineering students’ skills through a data-driven approach.
Design/methodology/approach
In this paper, the exploratory data analysis approach is adopted. Leveraging the proposed online agile project management tool – Human-centred Agile Software Engineering (HASE), a study was conducted involving 21 Scrum teams consisting of over 100 undergraduate software engineering students in multi-week coursework projects in 2014.
Findings
During this study, students performed close to 170,000 software engineering activities logged by HASE. By analysing the collected activity trajectory data set, the authors demonstrate the potential for this new research direction to enable software engineering educators to have a quantifiable way of understanding their students’ skill development, and take a proactive approach in helping them improve their programming and soft skills.
Originality/value
To the best of the authors’ knowledge, there has yet to be published previous studies using software engineering activity data to assess software engineers’ skills.
Details
Keywords
The purpose of this paper is to shed light on understanding how value creation can be improved by developing dynamic capabilities in product development, in the case of a software…
Abstract
Purpose
The purpose of this paper is to shed light on understanding how value creation can be improved by developing dynamic capabilities in product development, in the case of a software engineering process.
Design/methodology/approach
The methodology involves a single‐case, longitudinal empirical study by progression of cycles of action research and data collection during a seven‐year period (1 January 2004‐31 November 2010), comprising 55 corporate projects.
Findings
This study will provide significant new information about value creation in multi‐disciplined product development. The study integrates value considerations into the principles and practices of software engineering, implements the aspect of dynamic capabilities in a software engineering process in order to create and sustain competitive advantage. As a result of the study, a model of value creation for software engineering process is created and guidelines are established.
Research limitations/implications
The contextual features were strongly present during the research process, which means that the model created needs to be tested in other settings by other researchers.
Practical implications
The results of the study provide management with guidelines for developing and maintaining the importance of value creation in the software engineering process.
Originality/value
The paper presents a new model of value creation for the software engineering process in product development, through which competitive advantage is created and sustained.
Details
Keywords
Joanna F. DeFranco and Phillip Laplante
The purpose of this mapping study has been performed to identify, critically analyze and synthesize research performed in the area of software engineering teams. Teams, in a…
Abstract
Purpose
The purpose of this mapping study has been performed to identify, critically analyze and synthesize research performed in the area of software engineering teams. Teams, in a general sense, have been studied extensively. But the distinctive processes that need to be executed effectively and efficiently in software engineering require a better understanding of current software engineering team research.
Design/methodology/approach
In this work, software engineering team publications were analyzed and the key findings of each paper that met our search inclusion criteria were synthesized. In addition, a keyword content analysis was performed to create a taxonomy to categorize each paper and evaluate the state of software engineering team research.
Findings
In software engineering team research, the resulting areas that are the most active are teamwork/collaboration, process/design and coordination. Clear themes of analysis have been determined to help understand how team members collaborate, factors affecting their success and interactions among all project stakeholders. In addition, themes related to tools to support team collaboration, improve the effectiveness of software engineering processes and support team coordination have been found. However, the research gaps determined from the content analysis point toward a need for more research in the area of communication and tools.
Originality/value
The goal of this work is to define the span of previous research in this area, create a taxonomy to categorize such research and identify open research areas to provide a clear road map for future research in the area of software engineering teams. These results, along with the key finding themes presented, will help guide future research in an area that touches all parts of the software engineering and development processes.
Details
Keywords
This paper aims to discuss the challenge for the classical idea of professionalism in understanding the Chinese software engineering industry after giving a close insight into the…
Abstract
Purpose
This paper aims to discuss the challenge for the classical idea of professionalism in understanding the Chinese software engineering industry after giving a close insight into the development of this industry as well as individual engineers with a psycho‐societal perspective.
Design/methodology/approach
The study starts with the general review of the sociological concept of profession, professional and specialization of knowledge. Together with revealing the critical challenge from the empirical field of software engineering industry regarding its professionalization, a critique of the neglect of subjective agency in classical conception of professionalism in sociology theory and methodology is set out.
Findings
A case study with interpretation of the subject's continuously developing identification with their specialization in knowledge and occupation from their narration of career experience reveals the dynamics in this development process relating to individual, social practice and societal factors.
Originality/value
This paper contributes to empirical research of analyzing the professionalization process of software engineering and software engineers in relation to the concept of professionalism, and it contributes theoretically by discussing the challenge of this process to the development of professionalism within this highly knowledge‐based industry in a Chinese societal context.
Details
Keywords
Martin Dietze and Marion Kahrens
This paper aims to close the gap between the generic concept of knowledge activities (KAs) and implementing them in the context of software engineering organisations concentrating…
Abstract
Purpose
This paper aims to close the gap between the generic concept of knowledge activities (KAs) and implementing them in the context of software engineering organisations concentrating on the non-technical aspects, such as team organisation and practices.
Design/methodology/approach
This qualitative research used a questionnaire with practitioners such as software developers and team leads who were asked to provide feedback on a set of team practices and measures typically used in software engineering projects and assess their relation to the activities of acquiring, codifying, storing, maintaining, transferring and creating knowledge. The obtained results were analysed using frequency analysis and further descriptive statistics yielding a matrix linking the investigated team practices and measures to KAs.
Findings
Team practices and measures commonly applied in software engineering can be facilitated to trigger particular KAs. While most of these team practices and measures originate from agile methods, they are not restricted to these. A purposeful composition can help in assembling a balanced set of KAs aimed at fostering given knowledge goals in software engineering organisations.
Practical implications
By bridging the communication and terminology gap between knowledge management research and software engineering practitioners, this work lays the foundation for assessing software teams’ knowledge profiles more easily and creating prerequisites for implementing knowledge management by facilitating common practices and measures often already part of their daily work. Hence, overhead can be avoided when implementing knowledge management.
Originality/value
To the best of the authors’ knowledge, this is the first study investigating application and relevance of KAs in the software industry by linking them to practices and measures well-accepted in software engineering, thus providing the necessary vocabulary for the implementation of knowledge management in software development teams.
Details
Keywords
Joselaine Valaski, Sheila Reinehr and Andreia Malucelli
The purpose of this research was to evaluate whether ontology integrated in an organizational learning environment may support the automatic learning material classification in a…
Abstract
Purpose
The purpose of this research was to evaluate whether ontology integrated in an organizational learning environment may support the automatic learning material classification in a specific knowledge area.
Design/methodology/approach
An ontology for recommending learning material was integrated in the organizational learning environment based on ontology. An experiment was performed with 15 experts and 84 learners. Experts and learners were asked to classify 30 learning material related to Software Engineering area. The results obtained from experts and learners were compared with the ontology results.
Findings
Among 30 learning materials evaluated, 24 learning materials got closer to the expert classification using the ontology than using the learners’ manual classification. The learners had difficulties in correctly classifying the learning materials according to the knowledge area applied.
Originality/value
In an autonomous collaborative environment without a tutor responsible for organizing the learning materials shared by collaborators, an ontology may be an auxiliary mechanism to support automatic learning material classification. The proposed ontology uses recommendations given by the collaborators to get the correct knowledge area classification. The correct classification may support retrieval of appropriate learning materials according to the learners’ needs.
Details
Keywords
Luís Leite, Daniel Rodrigues dos Santos and Fernando Almeida
This paper aims to explore the changes imposed by the general data protection regulation (GDPR) on software engineering practices. The fundamental objective is to have a…
Abstract
Purpose
This paper aims to explore the changes imposed by the general data protection regulation (GDPR) on software engineering practices. The fundamental objective is to have a perception of the practices and phases that have experienced the greatest changes. Additionally, it aims to identify a set of good practices that can be adopted by software engineering companies.
Design/methodology/approach
This study uses a qualitative methodology through four case studies involving Portuguese software engineering companies. Two of these companies are small and medium enterprises (SMEs) while the other remaining two are micro-companies. The thematic analysis is adopted to identify patterns in the performed interviews.
Findings
The findings indicate that significant changes have occurred at all stages of software development. In particular, the initial stages of identifying requirements and modeling processes were the stages that experienced the greatest changes. On the opposite, the technical development phase has not noticeably changed but, nevertheless, it is necessary to look at the importance of training software developers for GDPR rules and practices.
Research limitations/implications
Two relevant limitations were identified as follows: only four case studies involving micro-companies and SMEs were considered, and only the traditional software development methodology was considered. The use of agile methodologies was not explored in this study and the findings can only be mainly applied to the waterfall model.
Originality/value
This study offers mainly practical contributions by identifying a set of challenges that are posed to software engineering companies by the implementation of GDPR. Through their knowledge, it is expected to help these companies to better prepare themselves and anticipate the challenges they will necessarily face.
Details
Keywords
John McManus and Trevor Wood‐Harper
The purpose of this paper is to examine the concept of quality related to the context of software development using the ISO, TickIT and CMM frameworks. The paper also seeks to…
Abstract
Purpose
The purpose of this paper is to examine the concept of quality related to the context of software development using the ISO, TickIT and CMM frameworks. The paper also seeks to stress the fact that the different perspectives of those involved in software development will influence how quality is seen and measured. In the context of software engineering projects, quality takes on a broad meaning that refers not only to the way in which companies manage software engineering projects, but also to the software development process itself.
Design/methodology/approach
The approach and methodology adopted for this paper were a review of the literature and best practice in software engineering. It is argued that users of software systems are more interested in how easy the software is to use than in the underlying application code that is used to generate the system. Using the body of knowledge that is software quality the basic characteristics of software quality are described and compared in terms of quality standards such as ISO, TickIT and CMM. Each of these standards is decomposed further in order to clarify its usefulness.
Findings
The findings in the paper suggest that, whilst there are many differences in the quality standards used, there are a number of similar characteristics. In essence the underlying philosophies of ISO and CMM have at the core the same goals. Some academics see CMM as being technically over‐engineered; a CMM‐compliant quality system is in many respects far in advance of ISO.
Research limitations/implications
This paper helps define the strengths and weaknesses within ISO, TickIT and CMM from a software engineering practitioner perspective.
Practical implications
The paper shows that software engineers need to pay more attention to the performance and conformance issues in software projects and to be proactive rather than reactive to quality issues.
Originality/value
It may be argued that the importance of this paper lies in the assertion that those engaged in the software engineering are in need of a multi‐perspective view on quality and, with that in mind, this paper should appeal to practitioners and members of the academic community with an interest in software quality.
Details
Keywords
Oliver K. Burmeister and John Weckert
It has been argued that it is in the best interests of IT professionals, to adopt and enforce professional codes in the work place. But there is no code for usability engineers…
Abstract
It has been argued that it is in the best interests of IT professionals, to adopt and enforce professional codes in the work place. But there is no code for usability engineers, unless one accepts that it is a branch of software engineering. The new joint ACM/IEEE‐CS Software Engineering Code of Ethics is applied to actual usability cases. This enables usability engineers to interpret this code in their profession. This is achieved by utilizing four case studies both directly in terms of the ethical issues involved and in the light of the code. Also examined are the short‐comings of the code for the domain of usability engineering, and suggestions are made for enhancements for future revisions of the code.
Details
Keywords
Malathi Sivasankara Pillai and Kannan Balakrishnan
This paper aims to prove the following hypothesis Problem Statement: HYPOTHESIS (1) User Experience collection of mobile applications can be done using the Crowdsourcing…
Abstract
Purpose
This paper aims to prove the following hypothesis Problem Statement: HYPOTHESIS (1) User Experience collection of mobile applications can be done using the Crowdsourcing mechanism; (2) User Experience collection of mobile applications are influenced by the mindset of Crowdmembers, culture/ethnicity/social background, ease of interface use and rewards, among other factors.
Design/methodology/approach
The authors of this paper, did a literature review first to find if Crowdsourcing was applicable and a used method to solve problems in Software Engineering. This helped us to narrow down the application of Crowdsourcing to the Requirements Engineering-Usability (User Experience) collection. User experience collection of two Malayalam language-based mobile applications, AarogyaSetu and BevQ was done as the next step. Incorporating findings from Study I, another study using AarogyaSetu and Manglish was launched as Study II. The results from both cases were consolidated and analyzed. Significant concerns relating to expectations of Crowd members with User Experience collection were unraveled and the purpose of Study was accomplished.
Findings
(1) Crowdsourcing is and can be used in Software Engineering activities. (2) Crowd members have expectations (motivating factors) of User Interface and other elements that enable them to be an effective contributor. (3) An individual’s environment and mindset (character) are influential in him becoming a contributor in Crowdsourcing. (4) Culture and social practices of a region strongly affects the crowd-participating decision of an individual.
Originality/value
This is purely self-done work. The value of this research work is two-fold. Crowdsourcing is endorsed significant in Software Engineering tasks, especially in User Experience collection of mobile applications. Two, the Crowd service requesters can be careful about designing the questionnaire for Crowdsourcing. They have to be aware and prepared to meet the expectations of the Crowd. This can ensure the active participation of potential contributors. Future researchers can use the results of this work to base their research on similar purposes.
Details