如何寫好硬件產(chǎn)品的需求文檔?
編輯導語:結(jié)合需求文檔,產(chǎn)品經(jīng)理可以對亟待開發(fā)的產(chǎn)品有一個更清晰的梳理,進而推動產(chǎn)品后續(xù)開發(fā)、迭代的順利進行。那么針對硬件產(chǎn)品,你知道該如何寫好相應(yīng)的需求文檔嗎?本篇文章里,作者總結(jié)了相關(guān)事項,一起來看一下。
任何一款產(chǎn)品最初都來源于一個抽象的想法,這個抽象想法關(guān)注的可能只是產(chǎn)品的功能,即這款產(chǎn)品能做哪些很酷的事,而不會考慮產(chǎn)品的具體特征,比如尺寸、顏色、電池續(xù)航時間等。
在這個階段,我們通常都會假設(shè)它們都處于最理想的狀態(tài),即,尺寸恰到好處,顏色人見人愛,電池可以一直供電等。
需求計劃是把抽象想法轉(zhuǎn)變?yōu)楫a(chǎn)品真實特征的過程,在這個過程中,你需要盡可能早地為這些特征撰寫需求,當產(chǎn)品下線后,你碰到意外問題的可能性就會大大降低。
通常情況下,當產(chǎn)品開發(fā)人員對產(chǎn)品的功能有清晰的了解時,就會直接進入設(shè)計開發(fā)階段。
當你擁有早期概念驗證原型后,就可以向利益相關(guān)者展示你的想法。
但是,在概念驗證階段之后,如果工程師開始挑選組件并設(shè)計原理圖,而沒有先對功能、行為、操作參數(shù)和設(shè)備的預期性能進行形式化,就會出現(xiàn)問題。
一、什么是產(chǎn)品需求?
產(chǎn)品需求只是你的設(shè)備打算做什么的定義,它是對產(chǎn)品預期功能的正式描述,也就是指產(chǎn)品上市銷售之前必須要做到的一組事。
以衛(wèi) Sir 負責過的指紋 U 盤產(chǎn)品為例,其需求大致如下:
- 具備雙分區(qū):一個公共盤區(qū),一個加密盤區(qū);
- 支持錄入指紋、識別指紋的能力。
在項目開始時,相關(guān)人員共同討論,確定產(chǎn)品必須做到哪些事情,這些事情反映在文檔上就形成了需求。
需求文檔主要有以下兩個用途:
1)在產(chǎn)品制造之前,原則上任何人都可以查看產(chǎn)品需求,從中了解產(chǎn)品主要用途以及有關(guān)尺寸、重量、可靠性等特征的信息。
需要注意的是,在產(chǎn)品開發(fā)過程中,需求可能會發(fā)生變化,隨著不斷獲取新信息,應(yīng)該經(jīng)常更新需求。
需求更新過程應(yīng)該確保以下幾點:
- 相關(guān)人員都要參與,也都會收到變更通知,以便對變化做出相應(yīng)調(diào)整;
- 考慮每個需求變更給其他需求造成的影響;
- 考慮每個需求變更對測試造成的影響。
隨著開發(fā)的推進,那些“可選”需求和“亮點”需求最終會變成真實的產(chǎn)品特征。同時,測試也需要需求來驅(qū)動,明確要測試什么。
2)產(chǎn)品開發(fā)工程師會把需求文檔看作一系列指示,用來指導他們應(yīng)該做什么。在項目最后會對產(chǎn)品進行測試,以確定產(chǎn)品能否上市銷售,這種測試主要驗證產(chǎn)品需求是否得到落實。
有關(guān)需求計劃的術(shù)語很多,也很容易讓人困惑。你需要區(qū)分幾個基本概念,包括需求、目標和規(guī)格,它們都可以描述產(chǎn)品功能。
1)需求:是指那些可量化且產(chǎn)品必須做到的事情。
2)目標:是你要盡量實現(xiàn)的事情,但是很難量化,也不容易做到。
比如,你對電池續(xù)航的需求可能是“連續(xù)供電不少于 5 小時”,而你確定的目標可能是 7 小時,這有助于你在產(chǎn)品開發(fā)過程中把精力放在那些“有了會更好”的事情上。
3)規(guī)格:是一些可以量化的描述,來自開發(fā)過程的某個部分。
比如,經(jīng)過測試,你開發(fā)的產(chǎn)品(如,藍牙耳機)滿電情況下可以連續(xù)可靠地運行 6 個小時,你可以把這一點寫在產(chǎn)品的宣傳資料和用戶手冊中。
那么,此時“充電一次運行 6 小時”就變成了產(chǎn)品規(guī)格,它描述的是產(chǎn)品實際能做到什么。
規(guī)格可以變成需求,需求也可以變成規(guī)格。比如,如果之前選用的電池停產(chǎn)了,那么你可能會選其他續(xù)航時間不低于 6 小時的電池。
你必須使用技術(shù)術(shù)語和口語術(shù)語,需要盡可能用一句話來描述你的電子產(chǎn)品創(chuàng)意。
舉個例子,下面是你與某位對工程學有所了解的朋友的對話:
朋友:“你的產(chǎn)品靈感是什么?”
你:“我喜歡種植自己的辣椒。但是,我經(jīng)常旅行,所以我不能總是給它們澆水,很多時候也沒辦法照顧它們。昨晚突發(fā)靈感,我可以構(gòu)建一種可以自動澆水并照顧植物的設(shè)備……”
朋友:“那么你打算如何做呢?”
你:“我將建立一個用于監(jiān)視關(guān)鍵參數(shù)的盒子(例如。土壤濕度、光照和溫度),然后根據(jù)植物的需要打開燈或給植物澆水,通過將此設(shè)備連接到互聯(lián)網(wǎng),我可以遠程監(jiān)控這些參數(shù)?!?/p>
從產(chǎn)品的簡單描述中,你已經(jīng)可以提取一些功能要求,例如,感知土壤濕度、環(huán)境光和溫度的能力。
需求是描述產(chǎn)品應(yīng)該做什么,而不是產(chǎn)品如何做的結(jié)構(gòu)化語句。
二、為什么需求有用?
需求不僅僅是公司用來確保其設(shè)計團隊履行設(shè)計開發(fā)任務(wù)的正式文書,而且對于設(shè)計工程師和項目經(jīng)理來說都是非常有用和必要的工作指南,它們可以為你節(jié)省金錢和額外的工作。
通過正確分類和定義電子產(chǎn)品的功能、特性、屬性和約束,你可以更清晰地了解實際需要設(shè)計的內(nèi)容。
此外,需求還允許你分離和模塊化管理產(chǎn)品功能,以便可以讓研發(fā)設(shè)計人員自行研究和實現(xiàn)它們。
在一個有多個人工作的項目中,擁有定義了所有功能,屬性和約束的需求文檔非常有用,可以清晰定義所需開發(fā)的內(nèi)容。
對于項目經(jīng)理或團隊負責人而言,產(chǎn)品功能和技術(shù)需求的結(jié)構(gòu)分解可用于為團隊設(shè)置任務(wù),或使用甘特圖等工具跟蹤項目。
一旦成功滿足所有產(chǎn)品要求,它也可以充當交付里程碑,以指示該項目已完成。
最后一點,良好的需求計劃可以減少產(chǎn)品開發(fā)風險,即盡早確定并解決問題,而不是把問題拖到以后再去解決,那樣付出的成本就太大了。
來看一個簡單但常見的產(chǎn)品開發(fā)失敗的例子:由于需求缺失導致產(chǎn)品開發(fā)失敗。
假設(shè)銷售人員頭腦里有了一個想法,他們想把裝有嵌入式軟件的新產(chǎn)品最先在國內(nèi)發(fā)布,之后在歐洲發(fā)布。
但是,他們并沒有把這個想法以需求的形式告知軟硬件開發(fā)者,這會造成什么后果呢?
如果你在產(chǎn)品開發(fā)早期忽視了產(chǎn)品的國際化問題,直到產(chǎn)品開發(fā)快結(jié)束才意識到,就很有可能會出現(xiàn)以下一些不良后果。
1)所選的軟件平臺,如,操作系統(tǒng),可能過于精簡,以至于無法輕松地通過語言包來更換文字界面。
在根據(jù)用戶語言更換不同的文本文件時,軟件平臺也沒有提供任何內(nèi)置方法。在這種情況下,開發(fā)者需要為每種語言手動構(gòu)建新的顯示布局,這會大大增加產(chǎn)品開發(fā)和測試的工作量。
2)產(chǎn)品可能把一些用戶數(shù)據(jù)通過互聯(lián)網(wǎng)集中存到了某個中心數(shù)據(jù)庫。
由于不同國家有關(guān)數(shù)據(jù)安全的法律不同,后端數(shù)據(jù)庫可能需要重新設(shè)計架構(gòu),重新開發(fā),以確保從各國收集的重要個人數(shù)據(jù)只存儲在相應(yīng)國家的數(shù)據(jù)中心。
三、需求的類型
需求可以通過許多不同的方式進行分類,但是有兩種主要類型:
- 功能需求:系統(tǒng)應(yīng)該執(zhí)行或提供的功能;
- 非功能性需求:指產(chǎn)品必須具備的某些屬性或質(zhì)量要求,即系統(tǒng)必須滿足的條件或系統(tǒng)運行的約束。
例如,移動電源具有測量電池溫度的功能需求,并且具有能夠在 0 到 40 攝氏度的溫度范圍內(nèi)工作的非功能需求。
需求必須遵循一些規(guī)則和結(jié)構(gòu):
1. 獨特的
需求是其本身的實體,不能是兩個或多個需求的組合。
2. 明確的
需求的所有讀者應(yīng)該對需求的內(nèi)容有相同的理解,只能有一種解釋。
3. 可驗證的
如果不能正確驗證需求,那么工程師將如何確定他們已滿足需求呢?
通常,你將進行內(nèi)部驗證,測試工程師會進行測量以檢查硬件是否正常運行并符合其設(shè)計規(guī)格和要求。
然后進行設(shè)計驗證,在該測試中,將對產(chǎn)品的外殼,不同溫度和濕度條件下進行更嚴格的測試,該驗證階段還包括 EMC 測試。
最后,該產(chǎn)品將在實際操作條件下進行現(xiàn)場測試,或者將其集成到更大的系統(tǒng)中,或者使其與其他設(shè)備進行交互。
4. 屬性
應(yīng)該給需求賦予屬性以支持前面提到的規(guī)則要求:
- 標題:需求的描述性標題;
- ID:不能重復的唯一標識;
- 與安全相關(guān):在某些安全性很重要的產(chǎn)品中,將需求分類為與安全相關(guān)是一種良好做法;
- 優(yōu)先級:在某些情況下,無法實現(xiàn)所有需求,因為它們會相互沖突。分配優(yōu)先級可為設(shè)計人員提供信息,以選擇最相關(guān)的需求;
- 來源:這是指需求的來源,是客戶,承包商還是外部的;
- 理由/目的:對需求及其存在原因的簡短描述;
- 驗證方法:該需求將如何驗證、測試和分析;
- 跟蹤信息:需求必須是可追溯的。
通常情況下,在產(chǎn)品需求完成之前可能會修改原產(chǎn)品需求的 50% 以上的內(nèi)容,例如,可能會突然出現(xiàn)需要結(jié)合新技術(shù)或者新法規(guī)的情況,這會迫使你更改設(shè)計。
需求變更需要由需求工程師,系統(tǒng)工程師或項目經(jīng)理解決和管理,一般情況下,工程師可以使用工具或軟件來尋求幫助。
需求工具可以自動化并保留可追溯性和歷史更改的記錄,同時支持需求驗證結(jié)果的記錄。
管理新出現(xiàn)的需求也很重要,這些需求僅在系統(tǒng)組合在一起時出現(xiàn),很難預見,必須在其它需求的基礎(chǔ)背景下分配它們,以避免孤立需求。
5. 電子產(chǎn)品的需求文檔
電子產(chǎn)品的需求文檔沒有單一的格式,每個設(shè)備都有其自己的規(guī)格和特殊性,當然,大多數(shù)電子產(chǎn)品可以遵循以下需求類別:
- 產(chǎn)品說明:產(chǎn)品的一般高級描述,最好附有系統(tǒng)級框圖;
- 設(shè)計要求:產(chǎn)品在組件和設(shè)計方面需要具備的功能;
- 功能要求:產(chǎn)品要執(zhí)行的功能;
- 環(huán)境和功能性環(huán)境要求:與對環(huán)境的影響及其在何處執(zhí)行功能有關(guān);
- 機械要求:外殼相關(guān)要求;
- 使用壽命要求:工作時間和工作溫度;
- 測試要求:產(chǎn)品需要通過的相關(guān)測試。
四、如何寫出好的需求?
產(chǎn)品需求既能成就產(chǎn)品,也能毀掉產(chǎn)品。那么你如何才能寫出好的需求呢?
1. 產(chǎn)品需求是設(shè)計的約束
一方面,產(chǎn)品需求是技術(shù)人員要實現(xiàn)的目標;另一方面,它也是設(shè)計的約束條件,因為它排除了產(chǎn)品的其他呈現(xiàn)方式。
例如,你喜歡在設(shè)備中使用可更換電池,比如,5 號電池。
它們個頭小,價格低,又能提供足夠的電能。與那些采用可充電電池供電的設(shè)備相比,如果可更換電池設(shè)備的電量用盡,可以輕松更換新電池,讓設(shè)備立即運行,而不必找插座去充電。
你可以買很多 5 號電池備用,著急的時候,你可以去任何一家超市或便利店買一次性電池來用。
如果要你為一款便攜式產(chǎn)品寫需求,你可能加上這樣一條需求,“必須使用可更換的 5 號電池供電”。
但是,這個看似簡單的需求會給設(shè)計帶來如下諸多影響,這個需求限定了產(chǎn)品的最小尺寸,產(chǎn)品必須裝得下電池,產(chǎn)品外殼必須設(shè)計有電池倉蓋,電池倉內(nèi)部要有相應(yīng)裝置供電池裝載,這些都會增加設(shè)計時間。
如果電池倉蓋合上時不用螺絲,而采用扣緊的方式,那么可選用的外殼材料也可能會受限,可選用的成型工藝也會受限。
這個需求會影響產(chǎn)品的機械架構(gòu),電池需要放置在靠近外殼的地方,以便于更換,而這可能會導致一些元件布局方式無法實現(xiàn),比如,某些布局可以有效地減小產(chǎn)品尺寸、提高散熱效率等。
在某些場景下,確實需要指定電池類型,必須保證可以更換電池。例如,相機或其他高耗電的便攜產(chǎn)品。
但是,除非你真的覺得更換電池這項功能非常重要,否則最好不要把能夠更換電池寫進需求里。
以便設(shè)計師設(shè)計電源時滿足那些真正對產(chǎn)品至關(guān)重要的需求,比如產(chǎn)品尺寸、重量、電池續(xù)航時間等。
編寫需求時,要認真提要求,只提那些真正重要的內(nèi)容,讓設(shè)計師在這些約束下發(fā)揮創(chuàng)造力,創(chuàng)造出更好的產(chǎn)品。
2. 需求必須是可測試的
好需求的顯著標志之一就是意思清晰、不含糊。這樣的需求得到滿足時,應(yīng)該不會有人提出任何異議,需求應(yīng)該是可測試的。
“這款產(chǎn)品應(yīng)該是安全的”這類說法在很大程度上只是反映了我們的美好愿望,它太過籠統(tǒng),不能算作產(chǎn)品需求。
“安全”由誰定義?如何測試產(chǎn)品是否安全?你如果想把上述說法換成標準的產(chǎn)品需求,應(yīng)該修改成這樣:這款產(chǎn)品要符合目標銷售地區(qū)的所有安全法規(guī)。
這樣一來,定義“安全”的擔子就轉(zhuǎn)移到了監(jiān)管部門,這樣做是有意義的,因為你需要滿足法律法規(guī)的要求。
比如有一款便攜產(chǎn)品,使用時人們主要把它放在口袋里。為此,你編寫了這樣一個需求,“這款產(chǎn)品應(yīng)該適合裝在口袋里”。
然而,口袋形狀各異,尺寸也不一樣,既有襯衫上的小口袋,也有工作服上的大口袋,口袋是各種各樣的,上述需求就模糊不清了。
你可以為該產(chǎn)品估計一個大致的尺寸,使之適合裝入大多數(shù)口袋,比如:“這款產(chǎn)品的尺寸應(yīng)該不超過 8 cm×10 cm×2 cm?!?/p>
雖然這樣做可能會導致產(chǎn)品尺寸過大或過小,但是設(shè)計師至少有了設(shè)計依據(jù)可參照。
另外,還有一種方法,可以為產(chǎn)品編寫合適的尺寸需求,即從用戶角度去描述它,比如“經(jīng)過測試,在目標市場中有 90% 的用戶認為這款產(chǎn)品應(yīng)該很容易裝進他們的口袋里”。
這就是一個“好的需求”,因為歸根結(jié)底,所謂的“好”與“不好”,都是用戶對產(chǎn)品的看法,而不是你對產(chǎn)品的看法。
像這樣一個需求還蘊含著其他細節(jié),比如產(chǎn)品應(yīng)該可以很輕松地放入或拿出口袋。
從不利的方面看,要測試是否實現(xiàn)了這個需求,需要召集一大群人,讓他們親身體驗產(chǎn)品,然后詢問他們的使用體驗,這遠比拿把尺子來測量要費力得多。
3. 需求是以接口為中心的
本質(zhì)上,產(chǎn)品就是一組接口,這些接口與外部世界相通,產(chǎn)品內(nèi)部“填充”著讓這些接口正常工作的“東西”。
產(chǎn)品需求應(yīng)該主要關(guān)注產(chǎn)品和外部世界之間的接口:
- 產(chǎn)品和用戶之間的接口,如,用戶界面;
- 產(chǎn)品和其他產(chǎn)品之間的接口,如,USB 端口、互聯(lián)網(wǎng)服務(wù)等 。
與接口有關(guān)的需求一般是指你想讓產(chǎn)品做什么,而與產(chǎn)品內(nèi)部“填充物”有關(guān)的需求是指你如何讓產(chǎn)品做它應(yīng)該做的事情。
大部分需求是前一種,后一種需求通常用來告訴設(shè)計師和開發(fā)者如何去做自己的工作,這是他們需要做的事,編寫需求應(yīng)該盡量圍繞你想讓產(chǎn)品做的事情展開。
提前把人機接口需求做完美相當困難,與人機界面一樣,在產(chǎn)品開發(fā)過程中,物物接口也需要早做測試。
有些接口更容易指定。例如,如果你的產(chǎn)品通過藍牙和計算機通信,那么藍牙接口要統(tǒng)一好。但是,如果上升到藍牙通信內(nèi)容這個層面,問題會變得更復雜,復雜程度取決于通信的內(nèi)容。
在藍牙通信中,有些類型的數(shù)據(jù)是有固定標準的,比如耳機和手機、音樂播放器和無線音箱等。
但是,如果標準藍牙接口規(guī)范不支持傳送的數(shù)據(jù),你就需要重新自定義高層數(shù)據(jù)格式和協(xié)議,以便發(fā)送方和接收方能夠相互理解。
其他“標準”接口的標準化也存在很大差異。例如,類似于藍牙,USB 這個通信“管道”也支持某些高層接口定義,在某些使用場景中對傳送的信息進行解釋和標準化,比如鍵盤、鼠標、游戲控制器、大容量存儲器等。
但是,即便產(chǎn)品的 USB 通信符合其中一個場景,從供電和耗電來說,USB 設(shè)備還是非常復雜的。
電力標準有很多種,許多USB 設(shè)備遵守這些標準。對產(chǎn)品中所有使用 USB 與任何其他設(shè)備連接的接口盡早進行測試。
你從零開始對任何接口所提出的初始需求,比如內(nèi)部子系統(tǒng)之間的接口需求,很有可能是不完整、有歧義的,甚至是完全錯誤的。
接口設(shè)計是一門技術(shù)活兒,除非你先前設(shè)計過并且投產(chǎn)過非常相似的接口,否則,一般會或多或少出一些岔子。
在開始開發(fā)產(chǎn)品之前,合理提出這些需求是非常重要的。此外,還應(yīng)盡早為測試子系統(tǒng)做好規(guī)定,并隨著開發(fā)推進更新規(guī)定。
在項目剛開始時忽視需求的做法是愚蠢的,但是那種一開始就認為自己完全能夠做出完美需求的想法也好不到哪兒去。
隨著產(chǎn)品開發(fā)的進展以及將產(chǎn)品暴露給外界,原來的產(chǎn)品需求會發(fā)生變化。因此,你要盡早并經(jīng)常向外界暴露產(chǎn)品,以此完善需求。
五、結(jié)論
需求代表了工程師要實現(xiàn)的一組設(shè)計目標,并且代表了管理人員評估成本和項目時間的一種方式。
還需要使用工具來適當?shù)毓芾硇枨?,特別是在項目規(guī)模大且許多人都在使用它的情況下。
就一款產(chǎn)品來說,確定需求細節(jié)看似簡單,實際上卻并非如此。
花時間做需求計劃可能要比實際實現(xiàn)需求更痛苦,不過有一點可以確認:在需求計劃上花費的每一秒,都會為以后實現(xiàn)需求省下大量時間。
這一點對于硬件產(chǎn)品來說尤為重要,因為電路或機械部件的調(diào)整往往需要耗費幾周甚至幾個月的時間。
在開發(fā)之前,先把所有細節(jié)整理好有助于避免以后反復修改,這可以為整個項目節(jié)省大量時間和支出。
#專欄作家#
衛(wèi)Sir,公眾號:簡一商業(yè),人人都是產(chǎn)品經(jīng)理專欄作家。關(guān)注智能硬件領(lǐng)域,擅長市場分析、產(chǎn)品設(shè)計開發(fā)、生產(chǎn)管理等,喜歡閱讀和爬山。
本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于 CC0 協(xié)議。
硬件產(chǎn)品經(jīng)理是互聯(lián)網(wǎng)公司非常重要的職位之一。
設(shè)定的需求很重要,這是產(chǎn)品開發(fā)的方向,同時及時的與技術(shù)人員交流溝通也很重要