The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
We report on the results of an empirical study conducted with 35 experienced software developers from 22 high-tech companies, including Google, Facebook, Microsoft, Intel, and others. The goal of the study was to elicit challenges that these developers face, potential solutions that they envision to these challenges, and research initiatives that they think would deliver useful results.Challenges...
Creating and running software produces large amounts of raw data about the development process and the customer usage, which can be turned into actionable insight with the help of skilled data scientists. Unfortunately, data scientists with the analytical and software engineering skills to analyze these large data sets have been hard to come by; only recently have software companies started to develop...
This paper reports on the experience of the authors in quantitatively assessing the development process of an Eastern European software SME (Small or Medium Size Enterprise). The company produces a very successful workflow and documentation tool, features about 30 full time developers and has a customer base of about 40 major organizations. It has hired the authors as consultants to address quality...
Architectural Technical Debt is regarded as sub-optimal architectural solutions that need to be refactored in order to avoid the payment of a costly interest in the future. However, decisions on if and when to refactor architecture are extremely important and difficult to take, since changing software at the architectural level is quite expensive. Therefore it is important, for software organizations,...
Sustainability is now a major concern in society, but there is little understanding of how it is perceived by software engineering professionals and how sustainability design can become an embedded part of software engineering process. This paper presents the results of a qualitative study exploring requirements engineering practitioners’ perceptions and attitudes towards sustainability. It identifies...
The popular agile practice of continuous integration has become an essential part of the software development process in many companies, sometimes to the extent that delivery to customer is impossible without it. Due to this pivotal role it is an important field of research to better understand the practice: continuous integration system behavior, improvement identification and analysis of change...
Changing our practical software engineering course from the previous waterfall model to a more agile and iterative approach created more severe assessment challenges. To cope with them we added an assessment concept based on play money. The concept not only includes weekly expenses to simulate real running costs but also investments, which correspond to assessment results of the submissions. This...
Code clones commonly occur during software evolution. They impact the effort of software development and maintenance, and therefore they need to be monitored. We present a large-scale empirical study (237 open-source Java projects maintained by 500 individuals) that investigates how the number of clones changes throughout software evolution, as well as the tendency of individual developers to introduce...
Continuous software engineering is a new trend that is gaining increasing attention of the research community in the last years. The main idea behind this trend is to tighten the connection between the software engineering lifecycle activities (e.g., development, planning, integration, testing, etc.). While the connection between development and integration (i.e., continuous integration) has been...
Continuous delivery and rapid releases have led to innovative techniques for integrating new features and bug fixes into a new release faster. To reduce the probability of integration conflicts, major software companies, including Google, Facebook and Netflix, use feature toggles to incrementally integrate and test new features instead of integrating the feature only when it’s ready. Even after release,...
Context: It is well known that in software engineering, software or system development processes are very important for getting a high quality product. Such processes can be described in many different ways, from textual documents to existing modeling notations. Objective: Before dealing with the overall goal of improving the description of development processes, this paper evaluates what process...
As Marc Andreessen said in his Wall Street Journal OpEd, software is eating the world. The systems that we are building today and in the near future will exhibit levels of autonomy that will put new demands on the engineering of such systems. Although promising examples of autonomous systems exist, there is no established methodology for systematically building autonomous systems that employ modern...
User experience design is all about making a product by understanding its users and enables user to use a product easily. UX design is part of current industry standards which can be started along with requirement phase. Undergraduate students build products in project courses. Such courses include Software Life Cycle phases like Requirement gathering/ analysis, Design, Implementation and Testing...
Program Analysis has been a rich and fruitful field of research for many decades, and countless high quality program analysis tools have been produced by academia. Though there are some well-known examples of tools that have found their way into routine use by practitioners, a common challenge faced by researchers is knowing how to achieve broad and lasting adoption of their tools. In an effort to...
Customization of the existing software for a new customer can become problematic if negative factors are not controlled and prevented. This paper discusses customization of software product line (SPL) for an unprepared environment and emphasis importance of identifying this risk factor. The SPL can be viewed as a set of applications for similar environments that share many common elements (processes,...
Does geographic distance affect distributed softwaredevelopment teams? Researchers have been mining softwareartifacts to find evidence that geographic distance betweensoftware team members introduces delay in communication anddeliverables. While some studies found that geographical distancenegatively impacts software teams, other studies dispute thisfinding. It has been speculated that various confounding...
Role play has a long history as a tool for learning. It is often used to simulate practices in the world in an environment where consequences can be mitigated. Despite its effective use by the armed forces, emergency responders, negotiators, and political campaign managers, role play is a tool seldom used in STEM classrooms. In this paper, we will describe the incorporation of certain aspects of role...
Technical debt is a metaphor in software engineering interpreted as a trade-off between short-term benefits of postponing development activities and long-term consequences of postponing those activities. Most of the research in technical debt literature focus on identifying technical debt, justifying what to include and what to exclude in the technical debt scope and how to deal with them: either...
Field of software development is a very important part of ICT. Large number of new software is developing every day and also a lot of SW development companies exist. SW development could be done in several ways based on standardized methodologies and mobile applications are not exceptions. Selection of the right methodology is a key part which could affect time and quality of development. This paper...
Agile methods are attracting increasing industry and research interest; however, among studies that have investigated the use of agile methods, most have focused on developed countries (e.g., North America, Europe). The use of agile methods in Asian countries, particularly Thailand, is poorly understood and requires additional investigation. This paper presents findings on the adoption of agile methods...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.