406,009 research outputs found
The dimensions of software engineering success
Software engineering research and practice are hampered by the lack of a well-understood, top-level dependent variable. Recent initiatives on General Theory of Software Engineering suggest a multifaceted variable – Software Engineering Success. However, its exact dimensions are unknown. This paper investigates the dimensions (not causes) of software engineering success. An interdisciplinary sample of 191 design professionals (68 in the software industry) were interviewed concerning their perceptions of success. Non-software designers (e.g. architects) were included to increase the breadth of ideas and facilitate comparative analysis. Transcripts were subjected to supervised, semi-automated semantic content analysis, including a software developer vs. other professionals comparison. Findings suggest that participants view their work as time-constrained projects with explicit clients and other stakeholders. Success depends on stakeholder impacts – financial, social, physical and emotional – and is understood through feedback. Concern with meeting explicit requirements is peculiar to software engineering and design is not equated with aesthetics in many other fields. Software engineering success is a complex multifaceted variable, which cannot sufficiently be explained by traditional dimensions including user satisfaction, profitability or meeting requirements, budgets and schedules. A proto-theory of success is proposed, which models success as the net impact on a particular stakeholder at a particular time. Stakeholder impacts are driven by project efficiency, artifact quality and market performance. Success is not additive, e.g., ‘low’ success for clients does not average with ‘high’ success for developers to make ‘moderate’ success overall; rather, a project may be simultaneously successful and unsuccessful from different perspectives
Case Survey Studies in Software Engineering Research
Background: Given the social aspects of Software Engineering (SE), in the
last twenty years, researchers from the field started using research methods
common in social sciences such as case study, ethnography, and grounded theory.
More recently, case survey, another imported research method, has seen its
increasing use in SE studies. It is based on existing case studies reported in
the literature and intends to harness the generalizability of survey and the
depth of case study. However, little is known on how case survey has been
applied in SE research, let alone guidelines on how to employ it properly.
Aims: This article aims to provide a better understanding of how case survey
has been applied in Software Engineering research. Method: To address this
knowledge gap, we performed a systematic mapping study and analyzed 12 Software
Engineering studies that used the case survey method. Results: Our findings
show that these studies presented a heterogeneous understanding of the approach
ranging from secondary studies to primary inquiries focused on a large number
of instances of a research phenomenon. They have not applied the case survey
method consistently as defined in the seminal methodological papers.
Conclusions: We conclude that a set of clearly defined guidelines are needed on
how to use case survey in SE research, to ensure the quality of the studies
employing this approach and to provide a set of clearly defined criteria to
evaluate such work.Comment: Accepted for presentation at ACM / IEEE International Symposium on
Empirical Software Engineering and Measurement (ESEM) (ESEM '20
Recommended from our members
Release engineering processes, their faults and failures
textRelease processes form an important, if overlooked, part of the complete software development life cycle. Many organizations implement the roles of release engineering and release management in different ways, with a wide amount of variance within the software industry. Ill-designed processes can lead to a higher number of software faults and costly delays. Failures in release engineering can have negative implications, yet the causes of release process failures are not well understood within in the software engineering research community.
This dissertation addresses the questions of what the common release process structure is, what the common failure modes are, and how organizations recover from and prevent these failures. We address these questions through a series of case studies with practicing release engineers at commercial software companies. The live interviews with these individual companies provide insight into the state of the practice in release engineering today across a broad spectrum of organization and software domains.
The results of these studies indicate four areas of theory in release engineering which future researchers can probe in more depth. These areas center around process organization, social causes of release process failure, the relationship between software architecture and the release process, and how organizations attempt to improve release processes.
For practicing release engineers, these results show that most organizations would benefit from three primary improvements: increased process automation, more modular software design, and improved organizational communication and support of release engineering groups. By implementing these improvements, software development companies and the release engineering processes they support will avoid the most common process failures in this critical phase of the software life cycle.Electrical and Computer Engineerin
Application of Collaborative Learning Paradigms within Software Engineering Education: A Systematic Mapping Study
Collaboration is used in Software Engineering (SE) to develop software.
Industry seeks SE graduates with collaboration skills to contribute to
productive software development. SE educators can use Collaborative Learning
(CL) to help students develop collaboration skills. This paper uses a
Systematic Mapping Study (SMS) to examine the application of the CL educational
theory in SE Education. The SMS identified 14 papers published between 2011 and
2022. We used qualitative analysis to classify the papers into four CL
paradigms: Conditions, Effect, Interactions, and Computer-Supported
Collaborative Learning (CSCL). We found a high interest in CSCL, with a shift
in student interaction research to computer-mediated technologies. We discussed
the 14 papers in depth, describing their goals and further analysing the CSCL
research. Almost half the papers did not achieve the appropriate level of
supporting evidence; however, calibrating the instruments presented could
strengthen findings and support multiple CL paradigms, especially opportunities
to learn at the social and community levels, where research was lacking. Though
our results demonstrate limited CL educational theory applied in SE Education,
we discuss future work to layer the theory on existing study designs for more
effective teaching strategies.Comment: 7 page
Visualized Algorithm Engineering on Two Graph Partitioning Problems
Concepts of graph theory are frequently used by computer scientists as abstractions when modeling a problem. Partitioning a graph (or a network) into smaller parts is one of the fundamental algorithmic operations that plays a key role in classifying and clustering. Since the early 1970s, graph partitioning rapidly expanded for applications in wide areas. It applies in both engineering applications, as well as research. Current technology generates massive data (“Big Data”) from business interactions and social exchanges, so high-performance algorithms of partitioning graphs are a critical need.
This dissertation presents engineering models for two graph partitioning problems arising from completely different applications, computer networks and arithmetic. The design, analysis, implementation, optimization, and experimental evaluation of these models employ visualization in all aspects. Visualization indicates the performance of the implementation of each Algorithm Engineering work, and also helps to analyze and explore new algorithms to solve the problems. We term this research method as “Visualized Algorithm Engineering (VAE)” to emphasize the contribution of the visualizations in these works.
The techniques discussed here apply to a broad area of problems: computer networks, social networks, arithmetic, computer graphics and software engineering. Common terminologies accepted across these disciplines have been used in this dissertation to guarantee practitioners from all fields can understand the concepts we introduce
Understanding Work Practices of Autonomous Agile Teams: A Social-psychological Review
The purpose of this paper is to suggest additional aspects of social
psychology that could help when making sense of autonomous agile teams. To make
use of well-tested theories in social psychology and instead see how they
replicated and differ in the autonomous agile team context would avoid
reinventing the wheel. This was done, as an initial step, through looking at
some very common agile practices and relate them to existing findings in
social-psychological research. The two theories found that I argue could be
more applied to the software engineering context are social identity theory and
group socialization theory. The results show that literature provides
social-psychological reasons for the popularity of some agile practices, but
that scientific studies are needed to gather empirical evidence on these
under-researched topics. Understanding deeper psychological theories could
provide a better understanding of the psychological processes when building
autonomous agile team, which could then lead to better predictability and
intervention in relation to human factors
Использование потенциала практических занятий по английскому языку в процессе обучения англоговорящих студентов ФПИГ
Traditional models of usability are not sufficient for software in the home, since they are built with office software in mind. Previous research suggest that social issues among other things, separate software in homes from software in offices. In order to explore that further, the use qualities to design for, in software for use in face-to-face meetings at home were contrasted to such systems at offices. They were studied using a pluralistic model of use quality with roots in socio-cultural theory, cognitive systems engineering, and architecture. The research approach was interpretative design cases. Observations, situated interviews, and workshops were conducted at a Swedish bank, and three interactive television appliances were designed and studied in simulated home environments. It is concluded that the use qualities to design for in infotainment services on interactive television are laidback interaction, togetherness among users, and entertainment. This is quite different from bank office software that usually is characterised by not only traditional usability criteria such as learnability, flexibility, effectiveness, efficiency, and satisfaction, but also professional face management and ante-use. Ante-use is the events and activities that precedes the actual use that will set the ground for whether the software will have quality in use or not. Furthermore, practices for how to work with use quality values, use quality objectives, and use quality criteria in the interaction design process are suggested. Finally, future research in design of software for several co-present users is proposed.Report code: LiU-Tek-Lic-2002:61.</p
- …