提需求時,千萬別漏了非功能性需求
個人總結(jié)了再提交需求時容易遺忘的5個非功能性需求,希望對大家有所幫助。
作為產(chǎn)品經(jīng)理,大多時候我們關(guān)注的是功能需求,比如來自B端業(yè)務(wù)方的需求、C端用戶的需求,展開需求調(diào)研與分析后,就開始投入功能設(shè)計。
過多關(guān)注功能性需求,有時會讓我們忽略了非功能性需求(是指軟件產(chǎn)品為滿足用戶業(yè)務(wù)需求而必須具有且除功能需求以外的特性),如:性能、安全等。
非功能性需求,影響著產(chǎn)品是否能夠持續(xù)穩(wěn)定并且高效的提供服務(wù)。
筆者在非功能性需求踩過多次坑,例如:曾設(shè)計一個功能,在測試服體驗時,無論產(chǎn)品同事或者受邀參與體驗的用戶,都表示很好用。
但是一到正式環(huán)境,卻飽受詬病——原來是性能那一塊沒做到位,導(dǎo)致一個本來用于提升效率的功能,卻因為性能問題,影響效率……
后來也踩過安全性、可靠性等一些坑;雖然這一塊與開發(fā)人員的關(guān)系較大,但是作為產(chǎn)品經(jīng)理,勢必要考慮產(chǎn)品的方方面面。因此,下定決心做好總結(jié),將非功能性需求進行整理,并做好反思,避免此類錯誤再次發(fā)生。
下面,為大家介紹一些常見的非功能性需求,可以用于日常產(chǎn)品設(shè)計過程中的自我檢查。
一、性能需求
用戶對于性能的要求是無止境的,但是過度重視性能,導(dǎo)致成本過高,顯然是不合理的。作為產(chǎn)品經(jīng)理,應(yīng)該對業(yè)務(wù)所需支持的性能有所了解,與技術(shù)人員共同協(xié)商,制定符合實際使用的產(chǎn)品性能指標(biāo)。
- 響應(yīng)時間:如頁面間跳轉(zhuǎn)時間≤3秒,精確搜索反饋結(jié)果≤1秒。有時,在當(dāng)下情況,性能已經(jīng)到達瓶頸。我們作為產(chǎn)品設(shè)計者,也可以從產(chǎn)品體驗這一塊做出優(yōu)化,比如某個頁面數(shù)據(jù)量大,導(dǎo)致加載時間長,我們給用戶提供加載進度條,預(yù)計加載時間,減少用戶焦慮。還有日常使用的分頁加載,像刷微博一樣,每次加載部分?jǐn)?shù)據(jù),當(dāng)用戶進行操作時,再逐漸加載。
- 吞吐量:單位時間內(nèi)成功地傳送數(shù)據(jù)的數(shù)量。這一塊與系統(tǒng)并發(fā)相關(guān),根據(jù)業(yè)務(wù)量估計,我們的系統(tǒng)需要支持多少并發(fā)。
- 資源利用率:指企業(yè)投入服務(wù)器這類資源,所發(fā)揮的資源利用百分比。我們都希望投入的資源最大化的利用,而不被閑置。像我們新增項目,需要進行業(yè)務(wù)評估,然后與技術(shù)人員溝通,確定支撐項目所需要的服務(wù)器配置。
關(guān)于性能需求,作為產(chǎn)品經(jīng)理,需要提前與開發(fā)人員溝通,反饋所需支持的業(yè)務(wù)量與需要達到的性能指標(biāo),遇到瓶頸,共同商討解決。
這樣能夠減少上線后出現(xiàn)性能問題,也避免出現(xiàn)問題后,互相推諉責(zé)任。
二、安全性
隨著互聯(lián)網(wǎng)的發(fā)展,安全性越來越重要。
現(xiàn)在,大多用戶的數(shù)據(jù)都存在于各個企業(yè)中,所以對于數(shù)據(jù)的安全性,重視程度也越來越高。
開發(fā)過程中,有時開發(fā)人員會有忽略,作為產(chǎn)品經(jīng)理,具備一定的安全意識,能夠更好與開發(fā)人員共同做好安全工作。
- 保密性:數(shù)據(jù)加密保護,保證數(shù)據(jù)在采集、傳輸和處理過程中不被偷窺、竊取、篡改。業(yè)務(wù)數(shù)據(jù)需要在存儲時進行加密,確保不可破解。
- 防泄漏:通過對文檔進行讀寫控制、打印控制、剪切板控制、拖拽、拷屏/截屏控制、和內(nèi)存竊取控制等技術(shù),防止泄漏機密數(shù)據(jù)。
- 權(quán)限控制:根據(jù)用戶權(quán)限控制訪問數(shù)據(jù),進行操作記錄等等。
- 防攻擊:IP限制、高頻訪問限制等等,如:用戶高頻點擊,有時不是惡意,但也有可能造成系統(tǒng)異常。我們在進行產(chǎn)品設(shè)計時,是否需要控制點擊頻率,或者點擊后是否將按鈕修改為不可點擊狀態(tài)。這些也是需要我們考慮的地方。
三、可維護性與可擴展性
互聯(lián)網(wǎng)高速發(fā)展,也意味著系統(tǒng)需要具備對業(yè)務(wù)需求變化或者技術(shù)更新的支持能力;當(dāng)其變化時,我們能夠盡量以較小的代價與更短的時間適應(yīng)變化。
- 模塊性:當(dāng)某類業(yè)務(wù)流程變動多,此時將系統(tǒng)功能模塊化,支持靈活配置,有利于減少重復(fù)開發(fā)量。
- 可復(fù)用性:站在產(chǎn)品的角度,個人覺得類似組件。如時間組件,系統(tǒng)多處會使用到時間組件,應(yīng)該將其統(tǒng)一設(shè)計,需要用到的地方,可以進行微調(diào),然后進行調(diào)用。即可以滿足各類場景,又能減少用戶的使用成本。
- 易分析性:易診斷缺陷或者失效原因,如日志記錄系統(tǒng),可追蹤系統(tǒng)的歷史使用情況。
除此之外,還有易修改性、易測試性等等,這些作為產(chǎn)品經(jīng)理,參與很少,不做贅述,大家有興趣可自行了解。
四、可靠性
指產(chǎn)品在一定時間內(nèi),一定條件下故障地執(zhí)行指定功能的能力。可靠性越高,用戶對于產(chǎn)品的信任度越高,就像一個可靠的朋友一般。
- 易恢復(fù)性:在發(fā)生故障后,重建其性能水平并恢復(fù)直接受影響數(shù)據(jù)的能力。如發(fā)布新版本,需要做好回滾方案,以備異常緊急處理。文件誤刪除可進行恢復(fù),
- 容錯性:在系統(tǒng)出錯時,不影響用戶的行為操作與數(shù)據(jù),比如:掉網(wǎng),數(shù)據(jù)的錄入做好本地保存,在網(wǎng)絡(luò)恢復(fù)后,自動上傳保存。
- 成熟性:系統(tǒng)故障率需要保持在一定的水平下。
五、易用性
指的是產(chǎn)品對用戶來說意味著易于學(xué)習(xí)和使用,我們在進行產(chǎn)品設(shè)計時,這一塊的關(guān)注還是蠻大,因此不做贅述。僅將其中的各種特性分享給大家:易學(xué)習(xí)性、易操作性、用戶錯誤防御機制、用戶界面美觀等。
六、總結(jié)
以上是根據(jù)個人經(jīng)驗總結(jié)出容易忽略的非功能性需求:性能需求、安全性、可維護與可擴展性、可靠性、易用性。大家可以根據(jù)自身需要建立自查表,在平時工作中使用,既考慮功能性需求,也不遺漏非功能性需求,將產(chǎn)品做得更好。
希望大家看完本文有所收獲。
作者:彬,微信公眾號“有個思享”,專注讀書與產(chǎn)品心得分享,歡迎交流。
本文由 @彬 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自 Unsplash,基于 CC0 協(xié)議
總結(jié)的很全面,做B端的,做完需求后,很容易就踩到這些坑里,所以在需求分析時全面考慮這些問題是很重要的。
這不單單是PM需要提的,項目也應(yīng)該主動提。
五大非功能性需求:
1、性能需求;
2、安全性;
3、可維護與可擴展性;
4、可靠性;
5、易用性
寫得很好,但是做起來恐怕有難度,非功能需求經(jīng)常被忽略。
說實話,我除了易用性和可擴展性外,其他都沒有考慮到,學(xué)習(xí)了。
吃過性能需求的虧,尤其是做數(shù)據(jù)報表等需求的時候
點贊,確實是經(jīng)常會忽略的細(xì)節(jié)~
寫的很棒,這些都是我們很容易疏忽但是又十分重要的細(xì)節(jié)。感謝分享~
確實很難在一開始考慮到,之后又要安排版本來亡羊補牢
是啊,之前就有遇到。
性能需求、安全性、可維護性與可拓展性、可靠性、易用性。
這不是全部哦,只是個人覺得常遇見的?;蛟S你還需要考慮其他呢,加油!
多謝!
不客氣,若是對你有幫助,我也開心。