天天看點

【架構優化過程思考】風險的分類及規避

一般來說,一個用戶端産品會在不同的平台均有釋出及為使用者提供服務,在技術方案設計的過程中,多個平台的系統提供的API架構不同,對于特定的能力實作的流程和機制也有不同,一些開源的能力實作風格也有所不同,技術方案的設定就會存在多端的方案不對齊的情況。

基于同一個功能點,确定相關的技術點都是需要實作的,如果多端的技術方案沒有對齊,會存在以下5個直接或間接的影響。

  1. 技術實作不統一:因平台特性不同,能力也有所不同,如前期隻是以單一平台進行技術方案的投入,技術方案的設計過程,隻考慮了單端的能力及現狀,那待其它的平台準備實作時,目前的方案就會存在不适用的情況,這時要麼對于目前的方案進行重構,要麼基于平台的特性再實作一個方案,這時方案是不統一的。
  2. 協同成本高:同一個功能,技術方案不同,實作的方式也會不同,技術實作的研發的人員也有可能不是同個團隊,相關文檔需要寫多份,開發過程對接的相關角色時需要得各端各講一遍,依賴關系不同也會帶來研發節奏的不同。
  3. 傳遞節奏不統一:從功能的需求開始,到具體的開發測試,因為技術方案的不同,需求評估成本不同,協同也不一樣,實作也有不同,測試方案也有差異,最終傳遞的節奏不同,投入的資源的不同。當然方案相同也會存在傳遞節奏不統一的情況,從相同的資源投入的角度來看,多端技術方案不同,出現傳遞節奏不統一的機率會更高一些。
  4. 服務端的對接成本高:一般來講,一個APP産品的同一個業務會對接一個服務,而當用戶端的技術方案不統一,這時就相當于一個服務,對于不同的端的版本要進行功能差異化的适配,主要展現為三個層面,1)同一個功能中的通訊協定不同,解析及邏輯處理流程不同;2)同一個功能支援的版本不同,服務端需要對不同的端的不同版本進行适配;3)同一個功能不同平台需定制化的研發及聯調,因為技術方案不同,當出現對服務端的實作産生了的影響,這時服務端就相當于實作了兩套邏輯,需要單獨研發及聯調。