一、 设计思维 的概念和发展背景
设计思维是一种以用户为中心,为产品或服务的目标用户解决定义不明确或未知问题的思维方式。自从认知科学家和诺贝尔奖获得者 Herbert A. Simon 在他1969年的著作《人工科学》中首次提到设计思维的概念之后,世界在不断发展的过程中为其原理贡献了许多想法——史蒂夫·乔布斯在1997年回到苹果后(苹果收购NeXT之后),开始 运用设计思维 实现他对苹果产品的愿景,从而构成了现在的苹果战略:
接下来,我们将结合一些场景和例子介绍设计思维涉及的五个阶段——移情、定义、构思、原型和测试。注意,设计思维是一个非线性的迭代过程。.
二、 设计思维 的五个阶段
第 1 阶段:移情(Empathize)——研究用户的需求
首先,我们需要将过去的经验和对世界的假设抛在脑后,通过调查问卷、访谈、直接观察、网上论坛、研究报告资料等深入了解目标受众需要什么、他们的行为、感受和思考方式。进一步,我们需要挖掘为什么他们在现实环境中与产品交互时展示此类行为、感受和想法,从而做到真正洞察用户、对即将解决的问题有一个感同身受的理解。找到驱动用户行为和需求的潜在因素和动机是成功设计的核心因素。
在观察过程中,我们可以从“是什么”、“怎么做”、“为什么”三个方向出发去了解我们的用户。
“是什么”——记录下真实发生的事情的细节,切记不要假设;
“怎么做”——分析这个人是如何做他正在进行的事情的,是否花费了很长时间,是否需要很努力才能完成,表情是微笑还是皱眉;
“为什么”——根据前面获取的信息,对用户的动机和情绪做出有根据的猜测,然后跟用户一起核实或者测试这些动机假设。
除了被动地在自然环境中观察他们或在采访中与他们互动以外,我们也可以代入用户的角色去体验他们的经历,即俗话说的穿上他们的鞋子走上一英里,以便更深入地了解他们的真实情况。
第 2 阶段:定义(Define)——陈述用户的需求和问题
基于我们已经获得的用户信息,我们需要进一步的分析观察结果,提炼洞察,并形成问题陈述——即定义我们需要解决的核心问题。在构建问题的过程中,我们可以通过创建代表性的角色把思路聚焦于用户,这有助于我们发现不同用户的共性和差异。好的问题定义将指导我们朝着正确的方向启动构思解决方案。
一个好的问题陈述应该具有三个特征:以人为本、足够的发挥空间、以及清晰具体。
那么如何定义好问题陈述呢?在这里我们简单介绍三个方法:
第 3 阶段:构思(Ideate)——挑战假设并创造想法
基于问题陈述,我们可以通过再次重构问题引发方案构思,句式有如:“我们可以如何……”或“我们可以以何种方式……”。这些问题的范围也应该足够窄,以便创建更为具体的解决方案。例如,Airbnb当时发现许多在Airbnb上招租的人,需要更有效的通过图片和文案突出自身房子的优势,因为没有租户会为了不明确会得到什么的房源付费。以下几个问题可帮助团队进一步的构思方案:
这种如何(HMW)问题能让团队开展开放性探索想法的构思会议,这有利于我们产生广泛的、创新的想法。
在这个阶段,团队需要为参与人员创造能激发好奇心的、鼓励参与的、以及充分包容的讨论环境。在进行头脑风暴时,需要安排一个成员设定时间限制、控制讨论偏离主题,及避免成员打断或质疑他人发言。
在头脑风暴多个创新方案后,团队可通过投票等方式从众多的解决方案中选择最佳的优先执行。也可以把解决方案放入「影响力-可行性」矩阵中,再从中选出影响力高、执行难度小的方案优先落实。
第 4 阶段:原型(Prototype )——开始创建解决方案
制作原型实际上是一个实验阶段。我们需要基于上个步骤得到的解决方案,制作一些低风险的、廉价的、按比例缩小或者低保真版本的产品来调查我们想法的可行性。例如,一位准备开五谷面条餐饮店的老板想知道菜单里应该包含哪些菜品,因此在开店前通过第三方渠道投放“菜单原型“ ,从而通过收到的订单获悉消费者的喜好。结果显示在20种菜品当中,80%+的销量来自其中的5种菜品,那5种菜品因此成为了餐饮店的主打单品。在此案例单中,如果老板通过实际销售测试市场的喜好,预计成本将会是该原型的10倍以上。
原型的制作方法包括低保真原型和高保真原型两种。低保真原型指的是不完整的模型,只含有部分功能和特征,或者使用了仅仅是为了测试而不适合用于成品构建的材料制作而成的版本。比如:故事板、卡片、纸质模型等。它非常廉价也容易制作,这使得任何能力和经验的设计人员都能以最少的时间和成本参与制作解决方案。
但要注意的是,低保真原型相较于最终成品而言很粗糙,它不一定适用于我们的目标用户;他们也不一定能以真正的交互方式去操作它,这导致用户的体验跟真实情况会有很大差异,产生的测试结果也不一定有效。另一种方法是高保真原型,相比于低保真版本,制作它所需的成本更高、时间更长;若要对它进行修改,也会需要更多的时间才能完成。然而,它可以帮助我们获得具有高度有效性和实用性的反馈信息。原型越接近成品,设计团队对人们测试时的响应、交互和对设计的感知等反馈信息就越有信心。一般而言,在设计思维项目的早期阶段团队会选择制作低保真原型,基于测试反馈不断优化,到了后期也就自然而然会生成高保真原型了。
第 5 阶段:测试(Test)——尝试您的解决方案
一旦原型完成,可以先初步自行尝试原型演练,检查一下涉及的流程是否完整、操作是否能顺利执行。我们需要让尽可能多的目标受众测试原型,确保用户能够明白如何使用产品,以及进一步探索如何才能更有效地满足他们的需求,并基于测试结果返回之前的阶段重新定义一个/多个问题,或者进行迭代与改进。测试可以贯穿在设计思维项目的整个过程中,一般情况下,它与原型阶段同时进行。测试可以帮助团队获悉无价的用户反馈,重新审视潜在的解决方案和策略列表,以便建新方法来解决新发现的问题。
在对原型进行用户测试时,为了获得更真实的反馈结果,要让用户尽可能像在现实使用环境中使用原型。如果难以执行,请尝试让用户在这个过程中进行角色扮演或场景模拟,比如给他们一个具体的任务——在线上商城原型购买一袋零食并使用送货上门服务。在测试原型时需要谨慎观察测试者在交互过程在哪个地方卡顿了无法进行下去,但切记不要急于给用户提示,观察他们无法进行下一步操作时的反应,很可能能帮助我们发现更多问题或者发现新的解决办法。在完成测试后,团队可以通过采访进一步了解用户在整个过程中的感受和建议。
三、设计思维过程是流动的、迭代的和灵活的
设计思维的五个阶段并不总是连续的,它们经常相互反馈并形成迭代循环,甚至可以并行发生。设计思维看似简单,但真正做到洞察用户事实上非常困难,因为人本能地会受到过去的经验所局限,而设计思维可以帮助我们突破这个瓶颈。它既让我们专注于设计对象并直接倾听他们的意见,也让团队获得强大的洞察力并自由地产生创新性、突破性的想法,从而找到满足他们需求的最佳解决方案。我们在这个过程中疯狂地产出想法,基于测试结果不断修补我们的原型,从而让我们的产品和服务满足可取性、可行性。
原文链接:5步详解如何运用设计思维
关于设计思维延伸阅读:
设计思维应用:与商业模式结合,让创新落地
优力普物联科技—用1天设计思维训练营,探索网络故障排查最优方案
300+精品课程,为你的求职、学习持续赋能。 热门课程推荐:
【设计思维】 【精益创新】 【增长黑客】【设计冲刺】
更多精彩案例与方案可以访问Runwise创新社区。我们为你准备了4大精选内容:
1.前瞻方案研究 2. 最新实践案例 3. 科学思维方法 4. 创新技术工具
我正在学习如何使用Nokogiri,根据这段代码我遇到了一些问题:require'rubygems'require'mechanize'post_agent=WWW::Mechanize.newpost_page=post_agent.get('http://www.vbulletin.org/forum/showthread.php?t=230708')puts"\nabsolutepathwithtbodygivesnil"putspost_page.parser.xpath('/html/body/div/div/div/div/div/table/tbody/tr/td/div
总的来说,我对ruby还比较陌生,我正在为我正在创建的对象编写一些rspec测试用例。许多测试用例都非常基础,我只是想确保正确填充和返回值。我想知道是否有办法使用循环结构来执行此操作。不必为我要测试的每个方法都设置一个assertEquals。例如:describeitem,"TestingtheItem"doit"willhaveanullvaluetostart"doitem=Item.new#HereIcoulddotheitem.name.shouldbe_nil#thenIcoulddoitem.category.shouldbe_nilendend但我想要一些方法来使用
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
给定这段代码defcreate@upgrades=User.update_all(["role=?","upgraded"],:id=>params[:upgrade])redirect_toadmin_upgrades_path,:notice=>"Successfullyupgradeduser."end我如何在该操作中实际验证它们是否已保存或未重定向到适当的页面和消息? 最佳答案 在Rails3中,update_all不返回任何有意义的信息,除了已更新的记录数(这可能取决于您的DBMS是否返回该信息)。http://ar.ru
我有一个模型:classItem项目有一个属性“商店”基于存储的值,我希望Item对象对特定方法具有不同的行为。Rails中是否有针对此的通用设计模式?如果方法中没有大的if-else语句,这是如何干净利落地完成的? 最佳答案 通常通过Single-TableInheritance. 关于ruby-on-rails-Rails-子类化模型的设计模式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co
我在我的项目目录中完成了compasscreate.和compassinitrails。几个问题:我已将我的.sass文件放在public/stylesheets中。这是放置它们的正确位置吗?当我运行compasswatch时,它不会自动编译这些.sass文件。我必须手动指定文件:compasswatchpublic/stylesheets/myfile.sass等。如何让它自动运行?文件ie.css、print.css和screen.css已放在stylesheets/compiled。如何在编译后不让它们重新出现的情况下删除它们?我自己编译的.sass文件编译成compiled/t
我正在寻找执行以下操作的正确语法(在Perl、Shell或Ruby中):#variabletoaccessthedatalinesappendedasafileEND_OF_SCRIPT_MARKERrawdatastartshereanditcontinues. 最佳答案 Perl用__DATA__做这个:#!/usr/bin/perlusestrict;usewarnings;while(){print;}__DATA__Texttoprintgoeshere 关于ruby-如何将脚
Rackup通过Rack的默认处理程序成功运行任何Rack应用程序。例如:classRackAppdefcall(environment)['200',{'Content-Type'=>'text/html'},["Helloworld"]]endendrunRackApp.new但是当最后一行更改为使用Rack的内置CGI处理程序时,rackup给出“NoMethodErrorat/undefinedmethod`call'fornil:NilClass”:Rack::Handler::CGI.runRackApp.newRack的其他内置处理程序也提出了同样的反对意见。例如Rack
在选择我想要运行操作的频率时,唯一的选项是“每天”、“每小时”和“每10分钟”。谢谢!我想为我的Rails3.1应用程序运行调度程序。 最佳答案 这不是一个优雅的解决方案,但您可以安排它每天运行,并在实际开始工作之前检查日期是否为当月的第一天。 关于ruby-如何每月在Heroku运行一次Scheduler插件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8692687/
我有一个对象has_many应呈现为xml的子对象。这不是问题。我的问题是我创建了一个Hash包含此数据,就像解析器需要它一样。但是rails自动将整个文件包含在.........我需要摆脱type="array"和我该如何处理?我没有在文档中找到任何内容。 最佳答案 我遇到了同样的问题;这是我的XML:我在用这个:entries.to_xml将散列数据转换为XML,但这会将条目的数据包装到中所以我修改了:entries.to_xml(root:"Contacts")但这仍然将转换后的XML包装在“联系人”中,将我的XML代码修改为