提需求時,千萬別漏了非功能性需求

13 評論 4萬 瀏覽 311 收藏 9 分鐘

個人總結了再提交需求時容易遺忘的5個非功能性需求,希望對大家有所幫助。

作為產品經理,大多時候我們關注的是功能需求,比如來自B端業務方的需求、C端用戶的需求,展開需求調研與分析后,就開始投入功能設計。

過多關注功能性需求,有時會讓我們忽略了非功能性需求(是指軟件產品為滿足用戶業務需求而必須具有且除功能需求以外的特性),如:性能、安全等。

非功能性需求,影響著產品是否能夠持續穩定并且高效的提供服務。

筆者在非功能性需求踩過多次坑,例如:曾設計一個功能,在測試服體驗時,無論產品同事或者受邀參與體驗的用戶,都表示很好用。

但是一到正式環境,卻飽受詬病——原來是性能那一塊沒做到位,導致一個本來用于提升效率的功能,卻因為性能問題,影響效率……

后來也踩過安全性、可靠性等一些坑;雖然這一塊與開發人員的關系較大,但是作為產品經理,勢必要考慮產品的方方面面。因此,下定決心做好總結,將非功能性需求進行整理,并做好反思,避免此類錯誤再次發生。

下面,為大家介紹一些常見的非功能性需求,可以用于日常產品設計過程中的自我檢查。

一、性能需求

用戶對于性能的要求是無止境的,但是過度重視性能,導致成本過高,顯然是不合理的。作為產品經理,應該對業務所需支持的性能有所了解,與技術人員共同協商,制定符合實際使用的產品性能指標。

  • 響應時間:如頁面間跳轉時間≤3秒,精確搜索反饋結果≤1秒。有時,在當下情況,性能已經到達瓶頸。我們作為產品設計者,也可以從產品體驗這一塊做出優化,比如某個頁面數據量大,導致加載時間長,我們給用戶提供加載進度條,預計加載時間,減少用戶焦慮。還有日常使用的分頁加載,像刷微博一樣,每次加載部分數據,當用戶進行操作時,再逐漸加載。
  • 吞吐量:單位時間內成功地傳送數據的數量。這一塊與系統并發相關,根據業務量估計,我們的系統需要支持多少并發。
  • 資源利用率:指企業投入服務器這類資源,所發揮的資源利用百分比。我們都希望投入的資源最大化的利用,而不被閑置。像我們新增項目,需要進行業務評估,然后與技術人員溝通,確定支撐項目所需要的服務器配置。

關于性能需求,作為產品經理,需要提前與開發人員溝通,反饋所需支持的業務量與需要達到的性能指標,遇到瓶頸,共同商討解決。

這樣能夠減少上線后出現性能問題,也避免出現問題后,互相推諉責任。

二、安全性

隨著互聯網的發展,安全性越來越重要。

現在,大多用戶的數據都存在于各個企業中,所以對于數據的安全性,重視程度也越來越高。

開發過程中,有時開發人員會有忽略,作為產品經理,具備一定的安全意識,能夠更好與開發人員共同做好安全工作。

  • 保密性:數據加密保護,保證數據在采集、傳輸和處理過程中不被偷窺、竊取、篡改。業務數據需要在存儲時進行加密,確保不可破解。
  • 防泄漏:通過對文檔進行讀寫控制、打印控制、剪切板控制、拖拽、拷屏/截屏控制、和內存竊取控制等技術,防止泄漏機密數據。
  • 權限控制:根據用戶權限控制訪問數據,進行操作記錄等等。
  • 防攻擊:IP限制、高頻訪問限制等等,如:用戶高頻點擊,有時不是惡意,但也有可能造成系統異常。我們在進行產品設計時,是否需要控制點擊頻率,或者點擊后是否將按鈕修改為不可點擊狀態。這些也是需要我們考慮的地方。

三、可維護性與可擴展性

互聯網高速發展,也意味著系統需要具備對業務需求變化或者技術更新的支持能力;當其變化時,我們能夠盡量以較小的代價與更短的時間適應變化。

  • 模塊性:當某類業務流程變動多,此時將系統功能模塊化,支持靈活配置,有利于減少重復開發量。
  • 可復用性:站在產品的角度,個人覺得類似組件。如時間組件,系統多處會使用到時間組件,應該將其統一設計,需要用到的地方,可以進行微調,然后進行調用。即可以滿足各類場景,又能減少用戶的使用成本。
  • 易分析性:易診斷缺陷或者失效原因,如日志記錄系統,可追蹤系統的歷史使用情況。

除此之外,還有易修改性、易測試性等等,這些作為產品經理,參與很少,不做贅述,大家有興趣可自行了解。

四、可靠性

指產品在一定時間內,一定條件下故障地執行指定功能的能力。可靠性越高,用戶對于產品的信任度越高,就像一個可靠的朋友一般。

  • 易恢復性:在發生故障后,重建其性能水平并恢復直接受影響數據的能力。如發布新版本,需要做好回滾方案,以備異常緊急處理。文件誤刪除可進行恢復,
  • 容錯性:在系統出錯時,不影響用戶的行為操作與數據,比如:掉網,數據的錄入做好本地保存,在網絡恢復后,自動上傳保存。
  • 成熟性:系統故障率需要保持在一定的水平下。

五、易用性

指的是產品對用戶來說意味著易于學習和使用,我們在進行產品設計時,這一塊的關注還是蠻大,因此不做贅述。僅將其中的各種特性分享給大家:易學習性、易操作性、用戶錯誤防御機制、用戶界面美觀等。

六、總結

以上是根據個人經驗總結出容易忽略的非功能性需求:性能需求、安全性、可維護與可擴展性、可靠性、易用性。大家可以根據自身需要建立自查表,在平時工作中使用,既考慮功能性需求,也不遺漏非功能性需求,將產品做得更好。

希望大家看完本文有所收獲。

 

作者:彬,微信公眾號“有個思享”,專注讀書與產品心得分享,歡迎交流。

本文由 @彬 原創發布于人人都是產品經理,未經許可,禁止轉載

題圖來自 Unsplash,基于 CC0 協議

給作者打賞,鼓勵TA抓緊創作!
2人打賞
更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 這不單單是PM需要提的,項目也應該主動提。

    回復
  2. 五大非功能性需求:
    1、性能需求;
    2、安全性;
    3、可維護與可擴展性;
    4、可靠性;
    5、易用性

    回復
  3. 寫得很好,但是做起來恐怕有難度,非功能需求經常被忽略。

    回復
  4. 說實話,我除了易用性和可擴展性外,其他都沒有考慮到,學習了。

    回復
  5. 吃過性能需求的虧,尤其是做數據報表等需求的時候

    回復
  6. 點贊,確實是經常會忽略的細節~

    回復
  7. 寫的很棒,這些都是我們很容易疏忽但是又十分重要的細節。感謝分享~

    回復
  8. 確實很難在一開始考慮到,之后又要安排版本來亡羊補牢

    回復
    1. 是啊,之前就有遇到。

      回復
  9. 性能需求、安全性、可維護性與可拓展性、可靠性、易用性。

    回復
    1. 這不是全部哦,只是個人覺得常遇見的。或許你還需要考慮其他呢,加油!

      回復
  10. 多謝!

    回復
    1. 不客氣,若是對你有幫助,我也開心。

      回復