Combining Software Engineering and Design Thinking Practices in the Ideation Process of Augmented Digital Experiences Articles uri icon

publication date

  • May 2020

start page

  • 279

end page

  • 295


  • 3


  • 32

International Standard Serial Number (ISSN)

  • 0953-5438

Electronic International Standard Serial Number (EISSN)

  • 1873-7951


  • Designing augmented and tangible experiences that intertwine human practices and expectations, interaction spaces and complex digital artifacts is a complex and multifaceted task that relies upon iterative and multidisciplinary ideation processes. Design thinking techniques have been traditionally used in ideation of such digital artifacts. In this paper, we posit that integrating some software engineering practices can improve ideation by providing a structure to the process and helping to build a shared and permanently documented design rationale. It is not a matter of software engineering versus design thinking but a question of developing a holistic understanding of technological development where discipline and creativity, rationality and emotions and quality centered and people centered coexist. Based on this assumption, we conceived a software tool called CoDICE that offers a virtual co-design space where augmented digital experiences are documented and analyzed in a shared and distributed way. The paper discusses how CoDICE contributes to alleviate some problems of co-design events including the need to support multiple co-design spaces, make explicit the co-design process and its goals, support documentation, justify design decisions, explore multiple ideas and generate a shared representation of the outcomes. Two scenarios are used to illustrate the tool utility: short-term co-design workshops in which the tool enabled multidisciplinary teams of novice designers to explore and structure their ideas and a long-term co-design project where the tool facilitated traceability, documentation, the reuse of design components and the shared elaboration of the design rationale and evolution of the deployed technologies.


  • systems and tools for design; software engineering