吴坤:如何系统性地进行需求分析

发布时间:2022-11-03
浏览次数:

  在与医院科室用户讨论需求时,特别是专业性很强的业务需求,经常可能会遇到这样的情况:

  ● 容易被对方的思路带偏,导致需求沟通不完整,经过多次反复沟通才弄清楚,感觉自己的沟通需求缺乏方法;

  ● 分析需求时,感觉不够系统化,容易对需求的理解不透彻、不完整,导致方案设计时出问题。

  在医疗软件系统分析设计时,出现这样的困惑是很正常的事情,这主要是由于医疗行业的特殊性所致。软件工程师通常对专业的医疗知识所知不多,而面对的用户却是这个领域的专家。

  所以,在进行医疗系统需求分析时,不能有丝毫懈怠,对于用户需求需要有系统化全面的分析和认识。本文针对这一问题,提出一些经验和方法,供行业同仁一起探讨。

搞清楚原因

  在讨论用户需求的时候,切忌一开始就陷入各种细节问题,比如怎么实现,要达到什么效果等。首先应该提出问题,为什么要这样做,这样做的原因和目的是什么,也就是要搞清楚需求的背景问题。可以运用黄金圈法则来进行分析:

微信图片_20221103102030.jpg

图1 黄金圈法则

  Why(为什么):为什么要这样做?是正常业务流程运转需要,还是个别人的特殊需求?

  What(做什么):需求具体是要做什么,做成什么样子?

  How(怎样做):怎样才能实现需求功能开发,具体的技术方案是什么?

  了解需求的原因,对于后续的系统设计和开发很重要。原因决定结果,决定做事情的方式和方法。

确定好目标

  需求的目标是什么?需求最终要达到什么效果,解决什么问题?比如业务功能需求目标,要实现什么功能?业务上提高多大效率,减轻多少人工投入。性能需求目标,比如每次开立医嘱时间少于30秒,病历书写平均耗时低于10分钟等。

量化细节

  需求的“最终实现”长什么样子?关于需求最终实现细节要量化描述清楚,比如软件页面多少个,按钮如何分布,界面布局设计包含哪些菜单,系统响应时间多少等。细节量化后,将有助后续项目的开展,避免互相推诿和协商不当之类的矛盾产生。量化的细节,将极大的有利于需求的结果评估。

问题确认

  需求相关的问题,要一一确认清楚,包括:核心问题、相关人员、应用场景、业务流程。

  核心问题:需求相关的关键核心问题是什么?

  相关人员:与需求相关的有哪些用户,在需求事件中的利益关系如何,会不会存在利益冲突的地方,需求的实现让部分用户收益,但却不利于其他用户,他们之间的利益优先级如何。

  应用场景:各个用户在什么场景下使用需求功能或者参与需求事件,他们是否愿意积极参与需求事件或者使用需求功能。

  业务流程:各个用户参与需求事件或者使用需求功能的流程怎样,是否有冲突之处,是否可以优化流程。

  按照上述四个步骤进行分析,对用户需求大多会有系统化的认识,而不是单一或者片面的认知。最后,提供一个需求分析表格供参考:

微信图片_20221103102034.jpg

  作者简介

微信图片_20221103102036.jpg

  吴坤,计算机专业硕士,华中科技大学同济医学院附属同济医院信息中心软件工程师。专业计算机程序员,国内在医疗行业积极推广IT技术的青年工程师和技术践行者,热衷于以信息技术提高医疗行业服务质量和改善患者就医体验。