设计思维及在Thoughtworks的应用

news2024/10/6 8:30:11

cc476d20a8f30bbcb899ebc71e429df4.jpeg

图:史江鸿

第一次听到"设计思维"是在2016年,那时我刚加入Thoughtworks。我总能在各种场合听到这个词,似乎它在Thoughtworks具有不可撼动的地位。然而,作为QA角色,我并没有机会深入了解它。

我曾感到疑惑,Thoughtworks作为一家全球性的IT咨询与服务公司,所合作的客户不可胜举,有的是互联网公司,有的则是正处于数字化转型中的传统企业。客户的业务和组织形态千差万别,有的为了推动业务发展而研发新产品,有的为了推动组织变革而进行敏捷或数字化转型。然而,即使这些客户多年来在自己的业务和产品上进行了大量研究,依然存在各种无法解决的问题。那么,Thoughtworks凭什么能在短时间内深入其中,并为他们提供专业的解决方案呢?

后来,我转型从事需求分析与产品设计相关的工作,才有机会揭开其中的秘密。原来,Thoughtworks拥有许多科学创新方法,设计思维(Design Thinking)就是其中一个。通过设计思维,我们能够更深入地了解客户的需求,挖掘潜在的问题,并为他们提供专业的解决方案。

c0b6572ef842a4e079b29cb981ad912a.gif

01 什么是设计思维

1987年,哈佛大学建筑与都市设计的教授Peter G. Gowe出版了《Design Thinking》一书,首次使用设计思维(Design Thinking)这个名词。

1991年,大卫凯利(David kelley)创立IDEO公司,以设计思维作为其核心思想,并贯彻落实到了IDEO工作当中,成功实现商业化。

设计思维是一个方法论,也是一种解决问题的思维方式。

7af5207283003c30117f3464690b339e.png

传统的思维方式是线性的,当我们看到问题,就立即设定目标、制定计划并执行,从而解决它。然而,在实际工作和生活中,我们往往需要面对许多复杂问题,传统的思维方式就不够奏效了,设计思维正好提供了创新的方法来帮助我们应对变化和不确定性:

  • 先深入地了解问题、确定真正的问题。因为心理学的“认知偏差理论”告诉我们,识别问题并不像表面上看到的那么简单,人们经常会歪曲、遗漏、忽视或低估某些信息,而这些信息恰恰提供了有关真实问题的重要线索。

  • 在寻找解决办法时,要尽可能找到更多的可能性,并经过不断地验证和改进,最终找到最佳的解决办法。

设计思维是一种以人为本的方法,即以用户为中心,关注用户体验和情感需求,通过深入了解用户来发掘问题,并以此为基础,找到最佳的解决方案,为用户提供更好的使用体验和更高的满意度。

由于设计思维被很多学者多次改进,所以设计思维的模型不止一个,比如英国设计协会提出的双钻模型和斯坦福设计学院的设计思考流程。而Thoughworks对双钻模型有着极其深入的探索和实践。

双钻模型(Double Diamond Model)是一种结构化的思维方式,该模型包含两个阶段,分别以两个钻石形状来表示:

146ee5d06094b59a2eb9d6feaca0ab01.png

阶段一:识别真正的问题,从而做正确的事情

我们的客户通常面临一些问题或挑战,但它们还不够清晰,所以难以解决。举个例子,我们的客户深耕于母婴市场,他们发现当今社会的新手家长都忙于工作,无法全天候在家照顾婴儿,这是对新手家长的极大挑战,但也可能是一个潜在的市场机会。为了搞明白这个挑战,就需要通过一个探索定义的过程,找到真正的问题所在,从而将资源投入到正确的事情上来。

  • 第一步:探索(Discover):在这个阶段,我们需要了解用户的需求和期望,以明确问题的定义。通过发散的思维方式,尽可能多的去了解潜在的问题和挑战,尽可能多地去研究存在这些挑战和问题的用户,这样才能让我们对挑战本身有更广且更深的理解。在此阶段,我们可以进行市场调研,了解婴儿看护市场的需求和趋势;调研尽可能多的新手家长,了解其在婴儿看护方面的痛点和难点、及寻求看护服务的需求和渠道等诸多信息。

  • 第二步:定义(Define):我们已经收集到足够多关于问题和挑战的洞见了,是时候通过收敛的思维方式,不断地缩小范围,从探索到的众多用户中找到最核心的用户、从众多问题中找到最核心的用户诉求。这样我们才能找到真正的问题,为寻找解决方案提供正确的方向。在这个阶段,我们要从探索到的婴儿看护士市场中存在的诸多问题中找到最关键、最核心的问题。

阶段二:找到正确的解决方案,从而把事情做正确

虽然我们已经找到了真正的问题,但解决它并非易事。假设通过阶段一我们识别到的核心问题是:作为新手家长,如何才能找到靠谱、专业、可信的婴儿看护服务?为了解决这个问题,我们需要进行设计交付两个过程。 

  • 第一步:设计(Design):聚集团队中不同背景的人员,针对我们已经定义好的问题,集思广益、激发灵感,进行创意的探索,发散出尽可能多的想法和解决方案。尽管它可能不够完美,但却能够在一定程度上解决用户的问题。我们需要将其以某种方式呈现给用户,并获得用户的反馈。在此阶段,我们可以邀请婴儿护理专家、育儿顾问、婴儿看护服务从业者等不同领域的专业人士参与讨论,收集和分析他们的想法。这些想法可能是提供家庭式或托管式的服务、提供不同年龄段婴儿的看护、提供一对一或一对多的看护等不同的服务模式。为了验证这些假设,即这些方案是否真的能够解决问题,我们需要设计看护服务原型,并找到新手父母进行测试,验证婴儿看护方案的可用性,并得到用户的反馈。与此同时,我们需要技术团队来评估这些方案的可行性。

  • 第二步:实现(Deliver):结合多方面的反馈,从众多想法和解决方案中收敛,找到最佳的解决办法,它可能是一个全新的方案,也可能是多个方案的整合。对于新的方案,我们需要快速实现它并将其推向市场,从而尽快地得到用户和市场的验证,并从中学习。迭代这个过程,直到我们找到真正能够解决实际问题的方案。

需要注意的是,一定要理清客户和用户的关系。在这个案例中:

  • 客户是为该解决方案买单的人,我们的方案需要满足客户的目标,比如帮助客户成为该市场的领军者,并且从中盈利。

  • 用户则是最终使用该解决方案的人,比如新手家长,育儿师等。当然,客户也可能就是用户之一,这取决于我们的方案要解决谁的问题。

因此,一个好的方案不仅要满足客户的目标,使其愿景得以实现。更重要的是,要真正解决用户的问题。如此才能达到双赢,帮助客户实现真正的成功。

当然,我们很可能在用户验证的过程中推翻自己,从而重新切换到之前的阶段。比如,我们可能在设计或交付过程中意识到我们并没有对问题梳理的足够清楚,或者我们发现了新的问题,又或者随着时间的推移,整个业务发生了变化,因此,设计思维并不是线性的,而是一个迭代的过程

4762cb8b0988f397ce5b1ec416db0c4f.png

7d85183aff326d991ac8eccb7e048951.gif

02 设计思维在Thoughtworks的应用

既然说设计思维是Thoughtworks推崇的科学创新方法之一,那它究竟是如何应用在产品设计与研发中的呢?

在Thoughtworks,根据客户的不同诉求,我们会启动不同类型的敏捷项目,包含Discovery,Inception,Delivery,和Maintenance。

4e48513856a7da2135babceb6e6dee9c.png

  • Discovery:即战略规划和产品探索。客户遇到了一些挑战,但这些挑战还比较模糊,所以难以解决。因此我们会启动 Discovery,来帮助客户探索和定义真正需要解决的问题,并且为这些问题找到正确且可行的解决方案。

  • Inception:即产品快速启动。客户已经明确知晓问题的定义,并且有了一定的解决方案,但对于该解决方案到底应该如何实施尚在迷雾中。因此我们会启动 Inception,来帮助客户设计和细化解决方案,并且为快速进入交付项目做准备。Discovery 和 Inception 都涉及到解决方案,但Discovery 更加关注‘What’,即“解决方案是什么”;而Inception更加关注‘How’,即“怎么做”。

  • Delivery:即产品的迭代交付和持续演进。这也是最常见的项目类型。此时,客户已经明确了问题的定义,也有了正确可行的解决方案,并且知道应该如何来实施。此时,我们就会启动 Delivery, 来帮助客户从第一个MVP开始,迭代式的交付产品和价值,并进行产品的持续演进。

  • Maintenance:即产品运维。一般情况下,当产品交付并上线后,且试运行结束,就需要启动Maintenance,以便持续保证线上产品能够正常工作,使得线上的事故能被及时处理、用户的问题能得到快速的响应等。不过,对于一些大型产品,由于研发周期长、产品复杂度高、用户体量大,Delivery和Maintenance通常是并行的,Delivery项目负责新功能的迭代开发和交付,而Maintenance项目负责已上线功能的维护工作。而对于一些小型产品,研发周期短、产品复杂度低、用户体量小,在产品研发彻底结束之前,运维工作通常也是由Delivery团队来进行的。

为了帮助大家更清楚地理解这几种项目的区别,我用一张图来从项目发生的场景、项目的目标、参与的角色这三个方面来进行比较。

fbd5794ac3512353b8dbc839a39b0199.png

实际上,设计思维可以被高度应用在其中任何一类项目中。

0916d76f61d88f94fc6aae3b4d4a9a96.png

Discovery 解决的是“做什么”的问题,其主要活动有用户研究定义问题构建并验证解决方案等。其中,前两个活动与双钻模型的第一个钻石完全吻合,第三个活动又与第二个钻石相吻合。

  1. 用户研究:我们需要从客户面临的挑战开始着手,采用发散性思维,进行尽可能充分的用户研究。用户研究的方式有很多,比如用户访谈、问卷调查、实地观察等。我们通常会结合多种方式,其目标是收集尽可能多地有关用户需求、期望、痛点等方面的信息。

  2. 定义问题:当我们获得足够多有关挑战的洞见后,就可以开始收敛了。从众多用户中识别出最核心的用户,并绘制核心用户画像以便我们保持同理心。我们还可以绘制As-Is用户旅程地图,来了解用户在该业务场景下达到目标的全过程、痛点和心情等,从而探索潜在的机会点。最后我们需要从这些用户痛点和机会点中挖掘出潜在的业务问题,并对这些问题进行优先级排序,其中最高优先级的问题就是我们要找的“真正的问题”。

  3. 构建并验证解决方案:针对已经定义好的问题,我们需要采用头脑风暴等方式发散出多种潜在的解决方案,评估并对比各种方案的优缺点,最终挑选出一两个最佳方案,并通过To-Be用户旅程地图、业务产品画布、设计交互原型等来可视化该业务方案,然后找到用户进行验证。最终根据用户反馈,再次收敛,整合出一个“最佳业务方案”。当然,在设计业务方案的同时,我们还需要设计技术方案,评估技术可行性。

Inception 解决的是“怎么做”的问题,其主要活动有细化解决方案定义MVP制定交付计划等。Inception是一个从定义、设计、到快速启动交付的过程。而这个过程与双钻模型的第二个钻石相吻合。

  1. 细化解决方案:我们已经有了解决方案,但它可能还不够细致,所以无法实施。因此,我们进一步细化解决方案,明确产品策略和发展蓝图、敲定基础设施和技术框架,细化To-Be用户旅程地图,对齐产品价值主张。如果在这个过程中我们发现对现状了解的不够具体,就可能需要重新去了解问题。

  2. 定义MVP:定义MVP(Minimum Viable Product),即最小化可实行产品。以便我们能够在Delivery一开始就用尽可能低的成本设计一个最小可行“产品”,并快速投入市场以获取反馈,进一步验证方案的可行性和可用性。

  3. 制定交付计划:为进入Delivery做好准备,比如项目实施需要多久、资金成本如何、需要怎样一个团队规模和配置、产品交付计划是怎样的,等等。

Delivery 就是真正的方案实施了,其目标就是“去做吧”。它有很多活动,通常我们以敏捷的方式来运作,但归根结底,就是在进行产品的迭代交付持续演进。虽然我们已经定义了问题,设计了最佳解决方案,并且规划好如何实施。可是,随着时间的推移,业务本身可能发生变化,客户也可能会遇到新的挑战,这就意味着我们需要不断地运用设计思维去分析和理解这些新的问题或挑战,并逐渐解决。

最后,Maintenance 的核心目标就是“持续解决线上问题”,保证产品正常工作。越是复杂问题,就越不能掉以轻心,越需要运用设计思维帮助我们抽丝剥茧、理清问题脉络,从而找到解决问题的最佳办法。

由此可见,设计思维作为一个科学创新方法,可以贯穿在产品生命周期的每个阶段,我们就是这样将其应用在产品的设计和研发中的。期待我们能持续探索和实践更多的科学创新方法。


参考:

  • 《Design Thinking Handbook - Invision》 Eli Woolery

  • 《Understanding Design Thinking, Lean, and Agile》 Jonny Schneider

38adc532f3a37a06bfaada9f5347c0ca.gif

END

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/575287.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2-python的变量类型

内容提要 主要介绍了python中的变量类型,之前不经常用的点有: 列表的下标可以是负数,无论正负,都是从左侧开始,从左到右依次递增。 还有截取操作[头:尾:步长),表示连接,*表示重复。 列表与元组…

springboot+vue地方废物回收机构管理(java项目源码+文档)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的地方废物回收机构管理。项目源码以及部署相关请联系风歌,文末附上联系信息 。 💕💕作者&#xff1…

leetcode--删除链表的倒数第N个节点(java)

删除链表的倒数第N个节点 Leetcode 19 题解题思路代码演示链表专题 Leetcode 19 题 19 删除链表的倒数第N个节点 -可以测试 题目描述: 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点 示例1: 输入:he…

javascript基础五:深拷贝浅拷贝的区别?如何实现一个深拷贝?

一、数据类型存储 JavaScript中存在两大数据类型: 基本类型引用类型 基本类型数据保存在在栈内存中 引用类型数据保存在堆内存中,引用数据类型的变量是一个指向堆内存中实际对象的引用,存在栈中 二、浅拷贝 浅拷贝,指的是创建新…

springcloud分布式架构网上商城(java项目源码+文档)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的分布式架构网上商城。项目源码以及部署相关请联系风歌,文末附上联系信息 。 💕💕作者:…

LLM时代NLP研究何去何从?一个博士生的角度出发

深度学习自然语言处理 原创作者:Winni 前言 最近,大语言模型(LLMs)在许多任务上表现出接近人类水平的性能,这引发了行业兴趣和资金投入的激增,有关LLMs的论文最近也层出不穷。 看起来,NLP领域似…

博客系统(ssm版本)

在前面的文章中给大家介绍过博客系统的servlet版本,但是servlet的技术非常的老旧,我们在企业中用的都是springboot相关的框架,本章内容就是讲述如何一步一步的利用ssm的技术来实现博客系统。 目录 前期配置 创建数据库 配置文件 公共文件…

30 VueComponent 事件的绑定

前言 这是最近的碰到的那个 和响应式相关的问题 特定的操作之后响应式对象不“响应“了 引起的一系列的文章 主要记录的是 vue 的相关实现机制 呵呵 理解本文需要 vue 的使用基础, js 的使用基础 测试用例 用例如下, 我们这里核心关注 事件的处理流程 问题的调试 整个…

c# cad二次开发 通过选择txt文件将自动转换成多段线

c# cad二次开发 通过选择txt文件将自动转换成多段线,txt样式如下 using System; using System.Collections.Generic; using System.Text; using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.EditorInput; using Autodesk.AutoCAD.Runtime; usi…

chatgpt赋能python:Python改变图片大小对SEO的影响

Python改变图片大小对SEO的影响 简介 Python作为一门高效的编程语言,广泛应用于各个行业,并在图像处理领域中也有很多应用。其中一个常见的应用就是改变图片的大小。在SEO(搜索引擎优化)中,图片大小的优化对网站的排…

chatgpt赋能python:Python批量输出:提高工作效率的必备技能

Python批量输出:提高工作效率的必备技能 在日常工作中,我们往往需要批量处理某些数据。Python作为一种流行的编程语言,可以帮助我们快速地完成这项任务。本文将介绍Python批量输出的基本知识和实用技巧,帮助读者提高工作效率。 …

chatgpt赋能python:Python改变当前目录的SEO指南

Python改变当前目录的SEO指南 介绍 对于SEO来说,网站的目录结构和文件命名是非常重要的。良好的目录结构可以帮助搜索引擎更好地理解您的网站内容,而有意义的文件命名可以提高页面的可读性并有助于排名。 但在开发过程中,我们经常需要在不…

铁粉数量上一百了

铁粉数量上一百了 常写博客,常进步。

【Python】类与对象

知识目录 一、写在前面✨二、类与对象简介三、Car类的实现四、Date类的实现五、总结撒花😊 一、写在前面✨ 大家好!我是初心,希望我们一路走来能坚守初心! 今天跟大家分享的文章是 Python中面向对象编程的类与对象。 &#xff0…

一道北大强基题背后的故事(一)——从走弯路到看答案

早点关注我,精彩不错过! 在前面的系列文章《我的数学学习回忆录——一个数学爱好者的反思(二)》中,我从宏观层面回忆了我的数学学习历程和反思。其实,我和数学之间还有很多很多意识流一样的交流和故事&…

训练DeeplabV3+来分割车道线

本例我们训练DeepLabV3语义分割模型来分割车道线。 DeepLabV3模型的原理有以下一些要点: 1,采用Encoder-Decoder架构。 2,Encoder使用类似Xception的结构作为backbone。 3,Encoder还使用ASPP(Atrous Spatial Pyramid Pooling)&…

听听飞桨框架硬核贡献者如何玩转开源!

当仰望星空时,你在想什么?我在想象,未来可能是什么样子。从应用广泛的人工神经网络,到火遍全网的AIGC,创造新宇宙的人,相信永远看不到天花板。 在这些神奇的AI产品背后,有一个了不起的开源项目—…

滴滴时空供需系统的设计和演进

本篇文章分为: 1.背景介绍 2.系统框架的演进 2.1 旧系统框架的不足 2.2 新系统框架的优势 3.系统建设思考 3.1 存储治理 3.2 性能优化 3.3 研发提效:配置化能力升级 3.总结 1. 背景介绍 时空供需系统(SDS, supply and demand system)是为了满足滴滴网约车…

开箱即用的工具函数库xijs更新指南(v1.2.6)

xijs 是一款开箱即用的 js 业务工具库, 聚集于解决业务中遇到的常用函数逻辑问题, 帮助开发者更高效的开展业务开发. 接下来就和大家一起分享一下 v1.2.6 版本的更新内容以及后续的更新方向. 贡献者列表: 1. 计算变量内存calculateMemory 该模块主要由 zhengsixsix 贡献, 我们可…

leetcode练习(汇总插入区间)

文章目录 题目一:汇总区间题目二:插入区间 语言:python 工具:jupyuter 题目一:汇总区间 给定一个 无重复元素 的 有序 整数数组 nums 。 返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说&#xff0c…