设计思维在软件交付中的应用

引言

  设计思维?软件交付?两个看起来不相关的词,放在一起会有怎样的化学反应呢,下面来给大家聊聊在软件交付中运用设计思维。

设计思维的概念

  什么是设计思维,用一句话来说,设计思维是一种创造性解决未知问题的方法。三个关键词,“创造性”“未知问题”“方法”。“创造性” 可以理解为对问题理解的角度和把握方式不同于常规,从而提出非常规思路的解决方案;“未知问题” 指的是问题的性质,通常不是确定的问题,是没有标准答案的问题,比如对一个微积分问题求解就无法用设计思维;“方法” 指的是它不仅仅是一种思想,也有具体的流程,是可以具体的指导如何解决问题。

设计思维的来源

  那为什么这个方法称为“设计思维”呢?它发源于设计界,名字很大程度上基于设计师使用的方法和过程,但实际上它是从一系列不同的领域演变而来的,包括建筑,工程和商业。斯坦福大学设计学院把它归纳成一套科学方法论后,迅速风靡,核心的目的在于引导大家以“人的需求”为中心,通过团队合作解决问题,获得创新。设计思维也可以应用于任何领域,它不一定必须是特定于解决设计方面的问题。

设计思维过程

  设计思维在解决问题的时候是如果去做的呢?其实设计思维过程可以分为5个步骤:共情,定义,想法,原型和测试。我们来具体谈论这五个步骤。

设计思维在软件交付中的应用_第1张图片

   共情(Empathise):也可以译为同理心。该过程的第一步骤用于了解用户并了解他们的需求和目标。这意味着要观察并与用户互动,以便在心理和情感层面上理解他们。这个步骤的核心在于站在用户的角度思考问题,想他们所需,思他们所要。

  定义(Define):第二个步骤用于定义问题。爱因斯坦曾说,“如果只给我一个小时拯救地球,我会花 59 分钟找准核心问题,然后用 1 分钟解决它。(If I were given one hour to save the planet, I would spend 59 minutes defining the problem and one minute resolving it.)” 设计思维的第二步,就是要“定义正确的问题”,通过第一步了解了客户,我们需要定义出客户真正的问题所在。

  想法(Ideata):有了对用户的扎实了解和清晰的问题陈述,是时候开始研究潜在的解决方案了。设计思维过程的第三阶段是创造力的发源地,需要尽可能多的提出新的思路和想法!在构想阶段即将结束时,可以将其缩小为一些可以继续前进的构想。这个步骤简单来说就是两个词,发散和收敛。在思考解决方案的时候,不要给自己的思维以局限,要的是头脑风暴和天马行空,这就是发散;在步骤结束前,需要归纳总结我们所有的想法,找出可以继续前进的构想,这就是收敛。

  原型(Prototype): 所谓原型,就是要动手把脑子中的想法落地,变成看得见摸得着的实体模型。原型的表现形式可以多种多样啦,可以画草稿图,可以用工具软件做可视化,甚至可以用橡皮泥做出心中所想,当然也以直接做出一个基本能用的实体。

  测试(Test):在进行原型制作之后,将进行用户测试。测试的目的是得到反馈,看看我们的想法是否能解决用户的问题,原型和测试阶段通常是一起出现的,看得见摸得着的实体,方便大家直观的理解,便于给出反馈。

  这就是设计思维的5个步骤。特别需要注意的,测试并不代表着结束,这是一个迭代的过程,在测试中收集的反馈,会让我们继续回到之前的步骤,比如重新定义问题。其实这5个步骤也并一定是线性的步骤,它是灵活的,在每一步你都可能会发现新的问题,从而走到上一步或者上几步。

设计思维实例

  上面介绍的设计思维可能有点抽象,下面举一个经典的例子帮助大家理解。
  在汽车发明之前,如果去问乘坐马车的用户想要什么样的车,得到的回答是想要跑得更快的马车。如果用设计思维去解决这个问题,第一步去用同理心了解客户,得到用户的需求是“更快的马车”。但我们在定义问题时,如果按照用户的需求去定义问题,我们可能永远都得不到汽车。所以一定要定义正确的问题,要找到问题的本质,“更快的马车”是一个伪问题,或者说是问题的一个表象,用户真正的问题是需要更快的交通工具。有了这个问题之后,我们就可以天马行空的去想象更快的交通工具是什么,最先想到答案的可能不是卡尔∙本茨,但第一个做出原型并用于测试的是卡尔∙本茨。后面的故事大家都知道了,我们找到了解决问题的答案,汽车。但汽车并不是问题唯一的答案,汽车是创造性的解决客户的问题的解决方案。

对设计思维的思考

  聊了这么多的设计思维,谈谈自己的理解。我认为设计思维的核心在于两点,定义正确的问题 和 不断的测试迭代。定义正确的问题的来源是我们以客户为中心,想客户所想,急客户所急,用同理心去发掘问题,逐渐靠近问题的本质。不断的测试迭代来源于我们先发散后收敛的得到的idea和原型的制作, 能让我们不停试错,得到反馈,从而迭代我们的解决方案,从而不断的接近正确的解决方案。

软件交付的核心

  设计思维铺垫完成,咱们来聊聊软件交付。
  软件交付当然是给客户交付软件,那客户是在为什么付费,是软件本身吗,不是,是软件解决了客户的问题,是软件通过帮客户解决问题带来的价值,客户还是为价值付费,我们做交付,核心还是要交付价值。软件其实是一个承载物,承载的是业务和技术的价值。想象一下,如果客户需要提升工作效率的OA系统,我们给客户交付了软件,但软件操作很复杂,工作效率不升反降,还不如线下操作,虽然我们交付了可工作的软件,但我们并没有帮客户真正解决问题,也就是并没有交付价值。

软件交付中引入设计思维

  为啥可以在软件交付中引入设计思维呢?我们回顾一下,设计思维是一种解决未知问题的方法,刚刚提到了软件交付的核心是交付价值,价值这个东西其实是没有确定答案的,因为价值不是我们定义的,是客户真正需要的,是需要我们去通过不断的了解客户后去帮助客户解决问题后得到的,这不正是设计思维能够去cover到的问题吗。简单来说,在软件交付的过程中,当我们要确定产品目标,定义产品交互的方式,定义产品的价值的过程中,通过设计思维的方式,可以帮助我们更好的完成这个过程。

设计思维在软件交付中的实战

  下面介绍下Thoughtworks在软件交付过程中对设计思维的运用。
  Thoughtworks在项目启动之前,通常会做一个 Inception 的过程。Inception的实践源于ThoughtWorks长期做定制交付软件的实践经验。 在交付团队启动交付之前,我们认为需要一个切入(Incept)的过程,可以让我们充分理理解客户的业务需求,和需求提出方的业务部门对项目达成充分的一致,制定后续的交付计划,高效地进入研发阶段。Inception的路程如下图所示。


设计思维在软件交付中的应用_第2张图片

  这张图中的表现的Inception的路程,看到了满满的设计思维的影子。Inception整个过程中都在试图更好都定义问题,和通过不断的测试、迭代找到更好的解决方案。Inception中其实就包含了定义产品目标的过程。

总结

  本文讲解了什么是设计思维,并讲解了设计思维在软件交付中的应用。其实这些都是个人最近看的一些资料和受到的培训的一个小的总结吧,里面加入了一些自己的理解,可能并不正确,或者能有更好的解释。本人也在不断的学习中,所以这篇文章后面随着个人越来越深入的理解设计思维和软件交付,会不断的进行演进,所以这篇文章也可以看成是一个试错的过程,后面通过不停的迭代来更新吧。欢迎大家指出其中的错误。

参考资料

What Is Design Thinking?

你可能感兴趣的:(设计思维在软件交付中的应用)