業務開發扯淡

書接上一回,業務架構扯淡,今天我們聊聊業務開發。
做技術的人,心中總會有技術偏執,多少會有寫中間件的傾向,做基礎架構,做開源項目,以技術改變世界,或者起碼改變身邊,產生自己的影響力。能做到的同志可能不少,但是回顧現實,很多時候,我們更多的時候是在做業務開發。這很尷尬不是嗎?面試的時候,聊天的時候,提到業務開發,聊天對象心裏面產生的第一個感覺是否就是很無語的增刪改查?很不幸,這事我也沒辦法,正如很多廣東人至今認爲出了廣東就是北方,北方冬天下雪,小學語文課都這麼教,沒毛病。
我們能做的,只能是做到更專業的自己,更高的交付,那麼下面我嘗試從幾個方面扯淡。

大環境(初始化上下文)

很悲劇,2020年並不友好,開局一場疫情,外貿奔潰,互聯網,實業一片涼涼,身爲開發的我們,承受的是更少的資源,更快的發佈節奏,整個行業都在玩優化,沒辦法,我們只能跟着優化自己。

項目

如何正確的做事情,這事應該不用扯,老生常談,項目無非就是範圍,資源,質量,進度這幾個要素之間博弈後的結果。身爲開發,我們基本影響不到資源(2020只會更少),我們能影響的因素:範圍,質量,進度。

範圍(業務)

假設在進度,質量,資源不變的情況下,決定我們最終交付的成果的,相當大的因素是項目開始時,圈定的範圍,每個排期確定的發佈內容。這很好理解,但是我想表達的是,開發不應該只是埋頭接受。當環境壓力大起來的時候,我們應該主動參與決策,而非僅僅被動擼代碼,要參與,承擔範圍(即發佈內容)重要程度,優先級的review。

有很多原因逼迫我們幹這事。比方說,產品同學會有自己的強迫症,可能會覺得多展示一個信息,會讓用戶更舒服;A產品提了自己需求,B產品也來了;老闆緊急需求;諸如此類,這些需求帶來的效益是多少?紛亂複雜的多個需求下來怎麼玩?這裏有幾個事得做:

  1. 全局思維:
    請放到公司層面思考業務。把我們負責(或者即將開發)的系統套進公司的業務鏈條中去思考。我們負責的系統,佔據什麼樣的位置,和其他系統怎麼交互,如何影響和干預最終的結果(讓公司掙錢)。本次開發的功能,是核心業務功能,還是非核心?是否可以通過替代方案或者臨時運維。

  2. 理解業務
    對業務的理解也應當抽象,如同設計,比如說,這個業務的信息流是怎樣的,業務流程是怎樣的(資金流,物流,交互等),業務本質上就是商業邏輯的系統化方案。我們可以參考jvm怎麼優化代碼的,先構造出一個圖,區分控制流和數據流,算法一匹配,完事,業務梳理也是這個思路,殊途同歸。有了這樣的抽象思維和對細節實現的把控(產品同學通常不熟悉細節,並且對數據流的把控不如開發),下次圈範圍pk的時候,飛龍騎臉是必須的。

  3. 28原則
    按照最經典的,重要程度/緊急程度區分四個界限,畫個圖,把堆積的需求列一列,再配合對業務的理解(請注意,公司視角),相信排期出來的,永遠2.8原則裏面2的部分會全部在排期中,8的部分會包含一部分,剩下一部分通過運維或者溝通,小步快跑,積極調整。(這裏再附送一個個人心得,80%不重要的功能,只要拖上一兩個版本,很快業務可能忘掉,不用謝)

  4. 和產品溝通
    最後,我們開始和產品溝通,結果只有兩個:

  • 必須做,那通過這次溝通,我們就能從中更理解業務,刷新自己歷史的錯誤認知,下次溝通準備就更充分;
  • 可以下個版本,那我們就能騰出精力放在更重要的事情上,或者更有時間準備單元測試,預留設計等。

質量

質量大致上分爲,可維護性,擴展性。這裏的細節和見解太多,只闡述個人認爲的在高強度進度壓力下的最低標準:代碼要做到結構化,可讀性,足夠的日誌

  • 結構化:凡是能有獨立含義的語句段落,嘗試獨立方法;凡是沒有副作用的計算,嘗試扔輔助類靜態方法;有足夠的層次(db,service,base等),並且按照層級陳列代碼。結構化是所有優化的前提。
  • 可讀性:java從1到8,到14包了這麼多語法糖,無非也就是爲了提高語言的表達能力和可讀性。通過主方法只保留基本邏輯,方法儘量小等常用套路,儘可能保持簡潔。做到新司機入手,看你代碼都知道幹啥,基本就牛逼了。
  • 日誌:出事就知道有用了。

在此之上,可以根據排期緊急程度酌情提高要求,比如單元測試覆蓋率。單元測試很重要,也很費時間,高質量的單元測試,對比設計,擼代碼的時間佔比大概要去到1:1:1。可測試性,個人認爲在中等壓力下面應該納入最低標準。可測試性也是代碼質量最重要的標準之一,也是提高個人設計水平的重要工具。

進度

進度沒啥好說,加班唄。。

進度對個人而言,往細裏說,是工作方式,時間安排,相信各位老司機各有各的開車習慣,這裏推薦一種方式,把工作內容做簡單歸類:思考清單,執行清單,休息清單

  • 要用腦子的納入思考清單,在精神狀態最好的時候切入(如設計,流程梳理);
  • 無腦擼的納入執行清單,中等狀態進入,穩定輸出(如已經列好todo的代碼,只剩下增刪改查);
  • 休息清單,回覆精神專用,如整理桌面文件,整理郵箱等,低迷狀態配合咖啡食用。

總結

現實就是我們壓力越來越大,年紀也越來越大,只好保證自己在有限的時間裏都在做最重要的事情,並且調整自己的工作方式儘量做到更好。

by da01.chen

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章