上周我們團隊的一款產品可以說是在歷經困難之后發(fā)布了V1.0版本。版本上線之后,,我們進行了一次review,希望發(fā)現(xiàn)問題,,總結教訓,,避免下次再踩坑。
出現(xiàn)的問題
通過梳理,,我們發(fā)現(xiàn)問題集中出現(xiàn)體現(xiàn)在:
在上線之前還有需求變更,。
開發(fā)周期估計不足,出現(xiàn)前松后緊的情況,。
問題分析
為什么上線之前需求還在變更?
1,、異常流程考慮不足
這次負責項目的是一個年輕的產品經理,因為經驗欠缺確實存在原型和文檔的撰寫不夠細致和完整,,顆粒度不夠細,。最重要的就是對異常流程考慮不充分,缺乏對異常流程場景的詳細描述,。開發(fā)同學不得不在開發(fā)進程中經常停下來詢問產品經理,,產品經理這時才去考慮異常流程,此前的需求便可能因此不得不進行調整和更改,。雖然調整的幅度不大,,但是對開發(fā)過程的流暢性和效率卻造成了一定的影響。
2,、需求收集沒有找對人
這款產品是一款TO B的產品,,為集團內部員工提供的效率提升工具。我們在需求收集中重點收集的對象是集團中上層管理者,,一線實際使用者的真正需求被忽視了,。雖然大方向沒有偏差,但在一些使用細節(jié)上卻和一線員工的實際場景不一致,。這些情況在開發(fā)過程中被逐漸暴露出來,,也導致了需求變更的頻繁。
為什么開發(fā)周期估計不足,,前松后緊?
1,、需求評估是單一和斷裂的
在需求評審中,部分開發(fā)人員只關心自己這一塊業(yè)務,,沒有全面了解整體需求情況,。不了解整個項目的完整邏輯和流程。這樣的結果是我們對開發(fā)難度和工作量的評估出現(xiàn)了偏差,,前期比較樂觀,,隨著開發(fā)的深入才發(fā)現(xiàn)有的節(jié)點比較復雜,不得不加班加點開發(fā)
2、對外包把控的失敗
前期我們是準備讓外包主要負責項目的開發(fā),,我們自有人員只投入1.5人力,。實際過程中,外包方更多的是考慮盡快完成項目,,而沒有去考慮項目的整個流程和擴展性,,采取的一些開發(fā)方法雖然可以完成整個項目的開發(fā),但是會對我們后續(xù)開發(fā)和維護帶來更大的問題,。同時溝通的效率無法保證,因此我們最終只好自己投入開發(fā),,前期外包寫的內容基本被重構,,前期的開發(fā)周期相當于浪費了。
如何改進
1,、產品經理文檔要更細致,,不能只考慮正常流程,也要考慮異常流程,。每個功能不僅要考慮順利的情況,,還要考慮各種異常分支,并進行相應的提示說明或跳轉等操作,。
2,、需求收集必須針對實際使用者。誰是真正的使用者,,我們必須了解他們的工作,、生活和學習的相關場景。不僅僅要了解管理層對于宏觀業(yè)務的需求,,也需要實地了解一線使用者的個體(或群體)要求,。
3、需求評審所有開發(fā)人員都要參加,。每個人不僅要了解自己所負責的開發(fā)模塊,,也要對整個項目的邏輯和模塊都了解清楚。這樣開發(fā)周期的評估才是全面和立體的,,提高整體開發(fā)效率,。
4、外包的正確打開方式,,自主開發(fā)人員確定開發(fā)方法和規(guī)則,,外包人員按照規(guī)定開發(fā)代碼并提交我們驗收。
反思還在繼續(xù):
這是我們團隊第一次和傳統(tǒng)實體行業(yè)合作,,過程確實存在諸多困難甚至是痛苦,。我們以往堅持的MVP原則似乎在傳統(tǒng)行業(yè)面前碰了壁。我們計劃先切入A功能,以后再逐步迭代到完善版本,??墒蔷€下工作人員這一塊卻更傾向直接用一個完整的全功能版本,對于不完善的版本他們興趣很低,。一個MVP的版本雖然可能部分解決了某些問題,,但是短期內他們卻可能因此在兩個系統(tǒng)內工作,對于他們的效率可能短期內反而是降低的,。