客戶需求、市場需求、產(chǎn)品需求、設計需求、業(yè)務需求、內(nèi)部需求、外部需求、特性、規(guī)格、功能需求?---?需求工程的基本術語說明
客戶/用戶需求:基于客戶認知,更多是客戶的直觀要求,體現(xiàn)了用戶個體的訴求,往往是理想狀態(tài),例如:“需要一個功能強大的手機,同時價格要相對便宜”、“我想要的汽車要外觀時尚,性能卓越?!?,用戶需求往往無法直接開發(fā)實現(xiàn),同時用戶對自己的需求往往也是模糊的,實際開發(fā)中就需要借助類似原型(demo)、參照物等方法,使客戶需求具體化。
市場需求:很多人理解的市場需求就是客戶需求,個人認為市場需求和客戶需求還是有很大差別的,客戶需求更多描述客戶的訴求,而市場需求不但要描述目標客戶的訴求,更需要描述競爭對手針對此需求的反應,例如,競爭對手是如何實現(xiàn)的?如果我們不實現(xiàn)被競爭對手替代的可能性有多大?如果實現(xiàn)我們是否如何做才能超越競爭對手?所以可以理解市場需求是經(jīng)過產(chǎn)品經(jīng)理分析后的客戶需求,體現(xiàn)了客戶和競爭的情況。
產(chǎn)品需求:針對產(chǎn)品需求,個人認為應把產(chǎn)品需求定義為“產(chǎn)品包需求”,之所以叫“產(chǎn)品包需求”是因為我們給客戶交付的不是孤立的產(chǎn)品,而是一個解決方案,同時客戶是否購買一個產(chǎn)品不僅僅看產(chǎn)品本身,還會關注品牌、服務、渠道等因素,產(chǎn)品需求要廣而不深,需要把產(chǎn)品相關的方方面面都考慮清楚,而不是要針對一點定義地多么精細,需要更多從客戶購買決定的全過程來思考,所以一般就會涉及:價格、渠道、包裝、性能、易用性、保證、服務、社會接受程度、品牌等;另根據(jù)需求理論一般產(chǎn)品需求會在25~99條之間,實際研發(fā)項目時,產(chǎn)品需求會直接讓領導層來判斷該產(chǎn)品的價值、競爭地位等,最終判斷該產(chǎn)品是否值得繼續(xù)做下去。
設計需求:設計需求故名詞意就是?設計?+??需求,經(jīng)常遇到研發(fā)人員說設計與需求有時候很難區(qū)分開來,其實到了設計需求階段,設計和需求已經(jīng)融合在一起了,同時也正是融合在一起,需求才能落實為設計,設計也才能承載需求;對比產(chǎn)品需求,設計需求定義時一定要在深度上下功夫,細化到能夠通過設計來實現(xiàn),并且能落實到具體的物理模塊來承載。那么設計需求怎么來的呢?根據(jù)需求工程理論設計需求是通過產(chǎn)品需求分解而來,業(yè)界常用HD(層次分析法)來分解產(chǎn)品需求,關鍵問題是大家一定要掌握,一個產(chǎn)品需求需要從哪些方面來分解,從而保證分解的完整性,根據(jù)IPD需求工程定義,一個產(chǎn)品需求通常需要從如下:功能、環(huán)境、性能、強健性(魯棒性)、可靠性、可維護性、可用性、安全性、重量、電源、尺寸大小、可運輸性/可移動性、靈活性等方面進行分解,當然并不是每個產(chǎn)品需求都要一定分解為這些方面,分解后就形成了與此產(chǎn)品需求相對應的設計需求清單。
規(guī)格:我們經(jīng)常講:產(chǎn)品需求規(guī)格說明書,說明需求和規(guī)格本來就是一體化的,規(guī)格就是需求的具體說明,例如:“OA要支持IE瀏覽器”?是需求,那么如果具體定義:“需要具體支持Ie6、Ie7、Ie8”,那么就叫規(guī)格;“聲音要達到120分貝~190分貝”,這本身就需求?+?規(guī)格。
特性:軟件行業(yè)和軍工標準中,經(jīng)常提到特性這個詞語,例如國標中定義:“特性?---?識別和區(qū)分各類產(chǎn)品或服務的屬性,這種屬性包含物理、化學、功能或其他可識別的性質(zhì)?!保凰阅:齺碇v特性就是產(chǎn)品需求,如果更精確來講,特性是產(chǎn)品需求中的與其他產(chǎn)品有明顯差異的個性化需求,通常我們把產(chǎn)品需求劃分為3類:BSA(Basic、Satisfied、Attractive),分別為基本需求、最好滿足的需求、更具有吸引力的需求;所以可以理解特性為:A的需求。
測試需求:什么叫測試需求,很多人認為測試需求是基于對產(chǎn)品需求的分析,測試人員提煉出來的需要重點測試的點,顧名思義:測試需求。不管別人怎么認為,本人認為測試需求是本身是個變態(tài)和錯誤的做法,只所以有測試需求,原因是實際研發(fā)中產(chǎn)品需求、設計需求定義不清晰,開發(fā)人員就糊里糊涂地進行設計和開發(fā)了,但測試人員無法基于需求提煉出來測試點,迫于無奈,不得不給需求定義人員擦屁股,將需求細化到能夠提煉到測試點的級別。正規(guī)做法應該如此:需求定義人員詳細定義產(chǎn)品需求和設計需求,而同時測試設計人員直接針對此需求分析該需求如何測試,重點測試哪些內(nèi)容,所以測試需求,本身應該叫:需求的可測試性分析,其實是需求的屬性之一,這樣做的好處是:可以直接判斷需求定義是否具體,是否可驗證,凡是不能驗證的需求都是錯誤的需求;后續(xù)測試用例開發(fā)人員針對需求的可測試性分析,直接編寫對應的測試用例。
內(nèi)部需求:實際產(chǎn)品需求定義時,我們更關注的是外部客戶的需求,因為外部客戶直接給我們錢,但其實產(chǎn)品也有內(nèi)部客戶,也需要關注內(nèi)部客戶的需求,誰是內(nèi)部客戶呢?例如制造、客服就是內(nèi)部客戶,如果設計時,沒有考慮到制造的要求,直接導致制造效率低下、良品率低,最終影響產(chǎn)品的市場表現(xiàn);制造部門的需求、客服部門的需求,也需要在產(chǎn)品開發(fā)前期就識別,成為產(chǎn)品需求和設計需求的一部分,并在設計開發(fā)中實現(xiàn)。
外部需求:對照內(nèi)部需求,外部需求是客戶、渠道、合作商、用戶等,外部關聯(lián)單位的需求,具體分析時就需要通過銷售過程分析,詳細分析產(chǎn)品從生產(chǎn)線下來,到最終客戶手里需要經(jīng)過哪些環(huán)節(jié),而這些所有環(huán)節(jié)的需求統(tǒng)稱外部需求,所有外部需求都是我們需要重點關注的,一個環(huán)節(jié)不滿足,產(chǎn)品可能就到不了最終客戶手里,就無法轉(zhuǎn)化為實實在在的商業(yè)利益。
業(yè)務需求:針對業(yè)務需求業(yè)界缺少標準一致清晰的定義,個人認為業(yè)務需求更多是從客戶的業(yè)務發(fā)展、財務、戰(zhàn)略出發(fā),更多體現(xiàn)了客戶高層的要求,涉及產(chǎn)品整體宏觀上的要求;例如針對ERP,“庫存周轉(zhuǎn)率提高50%”,針對電信設備,“能夠無縫升級到下一代網(wǎng)絡,從而節(jié)約投資成本”,針對銀行系統(tǒng),“提高客戶的資金周轉(zhuǎn)效率30%”;針對網(wǎng)絡游戲,“使單個用戶的費用貢獻提高50%”,等等,這些業(yè)務需求更多體現(xiàn)客戶經(jīng)營的需要,具體業(yè)務需求需要通過產(chǎn)品需求、設計需求去細化和實現(xiàn);例如ERP,為了是實現(xiàn)“庫存周轉(zhuǎn)率提高50%”,就要求ERP系統(tǒng)實現(xiàn):相應的報表統(tǒng)計功能、告警通知能力、訂單預期功能等,這些可以成為產(chǎn)品需求或設計需求。
功能需求:功能需求其實是設計需求的一個類別,為什么這么有名呢?核心原因還是軟件行業(yè)鼓吹、宣傳的原因,因為軟件行業(yè)基本都是功能需求,就是第一步干什么,下一步做什么,然后再做什么的場景描述,所以功能需求就這樣出名了,功能需求與其他設計需求定義時,核心不同點是,功能需求需要詳細定義場景描述,其中包含正常場景、異常場景,業(yè)界通用定義方法是Usecase法。