吳坤:如何系統性地進行需求分析
在與醫院科室用戶討論需求時,特別是專業性很強的業務需求,經??赡軙龅竭@樣的情況:
● 容易被對方的思路帶偏,導致需求溝通不完整,經過多次反復溝通才弄清楚,感覺自己的溝通需求缺乏方法;
● 分析需求時,感覺不夠系統化,容易對需求的理解不透徹、不完整,導致方案設計時出問題。
在醫療軟件系統分析設計時,出現這樣的困惑是很正常的事情,這主要是由于醫療行業的特殊性所致。軟件工程師通常對專業的醫療知識所知不多,而面對的用戶卻是這個領域的專家。
所以,在進行醫療系統需求分析時,不能有絲毫懈怠,對于用戶需求需要有系統化全面的分析和認識。本文針對這一問題,提出一些經驗和方法,供行業同仁一起探討。
搞清楚原因
在討論用戶需求的時候,切忌一開始就陷入各種細節問題,比如怎么實現,要達到什么效果等。首先應該提出問題,為什么要這樣做,這樣做的原因和目的是什么,也就是要搞清楚需求的背景問題??梢赃\用黃金圈法則來進行分析:
圖1 黃金圈法則
Why(為什么):為什么要這樣做?是正常業務流程運轉需要,還是個別人的特殊需求?
What(做什么):需求具體是要做什么,做成什么樣子?
How(怎樣做):怎樣才能實現需求功能開發,具體的技術方案是什么?
了解需求的原因,對于后續的系統設計和開發很重要。原因決定結果,決定做事情的方式和方法。
確定好目標
需求的目標是什么?需求最終要達到什么效果,解決什么問題?比如業務功能需求目標,要實現什么功能?業務上提高多大效率,減輕多少人工投入。性能需求目標,比如每次開立醫囑時間少于30秒,病歷書寫平均耗時低于10分鐘等。
量化細節
需求的“最終實現”長什么樣子?關于需求最終實現細節要量化描述清楚,比如軟件頁面多少個,按鈕如何分布,界面布局設計包含哪些菜單,系統響應時間多少等。細節量化后,將有助后續項目的開展,避免互相推諉和協商不當之類的矛盾產生。量化的細節,將極大的有利于需求的結果評估。
問題確認
需求相關的問題,要一一確認清楚,包括:核心問題、相關人員、應用場景、業務流程。
核心問題:需求相關的關鍵核心問題是什么?
相關人員:與需求相關的有哪些用戶,在需求事件中的利益關系如何,會不會存在利益沖突的地方,需求的實現讓部分用戶收益,但卻不利于其他用戶,他們之間的利益優先級如何。
應用場景:各個用戶在什么場景下使用需求功能或者參與需求事件,他們是否愿意積極參與需求事件或者使用需求功能。
業務流程:各個用戶參與需求事件或者使用需求功能的流程怎樣,是否有沖突之處,是否可以優化流程。
按照上述四個步驟進行分析,對用戶需求大多會有系統化的認識,而不是單一或者片面的認知。最后,提供一個需求分析表格供參考:
作者簡介
吳坤,計算機專業碩士,華中科技大學同濟醫學院附屬同濟醫院信息中心軟件工程師。專業計算機程序員,國內在醫療行業積極推廣IT技術的青年工程師和技術踐行者,熱衷于以信息技術提高醫療行業服務質量和改善患者就醫體驗。