Jorge MelegatiFree University of Bozen-Bolzano | Unibolzano · Faculty of Computer Science
Jorge Melegati
PhD
Most of my research is freely available on my personal website: https://www.jmelegati.com
About
60
Publications
15,011
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
496
Citations
Introduction
My research interests include several aspects of software engineering, such as human aspects, experimentation, software startups, and agile methods. More info on my personal website (including many accepted manuscripts): https://www.jmelegati.com
Publications
Publications (60)
Context: Over the past 20 years, software startups have created many products that have changed human life. Since these companies are creating brand-new products or services, requirements are difficult to gather and highly volatile. Although scientific interest in software development in this context has increased, the studies on requirements engin...
Recent studies have proposed the use of experiments to guide software development in order to build features that the user really wants. Some authors argue that this approach represents a new way to develop software that is different from the traditional requirement-driven one. In this position paper, we propose the discipline of Hypotheses Enginee...
Context
The higher availability of software usage data and the influence of the Lean Startup led to the rise of experimentation in software engineering, a new approach for development based on experiments to understand the user needs. In the models proposed to guide this approach, the first step is generally to identify, prioritize, and specify the...
Software startups develop innovative, software-intensive products or services. Such innovativeness translates into uncertainty regarding a matching need for a product from potential customers, representing a possible determinant reason for startup failure. Research has shown that experimentation, an approach based on the use of experiments to guide...
Qualitative surveys are emerging as a popular research method in software engineering (SE), particularly as many aspects of the field are increasingly socio-technical and thus concerned with the subtle, social, and often ambiguous issues that are not amenable to a simple quantitative survey. While many argue that qualitative surveys play a vital ro...
Code review has been a well-established quality assurance strategy in software engineering. Nowadays, code review is a tool-based practice, a potential scenario for tools based on generative artificial intelligence (AI) models, which have recently gained worldwide popularity. Initial evidence has shown these tools may support reviewers checking a c...
The 7th International Workshop on Software-intensive Business (IWSiB'24), held on April 16, 2024, in Lisbon, Portugal, as part of the 46th International Conference on Software Engineering (ICSE 2024), brought together diverse research communities to address the pressing challenges faced by software-producing organizations. These challenges, driven...
In this paper, we present MADE-WIC, a large dataset of functions and their comments with multiple annotations for technical debt and code weaknesses leveraging different state-of-the-art approaches. It contains about 860K code functions and more than 2.7M related comments from 12 open-source projects. To the best of our knowledge, no such dataset i...
This article presents the case of a start-up applying a technique named ArchHypo that uses hypotheses to express uncertainties related to the software architecture. Ten months after identifying the hypotheses, it was assessed how the usage of this technique impacted their decisions.
Generative Artificial Intelligence (GenAI) has become an emerging technology with the availability of several tools that could impact Software Engineering (SE) activities. As any other disruptive technology, GenAI led to the speculation that its full potential can deeply change SE. However, an overfocus on improving activities for which GenAI is mo...
Context: Defining and designing a software product is not merely a technical endeavor, but also a socio-technical journey. As such, its success is associated with human-related aspects, such as the value users perceive. To handle this issue, the product manager role has become more evident in software-intensive companies. A unique, challenging cont...
Software engineering researchers and practitioners have pursued manners to reduce the amount of time and effort required to develop code and increase productivity since the emergence of the discipline. Generative language models are another step in this journey, but it will probably not be the last one. In this chapter, we propose DAnTE, a Degree o...
Test Driven Development (TDD) is one of the major practices of Extreme Programming for which incremental testing and refactoring trigger the code development. TDD has limited adoption in the industry, as it requires more code to be developed and experienced developers. Generative AI (GenAI) may reduce the extra effort imposed by TDD. In this work,...
Experimentation has been considered critical for successful software product and business development, including in video game startups. Video game startups need “wow” qualities that distinguish them from the competition. Thus, they need to continuously experiment to find these qualities before running out of time and resources. In this study, we a...
Context
The COVID‐19 pandemic has had a disruptive impact on how people work and collaborate across all global economic sectors, including software business. While remote working is not new for software engineers, forced WFH situations come with both limitations and opportunities. As the ‘new normal’ for working might be based on the current state...
Context Generative Artificial Intelligence (GenAI) tools have become increasingly prevalent in software development, offering assistance to various managerial and technical project activities. Notable examples of these tools include OpenAI's ChatGPT, GitHub Copilot, and Amazon CodeWhisperer. Objective. Although many recent publications have explore...
Managing non-functional requirements (NFRs) has been a challenge in software development for many years. These requirements are typically used to make important architectural decisions early in the project, which can be problematic if they are uncertain or unstable. When this uncertainty is not considered when designing the software architecture, c...
The restrictions imposed by the COVID-19 pandemic required software development teams to adapt, being forced to work remotely and adjust the software engineering activities accordingly. In the studies evaluating these effects, a few have assessed the impact on software engineering activities from a broader perspective and after a period of time whe...
Context:
Code annotations is a widely used feature in Java systems to configure custom metadata on programming elements. Their increasing presence creates the need for approaches to assess and comprehend their usage and distribution. In this context, software visualization has been studied and researched to improve program comprehension in differen...
Context: Software startups develop innovative, software-intensive products. Given the uncertainty associated with such an innovative context, experimentation, an approach based on validating assumptions about the software product through data obtained from diverse techniques, like A/B tests or interviews, is valuable for these companies. Relying on...
Software startups develop innovative, software-intensive product and services. This context leads to uncertainty regarding the software they are building. Experimentation, a process of testing hypotheses about the product, helps these companies to reduce uncertainty through different evidence-based approaches. The first step in experimentation is t...
[Context] The COVID-19 pandemic has had a disruptive impact on how people work and collaborate across all global economic sectors, including the software business. While remote working is not new for software engineers, forced Work-from-home situations to come with both constraints, limitations, and opportunities for individuals, software teams and...
Code annotations is a widely used feature in Java systems to configure custom metadata on programming elements. Their increasing presence creates the need for approaches to assess and comprehend their usage and distribution. In this context, software visualization has been studied and researched to improve program comprehension in different aspects...
The research on software startups has increased lately, focus-ing on describing how these companies' unique context influences development practices. The next step for research is the creation of specific practices for these companies grounded in scientific results. An obstacle in this path is which dependent variable these novel practices should i...
[Context] Software startups are engines of innovation and economy, yet building software startups is challenging and subject to a high failure rate. They need to act and respond fast in highly uncertain business environments. To do so, they need to identify crucial and actionable information that supports them in making correct decisions and reduce...
Software engineering is a wide field with topics ranging from coding to organizational aspects. In the last two decades, researchers have developed a growing interest in the human and social aspects of software development. To investigate these phenomena, researchers have often employed methods common in social sciences such as case study and ethno...
Context: Software startups develop innovative, software-intensive products. Given the uncertainty associated with such an innovative context, experimentation is a valuable approach for these companies, especially in the early stages of the development, when implementing unnecessary features represents a higher risk for companies' survival. Neverthe...
Business Model Canvas (BMC) is a tool widely used to describe startup business models. Despite the various business aspects described, BMC pays a little emphasis on team-related factors. The importance of team-related factors in software development has been acknowledged widely in literature. While not as extensively studied, the importance of team...
Business Model Canvas (BMC) is a tool widely used to describe startup business models. Despite the various business aspects described, BMC pays a little emphasis on team- related factors. The importance of team-related factors in software development has been acknowledged widely in literature. While not as extensively studied, the importance of tea...
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...
In this position paper, our goal is to argue the need for specific software development practices to early-stage startups. In order to reach this goal, we discuss the consequences of innovative and market- driven contexts, which are two of the key elements when describing software startups. We also argue that these practices could be applied to inn...
Several companies whose businesses are not centered on technology might fail to innovate and get advantages over their competitors. For them, meaningful innovations are not necessarily related to the usage of new technologies but the optimization of some business process. In the literature, experimentation is described as an essential aspect of the...
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...
Software startups develop innovative products for which there are typically no customers to refer to elicit requirements. Often, these companies develop a set of features without a better understanding of customer needs. An experiment-based approach to validate hypotheses about the customer and market could increase their chance of success or, at l...
Software startups have a low probability of success. In their early-stage days, they face several challenges from different types that make it even harder to progress to the following stages. Some papers in the scientific literature focused on understanding these challenges. Meanwhile, others proposed solutions to these problems. In this chapter, w...
The rapid pace with which software needs to be built, together with the increasing need to evaluate changes for end users both quantitatively and qualitatively calls for novel software engineering approaches that focus on short release cycles, continuous deployment and delivery, experiment-driven feature development, feedback from users, and rapid...
Software startups are temporary organizations that develop innovative software-intensive products or services. Despite of numerous successful stories, most startups fail. Several methodologies were proposed both in the scientific and commercial literature to improve their success rate, and a common element among them is the idea of experimentation....
The rapid pace with which software needs to be built, together with the increasing need to evaluate changes for end users both quantitatively and qualitatively calls for novel software engineering approaches that focus on short release cycles, continuous deployment and delivery, experiment-driven feature development, feedback from users, and rapid...
Startup education presence in Computer Science and Software Engineering curriculum has risen in the recent years. Currently, most reported courses focus on teaching innovation and business techniques and try to emulate real-world projects to convey the content. They have not focused on team composition which is a critical element for the success of...
Recent studies have proposed the use of experiments to guide software development in order to build features that users really want. In this context, product assumptions should be taken as hypotheses to be tested through experiments. User stories (US) are broadly used in the agile context but current guidelines to write them, like INVEST (Independe...
The importance of startups to economic development is indisputable. Software startups are startups that develop an innovative software-intensive product or service. In spite of the rising of several methodologies to improve their efficiency, most of software startups still fail. There are several possible reasons to failure including under or over-...
The need of skills other than technical from software developers is becoming evident. The DevOps movement is an example of that applied to operational tasks. Startup development methodologies focus on business activities in innovative organizations. Several universities offer courses based on these methodologies to software engineering students, ma...
The research interest in software startups has expanded a lot in the last years as shown by the increase in the published papers, and the organization of research workshops. However, two recent systematic mapping studies recognize an inconsistency in the characterization of software startups in the literature, even though they acknowledge that inno...
Software startups develop new products or service using software development under extreme uncertainty conditions. Agile methodologies are considered the most suitable for these teams since they accomodate changes easier than traditional software development methodologies. A very well-known methodology for startups is Lean Startup that is considere...
This article extends a pattern language for Software Startups proposed in PLoP 2015. These patterns present different strategies to build an innovative software startup. We propose patterns to address multiple problems that an early-stage startup has to face. While some patterns are more related to technical issues, other focus on human and managem...
Software startups face a very demanding market: they must deliver high innovative solutions in the shortest possible time. Resources are limited and time to reach market is short then it is extremely important to provide the right requirements. Nevertheless, software requirements are usually not clear and startups struggle to know what they should...
Purpose:
The aim of the current study is to describe the functionality of free software developed for energy system contributions and energy expenditure calculation during exercise, namely GEDAE-LaB.
Methods:
Eleven participants performed the following tests: 1) a maximal cycling incremental test to measure the ventilatory threshold and maximal...