Sei sulla pagina 1di 6

Design Thinking in Software Engineering:

Models and Techniques


Rafael Parizi, PUCRS Matheus Prestes, PUCRS and Sabrina Marczak, PUCRS

Abstract—Design Thinking is an approach to problem-solving through the execution of processes and methods that aims to meet user
needs, transforming a problem or idea into a minimum viable product prototype accepted by the end-user to distill the proper solution to
be followed-through. Distinct design thinking models and techniques are adopted in software development processes applying
empathy and a sense of divergence and convergence to identify and define what is technologically suitable and sound. The benefits of
its use are not without pitfalls. Learn more here!

Index Terms—Design Thinking, Software Development, Models, Techniques, Benefits, Difficulties.

F
1 D ESIGN T HINKING IN S OFTWARE D EVELOP -
MENT

D ESIGN T HINKING is a problem-solving approach that


brings human-centered design principles at its core.
Driven by the search for innovation, it fits the development
TABLE 1
Benefits on the use of Design Thinking

of new products, services, and processes in several contexts, Better understanding of the customer and user needs
from startups to large and complex environments [1]; thus Resource to clarify user requirements
Strategy to validate a problem or an idea
being of use and interest to software development teams. Better identification of a solution or MVP
This user-centered approach can be used in software de- User at the center of the discussion
velopment processes since early phases to understand and Bring customer and users closer together with software teams
Innovative and creative solutions to customer and user needs
identify what the customer needs are, providing better sup- Improved communication
port for downstream development activities; mainly those Facilitates knowledge domain acquisition and sharing
related to identifying a proper solution for the problem- Easy-in integration with agile software development mindset
at-hand or validating solution-based hypothesis [2]. The
multidisciplinary view, engaging designers and users, offers
software teams the voice for dynamic, interactive and driven To help those interested in embracing Design Thinking in
problem-based collaboration; bringing all involved parties software development, we present a set of 10 models and 38
closer together. techniques reported in industry-based empirical literature
Industry-based empirical literature reports on several hoping that this can help introduce one to this new world1 .
other benefits of applying Design Thinking (DT) in soft-
ware development (see Table 1). By bringing the user at
2 D ESIGN T HINKING M ODELS
the center of the discussion, DT also improves team com-
munication and facilitates knowledge domain acquisition The models comprise different goals and are organized
and sharing, which are well-known issues in software de- in distinct phases as summarized in Table 2 and briefly
velopment. Given its user-centered approach, hypothesis- presented next.
validation based focus, and interactive and dynamic nature,
DT is also considered an easy-in integration with agile Sandino et al.
development mindset; seeing as a way to boost agile de-
Sandino et al. [4] integrates Design Thinking into software
velopment [3].
development with an iterative process that begins with
However, navigating in this new world might be chal-
instructions for subsequent team activities. The team then
lenging. Literature offers a plethora of sources for a practi-
explores features of the system to be developed, such as
tioner to choose from. Most of these argue that there is no
potential users, their needs, and previous solutions to the
silver bullet recipe on how to select a theoretical model to
same problem. From this, the next step, characterized as a
follow or which techniques to apply on. Empirical studies
divergent phase, the team should work collaboratively to
report, as the state-of-the-art practice, that software teams
generate as many ideas as possible, prototype them and then
select what they see as most fit to their context at the time.
1. Note to reviewers: We have conducted a literature review and
identified 18 models and 46 techniques. We present here only those
• R. Parizi is a PhD candidate in the area of Design Thinking for Software
reported as used in industry-based projects (from empirical studies).
Engineering (PUCRS). E-mail: Contact him at rafael.parizi@edu.pucrs.br
The remaining were mostly reported as a resource to support Software
• M. Plautz is a MsC student in the area of Design Thinking for Software
Engineering Education. Our review is available as a technical report in
Engineering (PUCRS).
Portuguese so far given that the second author needs to get its approval
• S. Marczak is a Software Engineering Adjunct Professor at PUCRS.
as part of his Graduate Program requirements but it can be accessed:
here https://bit.ly/2YAECYl.
TABLE 2
Design Thinking Models and Their Respective Phases

Models Phases Description


Define Definition of an initial structure and constraints to guide the work in the next activities.
Explore Gather information about the project, such as potential users, their needs and previous solutions.
Sandino et al

Idealize Identify the relevant issues to the people involved in the activity and to generate as many ideas as possible
to get answers to the identified needs.
Prototype Build detailed prototypes bringing useful information to be discussed with stakeholders.
Select Select the prototypes that solve the problem.
Implement Implement some selected prototypes to obtain outcomes.
Review Present results to users and capture feedback to evaluate the work done.
Define the Challenge Get information about the problem to be solved (or challenge) and define the activities for identifying and
developing the solution.
Nordstrom

Observe People Observe stakeholders as a means to identify what they do and think.
Form Insights Discuss and record insights from what has been observed and debating potential solutions.
Frame Opportunities Create a visual representation to understand the collected data by highlighting key relationships and
developing a solution strategy identification.
Brainstorming Ideas Generate numerous ideas to have solutions that meet user needs.
Try Experiments Test the selected solutions under real conditions to learn how they might work in practice.
Understand Understand the problem and context by collecting information about the topic or issue to be solved.
Observe Collect insights about the user needs by conducting observations, interviews, etc with the customers and
Plattner I

users.
D-School

Point of View Share the collected information amongst the team and convert them into a visual framework.
Hasso-

(HPI)

Ideation Work in an interdisciplinary way with observed data to generate solutions.


Prototype Visualize and communicate ideas with the help of fast and cheap prototypes (e.g., paper-based).
Test Evaluate the proposed solutions and user needs.
Approach The first meeting between technical members and stakeholders to share contextual information and
Diving Board

insights about the working methodology and user experiences.


Develop Construction of low-level prototypes based on artifacts and ideas presented in previous workshops and
community feedback.
Present and Provoke Participants present the latest iteration of the prototypes, which are designed to encourage the more
significant ideation of the participants through discussion and feedback on the artifacts.
Explore Explore the problem space with community participants, allowing them to share more contextual
information.
Reflect Participants reflect on mutual feedback and on subjects covered by the previous steps to generate a
requirements’ list.
Escape Once the problem has been explored and a list of requirements has been elicited, development begins.
Understand Understand the problem and its essentials, research data and facts, identify relevant actors and situations
and explore the possible scope of design.
Universitys

Emphasize Empathize with users to understand their problem, and capture deep insights into what users think and
Stanford

feel.
+ HPI

Define Moment to team members share all their impressions and information. The collected ideas and experiences
are used to reformulate and specify the initial problem.
Ideation Create personas to focus on the target group for the future solution and generate a large number of ideas.
Prototype Select the promising ideas generated earlier on and produce prototypes to quickly and concisely visualize
it.
Test Test prototypes in a real context to build empathy for the target group.
Empathy Understand what the user or customer need, in terms of what the customer feels.
Definition Set down the needs of the customer in terms of a problem that can be solved.
Ideation Propose a set of solutions that meets the needs of the customer.
D-School
Stanford

Prototype Create a solution that covers a selection of the features required by the user, so that the final customer can
Univ.’s

experience it.
Test Present the solution so that the customer can provide timely feedback to iterate within the process.
(Re)define the Problem Definition of the problem to be solved, involving the identification of stakeholders. In a second iteration,
Meinel e Leifer

it will serve as an analysis of test results.


Understand Understand the problem and context through data gathering about the topic or problem to be solved.
Idealize Generate and develop ideas that may lead to solutions.
Prototype Build a graphical view of the ideas generated to present the solution.
Test Test the prototypes in a real context that will be used to evaluate them.
Research Plan activities by choosing suitable methods, conducting research, and publish an insight report.
Idealize Execution of a co-creation workshop hosted by the ideation team, inviting other stakeholders to discuss
Workflow
Centered
Human-

the insights.
Prototype Build the prototypes and present them to the evaluation team.
Agile

Evaluate Conduct an evaluation and depending on the outcome, prototyping teams should have to rework their
prototypes.
Understand Empathy activity to help to understand the users, within the context of their problems, observing how
IBM DT

users interact with their environment.


Explore Generate new ideas in order to avoid obvious solutions and thus increase the innovation potential.
Prototype Iterative generation of artifacts intended to answer questions to solve the design problem and to validate
the ideas proposed during the Explore phase.
Evaluate Solicit users to provide feedback about the created prototype.
Divergent Generate multiple ideas, searching for relevant information and proposing new ideas about the related
DC-DT

task.
Convergent Produce solutions for the selected ideas by putting ideas into action and employing an innovative solution.
refine them at a selection stage. After choosing the ideas that the understanding of their needs, used to define the soft-
indicate what the product will look like, the team should ware requirements. This process includes interviews with
implement the solution considering who will do what, the experts, developers, analysts, among others, and fosters
timeline, and with what features. Finally, the team should interdisciplinary and collaborative work to present ideas
review the product and make sure it truly meets the needs as a tool for generating candidate solutions. These are
of potential users. formulated as prototypes to capture stakeholders reactions
and feedback needed to foster the software development
Nordstrom Model process. Examples of use of this model are development
of open government data solutions [8] and smart-cities
A model for using both DT, Lean Startup, and Agile, where
requirements engineering [9].
development of a new product must start with DT because
the team needs to discover user needs, identify problems,
Stanford University’s + HPI
and propose solutions. In this model, the problem to be
solved by the software team is seen as a challenge to obtain This model compiles the Stanford and Hasso Plattner’s
information and define the sequence of activities, observing models based on principles such as user needs as the cen-
people to capture insights and detailed stakeholder data. ter of attention, deep understanding, and interdisciplinary
Then a multidisciplinary team of developers and designers teams. Focused on empathy with the user, this model can be
brainstorm to generate various ideas into how to design a applied to the software development process by integrating
solution strategy that meets user needs and then test the so- a team of IT specialists, developers, and professionals from
lution under real-world conditions to capture user feedback other areas of the proposed solution. It also provides for the
information that will guide the next steps of development. creation of personas so that it is possible to discuss their
This model is used by a team of developers and designers characteristics and serve as a source for software require-
applying agile and human-centered methodologies at the ments. These actions should be performed in collaborative
BlackBerry Tech Center Recife, Brazil [5]. contexts, as they allow the generation of many insights for
the DT team through ideation, which provides subsidies for
Hasso-Plattner I D-School Model (HPI) the creation of prototypes seeking, through testing, to verify
if the proposed solutions adequately meet the needs of end-
Hasso-Plattner is a Design Thinking model that can be in- users [10].
tegrated into software development to enable participatory
design of the solution that meets user needs. This model em-
Meinel e Leifer
phasizes the human perspective by collecting information
through observations described as insights. In an ideation In this model DT is defined as a human-centered method-
process, it encourages interdisciplinary teams that merge ology that integrates expertise from different disciplines
users and developers to work on generating a large set of such as design, engineering, and business for systems de-
ideas and then putting them into practice by developing velopment. It focuses on the end-user through stakeholder
prototypes, which are visual representations of the solution identification, multidisciplinary collaboration, and iterative
being presented to users. Testing these allows for the solu- improvement to produce innovative products, systems, and
tion evaluation and identification of user satisfaction with it services.
[6]. Meinel and Leifert consists of activities to generate ideas
that allow different views on solutions, starting with the
construction of prototypes as a way to present them and
Diving Board
then testing them in real context to evaluate the results.
The Diving Board model articulates an involvement of the Therefore, the DT has a Human-Centered Design approach
software development team with stakeholders who can for teams to achieve a deeper understanding of the design
provide useful information about their needs, helping to and enhance meeting user needs [11].
elicit software requirements. This approach aims to perform
user-centric activities, with the team being responsible for IBM DT
capturing user feedback and turning it into insights. Col-
The purpose of the IBM model is to extend DT principles
laboratively, participants should build prototypes so that
to be applied in software processes, capturing user needs
solutions are idealized, useful for giving stakeholders a view
for incremental software development. It has some modifi-
of the technologies available or that could be developed.
cations compared to other models, including the addition
So, the model encourages discussions about the projected
of the Hill concept, which presents a new way to express
solutions, which should be presented to those involved,
user needs in the project requirements. Each hill articulates
analyzed and establishes a process of reflection on the
a clear objective and contains a defined scope to be achieved
results to assist in obtaining a list of requirements for the
in a release or finite set of releases and must be written to
system to be developed, which enables the kick-off of the
solve a specific and clearly defined user problem. The hills
software development process [7].
also describe intersections between user expectations and
store requirements and consist of three elements: “Who”:
Stanford University’s D-School Describes a specific user or group of users; “What”: de-
Stanford’s Design Thinking model aims to clarify the prob- scribes a problem that needs to be resolved; and “How”: a
lem to be solved through empathy. This allows an immer- measurable target resulting from the completion of the hill
sion in the users’ context in order to obtain details to support [12].
TABLE 3
Design Thinking Techniques.

Technique Description
5w2h Used to explore and understand a problem where the team asks questions such as ”What? Why? Where?
Who? When? and How?”.
A Day in the Life An ethnographic-informed technique where the team or a team member follows and observes a user during
a typical day to understand her routine and daily operations.
Behaviour Archaeology Allows the team to know how the user organizes her work space, what shes uses to perform it, and how the
tools and artifacts are use and organized.
Bodystorming Physical aspects of the user that might affect or are related to the work-to-be-performed are experienced in a
certain proposed situation as a means to inspire new ideas.
Brainstorming A creative process mediated by a moderator who is responsible for stimulating participants’ creativity in
generating a vast number of ideas without letting the group loses focus on what is being discussed.
Brainwriting Participants are asked to write ideas on a piece of paper and then discuss these ideas with the other
participants as a means to foster new ideas to problem-solving.
Business Model Canvas A management-based template for documenting or creating business models. It is a visual map with
components describing a product’s value proposition, infrastructure, customers, and finances.
Card Sort A participatory procedure applied to elicit the perspectives, values, wishes, and behaviors of users and other
stakeholders, in which cards with individual topics each are given to each participant who are asked to
organize them by categories and later discuss their organization.
Character Profiles A synthesis method whereby a team builds a (semi)fictional character which incorporates the human-based
observations the team has discussed with its users in group as a means to consolidate important user
characteristics and behaviors to be considered.
Cognitive and Behaviour Map A discovering technique in which the team asks the participants to show how they think and how they
perform their actions.
Costumer Journey Map A visual illustration of a series of steps that users will go through while using a system, considering
chronological aspects.
Desk Research A research-based technique that gathers information from published material on the target audience, or
product or topic of interest. Data sources can range from peer reviewed articles to white papers and media
material such as newspapers, magazines, and websites.
Empathy Map A visual representation comprised of four quadrants to represent each what people say, think, feel, and how
they behave in relation to a certain thing.
Error Analysis A team strategy to identify errors and correct them based on the design and prototype of a solution in which
the team can base its discussion, resulting in a dossier to guide the planning of the next steps.
Five Whys? A consistent approach to understanding the root-causes of a certain problem. The team asks ”why”-based
questions five consecutive times using the previous answers to formulate the next question round and moving
forward the the problem root causes.
Fly on the Wall An observation-based technique used to understand how people behave while performing a certain activity.
How-Might-We Question An innovative-based technique in which the participants raise new innovative ideas by formulating questions
in the form of ”How might we...?”.
Insight Card A synthesis technique used for recording ideas whatever they emerge. The card format includes the idea title,
source and brief description.
Interview A technique to learn what the customer and/or user think about a certain problem and how she would fix it.
Living Lab A multi-stakeholder place set-up to carry out innovation projects that follows the principles of open and user
innovation and focus on real-life experimentation of ideas and solutions.
Mind Mapping A graphical representation for visually simplifying and organizing complex data at different levels of
abstraction, illustrating links between data allowing new information to be extracted.
Mockup A visual, prototype-based representation of the proposed software solution, allowing for discussion before
actual code is developed.
Narrative A validation technique in which the user narrates her experience interacting with the developed solution.
Observation Similar to the Fly-on-the-Wall technique, it aims to reveal the user experience by understanding her work
context and uncovering hidden needs.
Personal Inventory A study of relationships that individuals develop with their belongings at work.
Persona An archetypal definition created about who is facing a certain problem, created to identify the needs the
product shall solve.
Rapid Ethnography Quick information gathering technique by asking the participants to highlight their activities.
Role-Playing A group technique that stimulates participants to assume a character role to more easily share what happens
when interacting with a certain product.
Scenarios Mapping Document the collective understanding of users’ workflows aiming to explore new ideas.
Shadowing Observation-based technique used for a certain period of time to seek longitudinal detailed information on
how the user interacts with the product.
Social Network Mapping Used to unveil hidden stakeholders and to identify roles and responsibilities.
Stakeholder Mapping Visual representation of the involved stakeholders and their relationships.
Storyboard Represent the user experience through storytelling and scene scripts that map who, what, when, where, and
how a system is used or shall be used in the future.
Storytelling Discuss and define possible scenarios for a certain proposed solution, describing them through stories
illustrated by figures, texts and fictional characters.
Survey & Questionnaire Used obtain information from users in relation to their needs when a broad audience is of relevance.
User Feedback Grid A four-part matrix that helps to gather and organize any sort of user’ feedback, questions and ideas.
User Story Short and simple descriptions often written on cards or sticky notes of each feature from the perspective of
the user or customer who needs the new capability.
World Cafe Similar to Brainstorming, this technique aims for generating new ideas from the group’s collective participa-
tion in quick rounds of discussion.
Human-Centered Agile Workflow (HCAW) TABLE 4
Challenges on the use of Design Thinking
HCAW combines agile and collaborative software devel-
opment with user-centric design, following Scrum’s estab-
Creative thinking mindset development
lished approach, without restrictions on team location, team User empathy establishment
size, or scope of the project. Also, this DT model is employed Requirements-implementation to problem-solving mindset change
for each sprint in Scrum. In the first sprint, provides for the Multidisciplinary team formation
completion of all steps, from research to evaluation. In the User engagement and motivation
Scale up to large and/or distributed teams
other sprints, only ideation step is re-conducted, focusing on Time consuming
co-creation workshops, prototype presentation, and evalua-
tion, working as input artifacts to the specification. Thus,
DT is worked on at the ideation design stage and serves as problem is well defined but no indication of solution is
input to the implementation process [13]. previously known, a solution already in place is no longer
attending the user needs and requires reconsideration),
DC-DT (Divergent-Convergent Model) customer profile and areas of application. Also, measure
The DC-DT model aims to build the solution by initially whether Design Thinking indeed provides better resolutions
diverging many ideas and then converging the discussion to to user needs helping practitioners to more safely board this
identify a set of proposals that might reveal the solution-to- journey and is yet not another silver bullet promise.
be [14], [15]. Integrated with Blue-Ocean strategies, which
focus on analyzing the competitive factors of the market, R EFERENCES
and Lean Startup, which focuses on creating a lean product
version that demonstrates delivering value to the target [1] T. Brown, “Definitions of design thinking,” Design Thinking:
Thoughts by Tim Brown, vol. 7, 2008.
audience, the DC-DT model is incorporated into the soft- [2] W. R. Prasad, G. Perera, K. J. Padmini, and H. D. Bandara, “Adopt-
ware development as a valuable source of information for ing design thinking practices to satisfy customer expectations
visualizing stakeholder needs, designing solutions iterativ- in agile practices: A case from sri lankan software development
elly, getting feedback from a multidisciplinary team that industry,” in Proceedings of the Moratuwa Engineering Research Con-
ference. IEEE, 2018, pp. 471–476.
includes managers, researchers, developers, end-users, and [3] A. L. Liikkanen, H. Kilpiö, L. Svan, and M. Hiltunen, “Lean
others, who practice co-design work building personas and ux: The next generation of user-centered agile development?” in
scenarios that create an environment to share ideas [16]. Proceedings of the Nordic Conference on Human-Computer Interaction,
2014, pp. 1095–1100.
[4] D. Sandino, L. M. Matey, and G. Vélez, “Design thinking method-
ology for the design of interactive real-time applications,” in
3 D ESIGN T HINKING T ECHNIQUES Proceedings of the International conference of design, user experience,
The techniques are used for different reasons or in distinct and usability. Springer, 2013, pp. 583–592.
[5] D. F. de Paula and C. C. Araújo, “Pet empires: Combining design
phases, associated or not with a certain theoretical model. thinking, lean startup and agile to learn from failure and develop
Table 3 lists these in alphabetical order, highlighting their a successful game in an undergraduate environment,” in Interna-
main purpose. tional Conference on Human-Computer Interaction. Springer, 2016,
pp. 30–34.
[6] A. Berger, “Design thinking for search user interface design,” Proc
of the European Human-Computer Interface Conference, pp. 1–4, 2011.
B UT I T IS NOT A LL A B ED OF R OSES ... [7] P. Newman, M. A. Ferrario, W. Simm, S. Forshaw, A. Friday, and
Although the successful industry-based reports from liter- J. Whittle, “The role of design thinking and physical prototyping
in social software engineering,” in Proceedings of the International
ature on the use of Design Thinking in software devel-
Conference on Software Engineering. IEEE, 2015, pp. 487–496.
opment, these are not without some pitfalls (see Table 4). [8] L. N. Mutuku and J. Colaco, “Increasing kenyan open data con-
These studies reported that is quite challenging for software sumption: A design thinking approach,” in Proceedings of the Inter-
teams to develop a creative thinking mindset and establish national Conference on Theory and Practice of Electronic Governance.
ACM, 2012, pp. 18–21.
empathy by the user as well as to move from requirements- [9] C.-S. Lee and K. D. Wong, “An entrepreneurial narrative media-
implementation to a problem-solving mindset. These chal- model framework to knowledge building and open co-design for
lenges can be overcame with multidisciplinary teams com- smart cities,” in Proceedings of the Computing Conference. IEEE,
posed of designers and software engineers, but companies 2017, pp. 1169–1175.
[10] A. Carell, K. Lauenroth, and D. Platz, “Using design thinking
are still resistant to bring designers to work full-time as part for requirements engineering in the context of digitalization and
of software teams, being more common to have them con- digital transformation: A motivation and an experience report,” in
tributing to discussing the user experience and designing The Essence of Software Engineering. Springer, 2018, pp. 107–120.
[11] H. Keighran and S. Adikari, “Developing high-performing teams:
user interfaces only. Bringing the user together is yet another A design thinking led approach,” in International Conference of
difficulty, already largely reported in agile development Design, User Experience, and Usability. Springer, 2016, pp. 53–64.
literature. Those working on large and/or distributed teams [12] P. Lucena, A. Braz, A. Chicoria, and L. Tizzei, “Ibm design thinking
also complain that it is hard to keep up and find proper software development framework,” in Proceedings of the Brazilian
Workshop on Agile Methods. Springer, 2016, pp. 98–109.
tools to support the use of this user-centered approach. And, [13] L. Glomann, “Introducing human-centered agile
unfortunately, it is also still perceived as a time consuming workflow(hcaw)–an agile conception and development process
activity that ”takes away from programming time”. model,” in Proceedings of the International Conference on Applied
Human Factors and Ergonomics. Springer, 2017, pp. 646–655.
There is still a long way to go. Academia and industry
[14] P. Daz, I. Aedo, and J. Cubas, “Codice: Balancing software engi-
can work together to identify which models and techniques neering and creativity in the co-design of digital encounters with
are best fit to a certain scenario (e.g., problem is blurry, cultural heritage,” 2014, pp. 253–256.
[15] D. Chasanidou, A. A. Gasparini, and E. Lee, “Design thinking Matheus Prestes is a MsC student in the area
methods and tools for innovation,” in Design, User Experience, of Design Thinking for Software Engineering in
and Usability: Design Discourse, A. Marcus, Ed. Cham: Springer the School of Technology at PUCRS University,
International Publishing, 2015, pp. 12–23. Brazil. Prestes is also a senior systems analyst
[16] A. W. T. Borba, G. H. C. Batista, and R. A. C. Souza, “Innostartup- at Thema Informtica Ltda, Brazil. Contact him at
a toolbox for innovation in software development process,” IEEE matheus.plautz@edu.pucrs.br.
Latin America Transactions, vol. 14, no. 8, pp. 3875–3885, 2016.

Rafael Parizi is a PhD candidate in the area


of Design Thinking for Software Engineering in
the School of Technology at PUCRS University,
Brazil. Parizi is also a Software Engineering se- Sabrina Marczak is an Adjunct Professor in
nior instructor at Federal Institute Farroupilha. the School of Technology at PUCRS University,
Contact him at rafael.parizi@edu.pucrs.br. Brazil. She co-leads the MunDDoS Research
Group, which mostly conducts industry-based
research in Software Engineering. Contact her
at sabrina.marczak@pucrs.br

Potrebbero piacerti anche