關(guān)于如何理解軟件需求的清單
作者:付裕
1.新增需求或者變更需求的出現(xiàn)標(biāo)志著現(xiàn)在的軟件無法滿足使用者的某一項工作跺撼。解決辦法是在現(xiàn)有的軟件上通過某些操作的組合滿足使用者的需求悲龟,或者對現(xiàn)有的軟件進行改造缩赛。換句話說通今,在需求的最初要區(qū)分出來究竟需不需要改程序沛厨。
2.在需求的提出者提出某項需求之后系馆,作為接收方要協(xié)助需求提出者完整的講一個“故事”痴突,也就是敏捷開發(fā)體系中的“story”的概念搂蜓。故事一般包含5W的要素。
? ? a)WHO(不一定是一個)
? ? b)WHEN(不一定是一個)
? ? c)WHAT
? ? d)WHY
? ? e)WHATELSE
也就是說辽装,誰在什么時候利用本機能做什么帮碰?為什么要做這些?(即如迟,本模塊能給使用者帶來什么便利的結(jié)果)收毫。如果要達到上述目的是否還有更好的辦法(即,WHAT ELSE)
3.一般而言殷勘,經(jīng)過5W分析之后的需求此再,會產(chǎn)出一張完整的軟件操作流程圖,或者最終結(jié)果預(yù)想圖玲销。同時输拇,這種操作流程圖或者最終結(jié)果預(yù)想圖在邏輯上是自洽的,同時也是邏輯閉環(huán)贤斜。即業(yè)務(wù)有發(fā)起點策吠,也有終結(jié)點。業(yè)務(wù)的最終結(jié)果要反饋到業(yè)務(wù)發(fā)起點上等等瘩绒。
4.注意區(qū)分軟件的使用者的角色猴抹。針對某一個需求,每個角色的動作是不一樣的锁荔。一般采用矩陣式的分析方式來確保某一個story對于所有的角色都考慮到了蟀给。
以新聞發(fā)布系統(tǒng)為例,
5.注意業(yè)務(wù)的分歧點和具有真實含義的業(yè)務(wù)分類阳堕。表現(xiàn)形式一般是畫面上的下拉框跋理,單選框,或者復(fù)選框恬总。這些業(yè)務(wù)分類很容易在提出需求的階段遺漏前普,或者每個業(yè)務(wù)都有每個業(yè)務(wù)不同的處理。比如壹堰,政務(wù)信息發(fā)布系統(tǒng)·字段類型的下拉框
默認(rèn)【單行文本框】拭卿,隱含的還有【多行文本框】骡湖,【下拉框】,【單選框】和【復(fù)選框】记劈。在編碼實現(xiàn)的過程中勺鸦,要考慮兼容這五種類型。
6.一般而言目木,在需求提出的階段换途,提出者一定不會完整的表達出所有的想法。而我們通過這一系列的做法只是確保盡最大可能的消化吸收需求提出者的想法刽射。
如下圖:
我們的目標(biāo)是:
無論如何還是會有一些雙方都想不到的內(nèi)容军拟。但是我們要確保想不到的這部分的比例很低。根據(jù)顧客滿意度的相關(guān)研究誓禁,我們要完成真實需求的97%懈息,才會給人【完成的非常好】的印象。
7.如果是公司內(nèi)部的發(fā)包項目摹恰,一般而言容易產(chǎn)生【反正后面還有人改辫继,這一期先這樣】的心理,在這種心理下造成的隱藏風(fēng)險是非常高的俗慈。我們的5W分析的另一個目的是在一期內(nèi)把能想到的都想到姑宽,降低隱藏風(fēng)險。同時要有一期一完結(jié)的心態(tài)闺阱。不要把工作的風(fēng)險轉(zhuǎn)移給后續(xù)流程炮车。
8.如果是一些官僚作風(fēng)比較重的客戶,在需求階段會一直閃閃爍爍的不說酣溃,或者非常急切瘦穆,恨不得放下電話的一瞬間,你就把東西修改好赊豌。針對這種問題扛或,沒有特別立竿見影的辦法,只能先確保我們已有的內(nèi)容品質(zhì)過硬碘饼,各種接口比較全面熙兔。所以,千萬不要隨口就答應(yīng)任何需求派昧,一定要經(jīng)過5W分析。
9.其他未盡事項拢切,后續(xù)會繼續(xù)追加蒂萎。