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.
Although the development and widespread adoption of software bots has occurred in just a few years, bots have taken on many diverse tasks and roles. This article discusses current bot technology and presents a practical case study on how to use bots in software engineering.
Given the collaborative nature of software development, a robust team is a necessity for project success in both commercial and open source environments. That is, in the event of developers’ absence due to various reasons, how could it potentially disrupt a team’s routine operations? This article offers an automatic approach to intuitively visualize development team hierarchy, quantify overall team...
Distributed Software Development course is a joint project-based course involving three universities, from Croatia, Sweden and Italy, running each year since 2003. Distributed student teams work on all phases of a complex software engineering project, solving several challenges of working in a global environment, thus obtaining a valuable experience for their future careers. The course is very well...
Despite the popularity of MOOCs in providing opportunities for socialization, collaboration, and professional improvement, there has been little research exploring them in the context of Software Engineering Education (SEE). The purpose of this study is to provide a better understanding of practices and challenges when developing academic software engineering MOOCs. To this end, we research (i) how...
Domain Specific Languages (DSLs) are high-level languages defined for combining expressiveness and simplicity by means of linguistic constructs which are close to the problem domain but independent of the complexities inherent to the underlying software implementations. This article presents the CSSL v2.0 language that allows defining in precise, concise and friendly manner the abstract concepts of...
A distributed software product engineering team has to deal with the additional issue of distribution apart from the usual expectations around cost, quality, time to market and innovation. Distribution of work brings in the issues of temporal, geographical and cultural separation. In spite of individually following the prescribed software engineering processes, often the distributed teams fail to...
Agile software development and formal methods are seemingly on the opposite ends of the rigorousness scale. If carefully used, the can efficiently function in synergy to provide an evolutionary, iterative and tailorable process for a correct-by-construction system. In this work, we present the use of agile and formal methods in the academic context at the project course. We describe the development...
Information sharing in teams is one of the most important aspects of successful software development. For instance, requirements, design decisions and guidelines need to be communicated with the whole team or with specific team members. For information exchange, communication is mandatory. Meetings are an effective way to communicate with many team members. Hence, much information can be shared during...
While agile has become a go-to methodology for software engineers engaged in software development, little research has explored the specific language choices used by these engineers in their agile-oriented processes. This study examines the language used by a Scrum team during the meetings of a 5-week sprint. Specifically, this study explores how certainty is presented by the group members through...
This paper is a short story of my adventures of the past 20 years trying to integrate academic research with software engineering problems in industry. I share the challenges I encountered on the way, my failures and successes, evolution of my research, and its adoption in industry. Though I faced many hardships, I feel great satisfaction in knowing that my research is applied today in the design...
Establishing trust between developers working atdistant sites facilitates team collaboration in distributed software development. While previous research has focused on how to build and spread trust in absence of direct, face-to-face communication, it has overlooked the effects of the propensity to trust, i.e., the trait of personality representing the individual disposition to perceive the others...
Building up effective teams over a distance is achallenging but common problem in global softwareengineering. We propose an approach to help build up teamsthrough collaborative online drawing. Our goal is to evaluatehow drawing, as one activity that can facilitate expression ofpersonal affective status, can benefit distributed teams. Preliminary results indicate positive effects of collaborativeonline...
GitHub is the largest collaborative source code hosting site built on top of the Git version control system. The availability of a comprehensive API has made GitHub a target for many software engineering and online collaboration research efforts. In our work, we have discovered that a) obtaining data from GitHub is not trivial, b) the data may not be suitable for all types of research, and c) improper...
Continuous and long-term collaboration between industry and academia is crucial to develop front-line research in context-dependent areas like software development where both practitioners and researchers are searched for data collection, analysis and results. Despite many mutual benefits, this collaboration is often challenging, not only due to different goals, but also because of different pace...
The DevOps phenomenon is gaining popularity through its ability to support continuous value delivery and ready accommodation of change. However, given the relative immaturity and general confusion about DevOps, a common view of expectations from a DevOps role is lacking. Through investigation of online job advertisements, combined with interviews, we identified key Knowledge Areas, Skills and Capabilities...
Global Software Engineering (GSE) is a reality for even the smallest companies, so software engineering students need to learn how to work in a globally distributed development context. Many approaches to teaching GSE have been described in the literature. Since the majority of software development is done by engineers working in small or medium sized enterprises (SMEs) we now ask: Are today's students...
Models are primary artifacts in software development which influence the quality of the process and product. While students are trained to use design and development methodologies few teaching approaches address how they should create and evaluate alternative models to find a good solution. This paper suggests to complement common teaching formats with facilitated modeling sessions where small groups...
Agile, lean processes have become the de-facto way to operate in the domain of software intensive products. Methodologies such as the lean startup are reshaping the way new companies and even well-established enterprises seek new opportunities in their operations. In contrast, in research, little has changed during that time – organizations that fund research still expect a solid, linear research...
The software engineering industry should be the laboratory of much, perhaps most, of the empirical software engineering research. Not only would this create a more realistic context and higher external validity of the empirical research, it would also ease the result transfer and make the results more convincing for the industry. Unfortunately, this is currently not the case. About 90% of software...
Getting companies involved in and committed to empirical research projects is a major challenge for many researchers. This paper discusses several cases of lessons learned about how to involve and get the commitment of companies in different types of empirical research projects. This paper will discuss the experiences of two very large consortium projects and one medium-size research project. In addition,...
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.