技術合作中的需求管理
最近一兩年轉向做AI方面的專案,AI專案相比於傳統專案,在技術實現上週期更長、難度更大、業務更復雜,在專案開發過程中,難免會有和其它公司的技術合作,特別是toC的公司,在合作共贏的時代,只有開放,充分利用好社會資源才能做出有競爭力的產品。
在技術合作的過程中,對需求的管理尤為重要,因為合作基本上都是基於商業上的,一旦處理不好都會涉及到錢和進度上的變動,進而影響到他人對你的評價。所以,技術合作中的需求管理,無論是對個人、對公司,都尤為重要。
其中,需求管理包含兩部分:
1、 對內的產品需求管理:技術需求是基於技術人員對產品需求的理解,提取出的為了滿足產品需求而需要的技術方案,產品需求是技術需求的源頭,並且產品提的需求很多時候並不是一蹴而就的,會在開發過程中不斷有新的需求產生
2、 對外的技術需求管理:技術需求需要有明確的指標、驗收方案和達成節點,以便滿足產品和專案需求,避免出現交付跟需要不一致的情況
對內產品需求管理:
1、 對需求的解讀:
拿到產品需求後,需要基於產品需求梳理技術實現方案,畫出技術架構圖和核心流程圖,然後梳理核心流程中的每一個環節的技術點的實現方案,如果涉及到公司當前搞不定或者能搞定但無法滿足產品需求的,就需要尋求外部技術合作實現。
技術架構主要是為了技術分層、分模組,梳理技術架構圖的目的是弄清楚產品需求涉及到哪些技術領域,明確實現產品需求對應的人才資源。
核心流程圖主要是為了梳理實現流程,梳理流程的目的是梳理實現邏輯,並明確每個環節的重要程度,進而確定在實現產品需求過程中的著重關注點。
梳理核心流程中每個環節的技術實現方案是為了搞清楚基於當前團隊的資源和實力,要滿足產品需求,還需要哪些外部資源才能搞定。
2、 對產品的理解:
如果拿到產品需求就開幹,只做一個執行者,不考慮產品需求背後的動機以及產品接下來可能的發展路徑,在實際開發和後續迭代過程中會很被動,產品需求上的些許變動都有可能導致整個技術方案推倒重來。所以拿到產品需求後,通過自己向自己提問的方式加深對產品的理解。比如“產品這麼做的目的是什麼?”、“一定要這麼做嗎?”、“對於當前團隊能力或當前技術解決不好的需求,有沒有更好的產品方案?”,對產品需求有進一步理解後再和產品當面溝通確認理解產品深層次的需求,對於不合理或者技術實現有難度的地方,思考有無其它方案,如果有及時和產品溝通探討。要知道,技術只是實現產品需求的一個工具,做出來的產品有競爭力才能獲得商業上的回報,如果在技術上打折,無法很好地滿足產品需求,技術就體現不出價值了。
自問自答、和產品當面溝通的目的是理解產品的深層需求,產品人員多是沒有技術背景的,不知道實現產品需求背後的技術有多大難度,技術人員是天生的優質產品經理,只要稍微多花點心思去理解產品需求,結合自身的技術背景,能夠極大地幫助產品成功。
給產品提建議一定是為了更好地滿足產品市場競爭力而提出的,和他人溝通不能只提問題,提出問題的同時還要提出解決方案,這樣更容易達成一致。如果你的解決方案要麼提高了效率、要麼降低了實現難度更容易讓產品成功,產品人員沒理由不接受你的建議。
3、產品需求管理心得:
把自己當成是產品人員而不是純技術人員,要想辦法和產品一起最大程度地實現產品需求,才能保障產品的成功和市場競爭力。
和產品一起梳理產品需求,明確規格,如果產品人員沒想到的一定要及時提出,通過規格的方式明確產品需求要實現到什麼程度,避免產品和技術雙方理解不一致,導致實現的功能無法滿足產品需求。
在開發過程中,如果產品人員認為有更好的方案而提出新增或變動需求時,要和產品一起探討理解變動的原因和目的,同時技術方要明確要求產品人員列出實現優先順序和版本計劃,採用迭代的方式逐步優化,避免單個版本遲遲不能交付的情況,同時也避免了在技術合作中對技術合作方的技術需求頻繁變更的情況。
產品需求的管理需要技術人員轉變觀念,以做出成功產品而不是技術實現為目的地和產品溝通探討。多做幾個專案後應該考慮將產品需求管理納入到產品需求評審流程,並將產品需求模板化,減少對人的依賴。
對外技術需求管理:
1、 說明技術需求:
描述清楚基於什麼樣的需求場景需要實現什麼樣的效果?為了實現這個效果,雙方如何分工合作(比如由對方開發演算法,由我方私有化部署)。定義清楚需要做什麼以及如何做才算是把需求描述清楚了。
需求場景的描述一定是基於對產品需求的提煉,需要講清楚實現需求的硬體、軟體環境,最好是能夠通過圖片展示需求場景。文不如表,表不如圖,形象地表達可以降低合作方對需求理解的難度。
工作分工需要講清楚我方做什麼,對方做什麼,以及結合技術需求的輸入、輸出梳理,雙方的合作分工是否合理,能否達到技術需求的目標。
2、 說明技術指標:
通過技術需求明確了做什麼和如何做,接下來需要進一步明確做到什麼程度?通過技術指標定義清楚需要做到什麼程度是最為合適的。
技術指標的梳理包含指標項和指標,指標項一定要和前面跟產品一起梳理的規格對應,每一個指標項表示需要驗收的內容,指標是對應指標項需要達到的可量化指標。
3、 說明驗收方案:
驗收方案的主要是為了驗收技術方的技術實現是否達標,需要定義清楚指標的計算方式和驗收方式。
技術合作方一般為toB的技術方案公司,在對技術指標的理解上雙方可能不一樣,並且還存在我們可能根本沒聽說過的專業驗收指標(比如AI演算法中的召回率,完全不同於準確率),所以講清楚指標的計算方式尤為重要,比如計算OCR的識別準確率到底是段準確率還是字準確率,如果一段文字中有個別字符識別為錯,是判斷這整段文字識別為錯還是計算這段文字中識別正確的字準確率?指標的計算方式往往是雙方合作後期最容易出現分歧的點。
除了指標計算方式外,不同的測試方法、不同的測試素材對準確率的影響往往很大,比如ASR識別準確率,如果將方言、童聲、英文等素材作為普通話ASR識別的測試素材,綜合準確率怎麼優化都很難達到普通話ASR的準確率水準,驗收方案一定要基於產品定位和使用者真實使用場景來定義,並不是素材越豐富越好。
4、 說明專案節點:
最後,需要講明專案的時間節點,明確在什麼時間節點達到什麼樣的指標,這樣技術合作方才知道要實現技術需求,需要配置什麼樣的資源?
在專案節點的設定方面,一定要結合專案計劃分階段設立目標,每個節點稍微提前於專案對應的節點,一是起到專案管控的作用,二是預留一些時間避免技術合作方Delay導致專案延期。最好是和對方達成一致,通過週報讓專案透明,有資源需求和問題及時暴露,採用迭代的思想管控專案進度。
基於實際專案經驗,把技術合作的需求管理梳理成固定的模板,方便對多個技術方的管理和合同的管理,同時可以防呆降低對個人能力的依賴。
要做成一款基於AI的產品,除了實打實的技術硬實力外,需求理解、溝通表達、專案管理等軟實力也是必不可少的,只有抱著成事而為完事的心態,才能儘可能的把產品做好,產品在市場上才會有競爭力。AI的發展實際上遠落後於人們的想象力,這裡面的問題只有真正做過專案的人才明白。
AI是解決使用者體驗長尾的一門技術,除了和產品保持密切的溝通外,一定要和互動溝通更為頻繁,因為互動上一個提升產品體驗的想法都有可能涉及到一項技術,只有真正理解產品需求、理解使用者的技術人員才能做好AI專案。