As we look ahead to the future of software engineering, one thing is clear: there is an urgent need for stronger communication between software engineering (SE) and human-computer interaction (HCI) researchers. This issue was brought to the forefront during the 2030 Software Engineering Workshop, co-located with the ACM International Conference on the Foundations of Software Engineering (FSE’24), where one of the key topics was the importance of human aspects in software engineering. There is also a growing need to develop sustainable systems that are not only technically robust but also socially and environmentally sustainable. The call to bridge the gap between SE and HCI was a key theme in one of the keynote addresses at the 46th International Conference on Software Engineering (ICSE 2024), which emphasised the necessity of collaboration between these fields to achieve trustworthy AI systems by design.
Historically, SE and HCI have followed parallel paths [1], with some considering HCI a subset of software engineering, while others see it as an independent field. While software engineering tends to be functional and systematic, HCI draws from diverse areas such as psychology and ergonomics to prioritise human-centred design. This difference in focus has led to challenges in transferring knowledge between the two fields, with each speaking a different language despite working toward the same goals: creating effective, efficient, and usable software systems.
With the rise of AI, IoT, and other advanced technologies, the stakes are higher than ever. We are designing systems that increasingly touch every aspect of daily life, from healthcare to transportation to education. These systems must be trustworthy, reliable, and—most importantly—designed with the human at the center. Education plays a crucial role in addressing this gap. Today’s students are tomorrow’s software engineers, and if we want them to design systems that are both technically sound and human-centered, we need to embed human aspects into software engineering curricula. However, current frameworks like SWEBOK (Software Engineering Body of Knowledge) and curriculum recommendations consider HCI a small part of the overall software design process rather than a central theme.
Another challenge in bridging the gap between software engineering and HCI lies in the terminology each field uses. For instance, concepts like usability, user experience, and quality in use often have different meanings depending on the discipline or standard being referenced. This terminological confusion can create additional barriers to collaboration, as researchers and practitioners may believe they are discussing the same concept when, in reality, they are approaching it from different perspectives.
There are, however, promising efforts to bridge this gap. International conferences that focus on both SE and HCI, or that feature tracks dedicated to exploring the intersection of the two disciplines, are helping foster collaboration. These platforms allow academics and practitioners from both fields to share ideas, discuss challenges, and develop strategies for more integrated approaches to software design and development.
As someone who has conducted research in both fields, with a focus on requirements engineering and software quality, I’ve seen firsthand how the practical aspects of software engineering and the conceptual frameworks of HCI are complementary. Together, they broaden the perspective on challenges and opportunities, enabling the production of software that is not only functional but also provides real value to all stakeholders, including users, developers, and decision-makers.
By bridging the gap between SE and HCI, we can design solutions that meet human needs while contributing to a more sustainable, inclusive, and trustworthy digital future. The next decade offers a critical opportunity to reshape the relationship between these two fields, and in doing so, shape the future of software development for the better.
[1] Ogunyemi, A., & Lamas, D. (2014). Interplay between human-computer interaction and software engineering. In 2014 9th Iberian conference on information systems and technologies (CISTI) (pp. 1-10). IEEE.