Designing an Interactive System

Just a Little Theory



The Development Design Process

Traditionally, the development design process has been depicted as a series of steps that designers follow to come up with an appropriate solution to a problem. However, the application of design thinking to new kind of problems has proven that this interpretation of design presents several and substantial misconceptions.

First of all, there is not a unique, simple and optimal solution that must be applied to solve a specific problem. On the contrary, there is a space of solutions that should be explored to find out a meaningful solution. Secondly, there is not a single sequence of steps to solve a problem; design is not a deterministic (systematic) activity but a stochastic (heuristic) labor. Finally, designers do not always face with “well-structured problems”. The classical view of design considers that “ill-structured problems” are only so at first analysis: thanks to problem-solvers applying certain problem-solving strategies, these problems rapidly acquire structure. Unfortunately, the experience has shown the incorrectness of this approach. More of the design problems are wicked to solve.

As a result, the shape of the development design process has changed markedly over the last ten years. Currently, the development design process is mainly conceived as an iterative and incremental process that allows ongoing adaptation and improvement.


The Fuzzy Front End

As Sanders highlighted, the front end of the design process has been growing as designers move closer to future user of what they design. Formerly called “pre-design”, the front end describes “the many activities that take place in order to inform and inspire the exploration of open-ended questions such as "how can we improve the quality of life for people living with a chronic illness?" or "what is the next big thing in family leisure time?"” [1].

The front end that has emerged is often referred to as the “fuzzy front end” because of its messy and chaotic nature. It is here that generative activities take place to inform and inspire the exploration of open-ended questions. The goal of the explorations in the front end is to determine what is to be designed and sometimes what should not be designed and manufactured. The fuzzy front end is followed by the traditional design process where the resulting ideas for product, components, interface, and so on are developed first into concepts, and then into prototypes that are refined on the basis of the feedback of future users.

[1] Elizabeth B.-N. Sanders & Pieter Jan Stappers (2008) “Co-creation and the new landscapes of design”, CoDesign: International Journal of CoCreation in Design and the Arts, 4:1, 5-18, DOI: 10.1080/15710880701875068


Lean Software Development

Lean Software Development is a translation of lean manufacturing and lean IT principles and practices to the software development domain.

Defining Lean Software Development is challenging because there is no specific Lean Software Development method or process. A software development lifecycle process or a project management process could be said to be “lean” if it was observed to be aligned with the values of the Lean Software Development movement and the principles of Lean Software Development. Some of those principles are accept the human condition, accept that complexity and uncertainty are natural to knowledge work, or work towards a better economic outcome (see the credo published by the Lean Systems Society).

Lean literature emphasizes the idea of “optimize the whole,” which implies that it is the output from the entire system (or process) that we desire to optimize, and we shouldn’t mistakenly optimize parts in the hope that it will magically optimize the whole. This approach requires that we follow the Build-Measure-Learn approach to process design and improvement.

Service design

Discover how we redefine the food & beverage service at Universidad Carlos III de Madrid (UC3M).