我們應該如何給需求排序?
摘要: 需求管理是一門藝術。
開發產品的時候,我們每天都會面對各種各樣、沒完沒了的需求,有的來自外部使用者的反饋,有的來自內部團隊的idea,有的是產品的BUG,有的是新的功能...
看起來只要實現所有需求,產品就可以變得更好,然後吸引更多的使用者,接著賺更多的錢,之後招更多的人,再完成更多的需求...
問題是,需求會源源不斷地進來,我們永遠也不可能清空所有需求,996也做不完,這輩子都不可能。
我們能做的,是不斷將需求排序,實現優先順序最高的需求。那麼問題來了,我們應該如何給需求排序?
以使用者為核心確定優先順序
賈伯斯曾經說過:
People don't know what they want until you show it to them.
使用者真的不知道他們想要什麼嗎?很多時候並非如此。
我負責產品,每天都會和使用者交流,他們知道自己想要什麼功能,有時會做好簡單的互動設計、幫忙想想演算法、甚至給我開原始碼。
問題在於,使用者只是產品的使用者,他們對於產品的理解沒有我們那麼深刻,所以他們提出的需求有時會偏離問題的本質,需要我們進一步分析與挖掘。
我們不是賈伯斯,沒有能力創造需求;我們也不是張小龍,沒有1億人教我們做產品。因此,我們應該多與使用者交流,以使用者需求為核心確定優先順序:
- 使用者反饋或者吐槽的時候,耐心一些,聊得更深入一些,同時做好記錄
- 修復BUG,優化功能或者新增功能時,與感興趣的使用者主動聯絡,他們會給你更多的反饋
- 定期做使用者調研,聽聽沉默的大多數是怎麼說的
- 對於使用者所提的需求,根據反饋使用者多少、影響範圍、難易程度進行排序
當我們做產品的時候,創造的慾望是非常驚人的,總會有一些新的idea讓我們激動不已,恨不得明天就能上線。但是,我們應該剋制自己的創造欲,尊重使用者的意見。我們的產品是給客戶用的,不是給自己玩的。
流量紅利已經枯竭的時代,獲取一個新使用者比留住一個老使用者難太多了,因此提高留存率顯得非常重要。重視每一個使用者反饋,及時修復他們發現的BUG,優先實現他們想要的功能,是提高留存率最有效的方式,沒有之一。
BUG的優先順序高於新功能
墨菲定律是這樣的:
Anything that can go wrong will go wrong.
程式設計師應該都知道,程式碼怎麼可能沒有BUG呢?很多時候只是我們沒有發現,或者是知道了卻沒有及時修復。
然而,對於當前產品的BUG,我們往往容易忽視。可能是BUG隱藏的太深,我們和使用者都沒有發現;可能是使用者發現BUG,但是沒有反饋;也可能是我們選擇性失明,覺得問題不大。
事實上,使用者對產品質量的要求非常嚴格,再小的問題他們也會發現,也會吐槽。使用者反饋的話我們還能知道,否則我們可能很晚才發現BUG,如果沒有監控的話。
還有一種微妙的情況,當使用者反饋貌似不可能出現的BUG時,我們會本能的覺得產品應該沒有問題,問題應該出在使用者那裡,大概是他的瀏覽器或者網路,或者某種無法解釋的原因導致的。其實,這只是我們在逃避問題,程式碼的執行方式是確定的,沒有什麼不能解釋的地方,如果什麼地方不太對勁了,那基本上是BUG。這裡分享一個我們的經歷:
某個使用者反饋,他在邀請成員加入團隊的時候發現,偶爾會有那麼一次邀請失敗。 我們檢查了一下監控資料,發現確實有失敗過,影響的使用者不止一個,但是很少。 然後,我們檢查了一下前後端程式碼,發現沒有問題。 既然業務程式碼沒有問題,那應該沒有BUG,這事大概是什麼奇怪的原因導致的,我們什麼也不用做吧... 後來,又有幾個使用者反饋同一個問題,報錯也越來來越多,我們不可能再騙自己了! 再次檢查,業務程式碼確實沒有問題,但是報錯的程式碼位置的行號和列號都偏移了,這麼詭異? 不難猜測,生產環境執行的是舊程式碼!檢查一下果然是這樣。 接著,不難發現部署的Docker配置檔案有問題,導致某個節點部署的後端程式碼是舊的...
我們總是這樣,不停地向前走,不斷地追求新的成就,逃避當下的問題。聽著是不是很像我們的生活?
對於產品BUG,我們應該第一時間修復,或者設定一個Deadline,新的功能可以稍微延後。
如果我們不停地開發新功能,那當初開發這個有BUG的舊功能究竟是為了什麼?如果我們忽略當前使用者反饋的問題,那我們費這麼大勁拉新是為了什麼?
結論
需求管理是一門藝術,需要考慮和權衡的東西很多,暫時給大家一個簡單的優先順序排序,僅供參考:
- 使用者反饋的BUG
- 自己發現的BUG
- 使用者反饋的需求
- 自己想出的需求
嚴格按照這個順序操作是不可能的,這是給大家提供2個思考維度。實際工作中,每個需求的影響範圍、緊急程度、難易程度也需要考慮。
你有什麼更好的想法嗎?歡迎留言討論!本文作者為Fundebug的技術總監,歡迎新增微信交流:KiwenLau。
參考
關於Fundebug
Fundebug專注於JavaScript、微信小程式、微信小遊戲、支付寶小程式、React Native、Node.js和Java線上應用實時BUG監控。 自從2016年雙十一正式上線,Fundebug累計處理了10億+錯誤事件,付費客戶有Google、360、金山軟體、百姓網等眾多品牌企業。歡迎大家免費試用!
相關文章
- 我們應該如何選擇蘋果簽名?蘋果
- 我們究竟應不應該使用框架?框架
- 我們都應該學習PHPPHP
- 時到如今,我們應該如何評價《死亡擱淺》?
- 學習Tomcat,我們應該懂的Tomcat
- 我們應該測試 DAO 層嗎?
- 我們應該使用 TLS1.3 嗎TLS
- 我們應該如何編寫高質量的前端程式碼前端
- 我們們聊聊對賬系統該如何設計
- 對於Linux,我們應該學什麼?Linux
- 關於註解我們應該知道的
- 面對變革,我們應該怎麼做?
- 當容器應用越發廣泛,我們又該如何監測容器?
- 智雲通CRM:客戶說“太貴了”,我們該如何應對?
- 為什麼我們應該相信區塊鏈技術會給世界帶來變化區塊鏈
- 雲伺服器1核和2核區別大嗎?我們應該該如何選擇?伺服器
- 化身“監工”的AI,我們該如何相處?AI
- DDoS攻擊如此猖獗,我們該如何解決?
- WCF技術我們應該如何以正確的方式去學習掌握
- Airbnb棄用之後,我們還應該用ReactNative嗎?AIReact
- 生物識別技術:我們應該擔心嗎?
- 找工作時,我們應該思考的幾件事情。
- 淺談AsyncLocal,我們應該知道的那些事兒
- 家長應該如何給孩子們挑選一個合適的網路課堂?
- 我們應該如何理解李飛飛價值十億美金的“人文AI”計劃?AI
- 在直播帶貨平臺開發風口下,我們應該如何做?
- 我們應該如何看待馬斯克心心念唸的“超迴圈”技術馬斯克
- 【單頁應用】我們該如何處理框架彈出層層級關係?框架
- npm和yarn的區別,我們該如何選擇?NPMYarn
- 當我們在聊 Serverless 時你應該知道這些Server
- 2020年,為什麼我們應該使用abapGit代替SAPLinkGit
- 119的節日的安排,我們應該做些什麼
- Vue 3是一個錯誤,我們不應該再犯。Vue
- 我們應該怎樣學習嵌入式系統
- 我們該學習什麼?
- [分享]我們團隊管理的最佳實踐——企業積分制度應該如何建立?
- 把自己策劃好的需求提交給他們
- 進行直播搭建前,我們應該瞭解的常識