華為|如何寫出一篇好的技術方案?

華為|如何寫出一篇好的技術方案?

文章圖片

華為|如何寫出一篇好的技術方案?



近期在寫某個項目的技術方案時 , 來來回回修改了許多版 , 很是苦惱 。 于是 , 將自己之前寫的和別人寫的技術方案都翻出來看了幾遍 , 產生了一些思考 , 分享給大家 。
我們為什么需要寫技術方案?總結下來無非是幾點 , 從不同人的視角來看:
產品:驗證技術方案是否能夠 match 上產品方案 測試:驗證技術方案對測試方案是否有足夠準確的輸入 同事leader:參與技術方案評審 , 驗證技術方案的合理性 新人(不單單指新同學也指新接觸這一塊的同學):拿到技術方案可以很快對某一塊的事情熟悉起來 什么樣的技術方案是一個好的技術方案 我們都知道技術方案是指導具體開發工作的 , 可以分別從開發的事前、事中、事后來討論這個問題 。
事前
明確的目標:整個技術方案要達成什么目的 低溝通成本:產品測試能從技術方案上獲取足夠的輸入 , 不需要反復找你確認 技術選型思考:為什么要這么做?和業內方案相比有什么好處和壞處 , 如何權衡的 事中
少調整:盡可能少的技術方案需要調整 ,否則無法完成開發任務 事后
少補?。罕M可能少的 bug 或者遺漏 可擴展可復用:相對簡單的改動就能支持新增需求 , 類似場景可復用不需要重復開發 一篇好的技術方案可以貫穿整個研發的生命周期 , 并且能起到很好的指導意義 , 就如同寫小說之前作者必須出一個大綱的邏輯是一致的 。
如何寫好一篇好的技術方案 那么 , 如何寫出一篇好的技術方案呢?下面列舉出筆者認為應該做到的一些點 。
清晰的目標
一份技術文檔需要有一個清晰的目標(業務需求建議自己總結而不是 Copy from PRD , 技術自發的那肯定得自己總結) , 那目標怎么來的呢?是從需求里轉化過來的 。 那么 , 如何將對應的需求轉化為一個清晰的目標?我認為最重要的是要盡量定義一個可衡量的標準 。 需求的種類一般來說就兩種 , 分別是:
1.產品類需求——業務方 or 產品方發起提給技術 , 包括但不限于以下幾種:
頁面交互:能提升多少的運營操作效率 , 多少 PV、UV 這種可量化的數字? 業務 SOP 調整:帶來的業務價值是什么?是能降多少本還是提升多少時效? 數據訂正:訂正能解決什么問題?防止多少錢未結算?又或者是防止多少客訴? 2.技術類需求——技術自發提出 , 包括但不限于以下幾種:
性能優化:優化多少?20%、30% 還是 50%? 數據隔離:隔離的范圍是什么 , 涉及多少張表 , 多少數據?可以減少當前的什么問題?減少多少? 各種小工具:沒有小工具之前是什么樣?有之后是什么樣?可以帶來什么好處? 研發效能提升:提升多少?有沒有可以量化的指標?而不是為了做而做 。在眾多的需求當中還有一些是我們要去辨別的偽需求——不是用戶真正想要的需求 , 如用戶想要將一個飛機改造成火箭 , 但是產品可能提過來的僅僅是把飛機的兩個翅膀砍掉 , 那么砍掉翅膀就能變成火箭了嗎?明顯不能 , 所以這種需求一定要注意鑒別 。
大綱圖
有句話叫“不謀全局者不足謀一域” , 在技術方案中我想也是如此 。 在一個技術方案中 , 一個大綱圖是不可或缺的, 有的人叫它技術架構圖 , 有的人叫它數據流轉圖 , 這都不重要 , 重要的是我們能從這張圖中看到整體的脈絡 , 那么這張圖需要有哪幾個要點呢?

相關經驗推薦