About
399
Publications
226,129
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
4,794
Citations
Introduction
Current institution
Additional affiliations
August 2002 - present
Publications
Publications (399)
Immersive technologies have emerged as a new type of interactive system that aims to provide users with immersive experiences. They have been adopted in various fields and are gradually becoming part of our lives. UX is a key quality attribute to evaluate or model such experiences. However, when it comes to immersive experiences, evaluating UX is p...
The mobile app market has increased substantially in the past decades, and the myriad options in the app stores have made users less tolerant of low-quality apps. In this competitive scenario, User eXperience (UX) has emerged as an essential factor in standing out from competitors. By understanding what factors affect UX, practitioners could focus...
Context: The Internet of Things (IoT) involves heterogeneous devices that interact and process data via the Internet. In the development of IoT systems, requirement elicitation is crucial. However, challenges such as heterogeneity, interoperability, scalability, and requirements volatility necessitate new approaches or adapting traditional techniqu...
Micro frontend (MFE) architectures have gained significant popularity for promoting independence and modularity in development. Despite their widespread adoption, the field remains relatively unexplored, especially concerning identifying problems and documenting best practices. Drawing on both established microservice (MS) anti-patterns and the ana...
The remote work model is becoming more established in software companies. Despite its benefits, this shift brings challenges, such as asynchronous communication and a lack of social interactions. To overcome these obstacles, development teams are adopting meta-verse environments. In this context, this research investigates the impact of using metav...
Background: The Internet of Things (IoT) paradigm involves a network of devices that exchange data through the Internet. Defining IoT systems' requirements addresses their functionality, device interactions, and data integration while meeting stakeholder needs. Design Thinking (DT) may support this process with its user-centered techniques. However...
Large Language Models (LLMs) are becoming common in educational settings. This trend presents a challenge for teachers, who must focus on teaching the proper usage of LLMs. In the context of Software Engineering (SE), ChatGPT can support various software development tasks. This work reports an experience with students using ChatGPT 3.5 to support t...
Derived from User Experience (UX), Learner Experience (LX) focus on perceptions and responses during the use of computational resources in education. Literature reveals that few elements are considered in LX, impeding comprehensive understanding and effective learning experiences. To address this gap, we proposed the Design Guidelines to support LX...
Desenvolvedores de software utilizam diversos canais de comunicação para apoiar o desenvolvimento e gestão de projetos. No entanto, discussões relevantes podem se perder, ser esquecidas ou duplicadas em meio ao grande volume de mensagens, comprometendo o compartilhamento e reuso de conhecimentos. Esta pesquisa investiga como usar métodos automático...
Context: This paper reports the experience of re-implementing Design Thinking (DT) in a Technological Development Institute that faced potential closure due to the departure of its sponsors (funding companies). Following the departure of the sponsors, the Institute relocated its operations, resulting in a significant reduction of the team to 33 emp...
Context: Requirements Engineering for AI-based systems (RE4AI) presents unique challenges due to the inherent volatility and complexity of AI technologies, necessitating the development of specialized methodologies. It is crucial to prepare upcoming software engineers with the abilities to specify high-quality requirements for AI-based systems. Goa...
The Internet of Things (IoT) comprises devices that communicate and process data over the Internet. Requirement elicitation in IoT systems is crucial but faces challenges such as heterogeneity, interoperability, scalability, and requirements volatility. This work introduces two new techniques to support this phase: the Sensorina Map, inspired by th...
This paper demonstrates Helius, a collaborative Design Thinking (DT) techniques recommendation system. We proposed Helius to support DT practitioners in selecting DT techniques for use in software development, as literature has shown that selecting a set of DT techniques can be a complex decision-making problem. To develop Helius, we followed a Des...
Context: Requirements Engineering is crucial in software development, and Design Thinking (DT) emerges as an alternative to improve it, especially in requirements elicitation. The literature reports the utility of DT in this activity, offering a large number of techniques, although choosing one of them can be challenging. To mitigate this challenge...
The global Information Technology (IT) market was valued at approximately $3,110 million in 2022, marking a 7.4% increase over the previous year. Of this total, around 56% pertained to the software and services sector. This growth poses a global challenge for IT organizations due to a significant gap between the increasing demand for IT skills and...
Este trabalho apresenta uma proposta de ferramenta digital chamada GDS System, que tem o objetivo de auxiliar no processo de criação de artefatos voltados para gamificações educacionais. A proposta se baseia em um processo de gamificação educacional chamado Game Design Storytelling (GDS), sendo este estruturado para desenvolver artefatos educaciona...
The growing software development market has increased the demand for qualified professionals in Software Engineering (SE). To this end, companies must enhance their Recruitment and Selection (R&S) processes to maintain high-quality teams, including opening opportunities for beginners, such as trainees and interns. However, given the various judgmen...
Diversity, Equity, and Inclusion (DEI) is essential because it creates a more inclusive environment that benefits individuals, organisations and society as a whole. To gain a comprehensive understanding of DEI in computing, it is important to apply an intersectional lens to explore the complexities and nuances of the issues and possible solutions t...
[Context] The growing software development market has increased the demand for qualified professionals in Software Engineering (SE). To this end, companies must enhance their Recruitment and Selection (R&S) processes to maintain high quality teams, including opening opportunities for beginners, such as trainees and interns. However, given the vario...
No contexto do desenvolvimento de software, o viés de gênero pode se refletir em produtos que favorecem ou prejudicam um determinado gênero. O artigo aborda a integração do método GenderMag e das heurísticas de Nielsen na elicitação de requisitos para a experiência do usuário, com foco na inclusão de gênero no design de software, especialmente em s...
During the software development cycle, architecture is fundamental for the success of the solution and, beyond structural and behavioral aspects, architecture comprises several critical decisions made about the software. In this context, some studies in the literature have been conducted about software architecture decision-making, but they are res...
Context
Currently, organizations seek to evolve software engineering methodologies targeting a wider and healthier collaboration among their functional areas. In this context, the interface between business and development (BizDev) includes all the interactions between Information Technology and business areas within an organization. Although we ha...
Software teams increasingly adopt different tools and communication channels to aid the software collaborative development model and coordinate tasks. Among such resources, software development forums have become widely used by developers. Such environments enable developers to get and share technical information quickly. In line with this trend, G...
Avaliar a Experiência do Usuário (UX) no desenvolvimento de software é vital para direcionar lançamentos futuros. Assim, é crucial identificar os fatores que alteram os julgamentos do usuário para compreender melhor os resultados. Este estudo investiga o efeito do sequenciamento da interação, da experiência anterior e do número de problemas na sati...
A baixa tolerância dos usuários com apps de baixa qualidade vem pressionando desenvolvedores a priorizarem uma Experiência do Usuário (UX) positiva para se destacarem. Nesse contexto, as reviews de lojas de aplicativos emergem como uma fonte valiosa para detectar os fatores que moldam a UX. Diversos estudos têm investigado variados fatores e seu im...
Contemporary society is characterized by diversity and intricacy, necessitating more meaningful learning experiences. To meet these evolving needs, the incorporation of computational systems into education must acknowledge the distinctive characteristics of learners. Therefore, we conducted a Systematic Mapping Study (SMS) to investigate technologi...
Traditionally, Software Effort Estimation (SEE) has been portrayed as a technical prediction task, for which we seek accuracy through improved estimation methods and a thorough consideration of effort predictors. In this article, our objective to make explicit the perspective of SEE as a behavioral act, bringing attention to the fact that human bia...
As transmissões ao vivo, ou live Streaming, tornaram-se um meio popular de disseminação de conteúdo, seja para a transmissão de notícias, eventos ou conteúdos relacionados a jogos. Para entender como medir o engajamento em live Streaming é necessário analisar como espectadores utilizam os recursos interativos da plataforma, como curtidas e comentár...
Resumo Este relatório técnico apresenta um jogo educacional chamado ActGame (Activity Diagram Game). O ActGame é um jogo educacional baseado em cartas, que visa ajudar os alunos durante a modelagem de diagrama de atividades. O jogo auxilia na identificação dos elementos do diagrama de atividades e também na construção do diagrama a partir de uma de...
Gender equality, as well as Diversity, Equity, and
Inclusion (DEI), in computer science (CS) is primarily limited
to binary gender diversity. It is known that women are heavily
underrepresented in CS, but substantial parts of the DEI issues
are still unexplored. Intersectionality provides a more nuanced
perspective of equality as it acknowledges ex...
Pressure for higher productivity and faster delivery is increasingly pervading software organizations. This can lead software engineers to act like chess players playing a gambit -- making sacrifices of their technically sound estimates, thus submitting their teams to time pressure. In turn, time pressure can have varied detrimental effects, such a...
Este relatório técnico apresenta um mapeamento sistemático que visa identificar, avaliar e analisar quais as tecnologias abordadas em IHC (Interação Humano-Computador) que promovem a usabilidade no processo de software. E através deste, documentar os estudos relacionados encontrados nas bibliotecas digitais IEEE Xplore e Scopus por meio de uma abor...
Context: Unified Modeling Language (UML) is a widely used modeling language for object-oriented systems development. However, software engineers either did not use the UML at all or used it only selectively and informally. One of the reasons for this is related to the difficulties software engineers face in learning UML. Objective: This study aims...
Este arquivo apresenta um relatório técnico sobre um Estudo de Mapeamento Sistemático (MSL) sobre as dificuldades relacionadas à UML e seus diagramas.
Game designers and researchers have sought to create gameful environments that consider user preferences to increase engagement and motivation. In this sense, it is essential to identify the most suitable game elements for users' profiles. Designers and researchers must choose strategies to classify users into predefined profiles and select the mos...
Chatbots têm sido estabelecidos com múltiplos propósitos para apoiar atividades educacionais. Em razão disso, o número de relatos sobre o impacto decorrente do uso desse tipo de software tem aumentado e estudos secundários têm surgido na literatura. Apesar de existirem estudos secundários, ainda não há estudos terciários que ofereçam uma visão crít...
Developer Experience (DX) is defined concerning how developers think, feel and value their work. Considering that developers’ satisfaction and feelings impact the productivity and success of projects, it is necessary to understand how to improve their experience throughout the stages of the development process. Within this context, we investigated...
Context: The Internet of Things (IoT) consists of networks of physical objects embedded with sensors, software, and other technologies to maintain communication and exchange data over a network. These characteristics bring new challenges to the entire development cycle, including requirements engineering (RE). RE practices have been adapted to meet...
Context: Requirements Engineering (RE) is essential to software quality. Studies have shown that software engineers often make mistakes , such as insufficient or misunderstood requirements. Therefore , it is necessary to support all the RE phases, especially eliciting requirements. In this context, Design Thinking (DT) is commonly used to deal with...
User eXperience (UX) evaluations play an essential role in the software development process. As the results from such evaluations can drive future releases, it is necessary to identify which factors can substantially change users’ judgments about their experience to have more precise results and understand UX better. This article investigates how i...
Researchers and practitioners are becoming aware of the importance of User eXperience (UX) in mobile app development. Developing merely usable apps became insufficient to meet users’ needs, requiring developers to focus on promoting pleasurable experiences to get a competitive advantage. To that end, it is crucial to understand what factors can lea...
The main goal of the Brazilian Conference on Software: Practice and Theory (CBSoft) is to bring together researchers, practitioners, and students aiming at fostering the exchange of experience about the most recent research, tendencies, and theoretical and practical innovations in software. The conference is the top conference in the field of Latin...
Software teams are increasingly adopting different tools and communication channels to aid the software collaborative development model and coordinate tasks. Among such resources, Programming Community-based Question Answering (PCQA) forums have become widely used by developers. Such environments enable developers to get and share technical informa...
Diversas técnicas de Design Thinking (DT) têm sido usadas no desenvolvimento de software para fomentar a empatia, a colaboração, a criatividade, e auxiliar as equipes a entender as necessidades do usuário, gerar várias ideias, prototipar e selecionar a solução que atenda tais necessidades. Portanto, neste universo de várias técnicas, selecionar qua...
No contexto educacional, e comum que professores utilizem trabalhos em grupo como prática pedagógica para desenvolver nos alunos habilidades sociais que são importantes requisitos no mercado de trabalho. Assim, algumas estratégias de formação de grupos são comuns, como: grupos formados pelos próprios alunos, que podem ser por afinidades ou interess...
Software estimation is critical for a software project's success and a challenging activity. We argue that estimation problems are not restricted to the generation of estimates but also their use for commitment establishment: project stakeholders pressure estimators to change their estimates or to accept unrealistic commitments to attain business g...
Design Thinking (DT) has been incorporated into software processes by teams from startups to large companies, used in problem exploration fostering innovative solutions, and integrated into agile methods to satisfy the real stakeholders’ needs. DT places the customer needs up-front and helps to empathize with users, examining their behaviors, and p...
Conversational agents represent applications that interact in a natural language with humans. Due to their ability to process the human language, they have been explored in diverse areas, e.g., e-commerce, health, entertainment, and education. Particularly in the education field, they have been used as mechanisms that support the teaching of a seco...
Nowadays, few professionals understand the techniques and testing criteria to systematize the software testing activity in the software industry. Towards shedding some light on such problems and promoting software testing, professors in the area have established Massive Open Online Courses as educational initiatives. However, the main limitation is...
Software companies have been using Design Thinking (DT) as a user-centered design approach, putting the user at the center of the software development process. In this article, we report a Systematic Mapping Study to investigate the use of DT in software development. We evaluated 127 papers from 2010 to 2021. We analyzed how DT is integrated in sof...
Software bots automate tasks within Open Source Software (OSS) projects' pull requests and save reviewing time and effort ("the good"). However, their interactions can be disruptive and noisy and lead to information overload ("the bad"). To identify strategies to overcome such problems, we applied Design Fiction as a participatory method with 32 pr...
Human-Computer Interaction (HCI) is a complex communication phenomenon involving human beings and computer systems that gained large attention from industry and academia with the advent of new types of interactive systems (mobile applications, smart cities, smart homes, ubiquitous systems and so on). Despite of its importance, there is still a lack...
Requirements specifications are essential to properly communicate requirements among the software development team members. However, each role in the team has different informational needs in order to perform their activities. Thus, the requirements engineer should provide the necessary information to meet each team member's necessities to reduce e...
Research seeks to understand the preferences of different user profiles in games and gamified environments. In this sense, this paper aims to identify and analyze the preferences and behaviors of users of different profiles within a gamification platform created around a multiplayer RPG game, developed and implemented in real introductory programmi...
The popularity of mobile computing has led to the development of several mobile apps to solve end-users everyday problems. Nowadays, app stores allow users to write reviews reporting their experiences using the apps. Negative experiences can reveal the reasons why users are moving from one app to another and drive app adoption by future users. Thus...
The software artifacts developed in the early stages of the development process describe the proposed solutions for the software. For this reason, these artifacts are commonly used to support communication among members of the development team. Miscommunication through software artifacts occurs because practitioners typically focus on their modelin...
Context
Software projects involve technical and managerial activities, including software estimation. Inaccurate estimates are harmful and improving estimation methods is not enough: we need to understand more of the factors that impact estimates.
Objective
Our study aims to identify the existing evidence about the factors that affect estimates in...
User experience (UX) is a quality aspect that considers the emotions evoked by the system, extending the usability concept beyond effectiveness, efficiency, and satisfaction. Practitioners and researchers are aware of the importance of evaluating UX. Thus, UX evaluation is a growing field with diverse approaches. Despite various approaches, most of...