CodeGym /課程 /C# SELF /創建產品:現代 IT 產品的誕生之道

創建產品:現代 IT 產品的誕生之道

C# SELF
等級 8 , 課堂 6
開放

1. 「人不再出生,而是被培育」

好了,既然你還在這裡,那我們就繼續吧。「我會向你展示兔子洞有多深」 © 🐇

讓我來告訴你產品開發的流程——我們會從最高層的全局角度,一直到最底層的寫 code。相信你會有一些有趣的發現…

現代的 IT 產品不再是自己寫出來的,而是被「組合」出來的。它們由 libraries、frameworks、第三方軟體和產品拼湊而成,甚至直接使用遠端的付費或免費網路服務 🧩。

現代產品是一個技術、服務、解決方案和流程的動物園。有些工作由人完成,有些自動化,剩下的 90% 完全由雲端服務在 data center 裡運行 ☁️。世界已經不一樣了。

但你首先會注意到的,是持續的變化。你不再是寫程序,而是在它們中做出改變

2. 持續變化

你會來到公司,加入一個已經有 20 人的團隊,這個團隊已經在產品上工作了 5 年。現在用戶可以用到第 7 版了。而你的任務就是在這個產品上做出改變。小改動,避免嚇跑現有的活躍用戶。

這並不容易,因為產品已經在運行。它有客戶,他們付錢 💰。所以不能搞砸。對已運行的產品做改動,比新產品要難幾倍。有專門的標準、遷移協議和工具來幫助。這裡想起一個笑話:

兩個老朋友相遇: 一個成了 mechanic,另一個成了 surgeon... 各自有自己的生活、煩惱、快樂... 彼此分享一切,然後談到薪水。mechanic 說:「我每月拿 30K,挺滿意的,你呢?」。surgeon 說:「我大約每次手術 100K...」。mechanic 好奇: 「奇怪,為什麼差這麼多?我們不是做的差不多嗎——換零件。」 surgeon 說:「來吧,去車裡,啟動吧...」。mechanic 啟動車子,surgeon 打開引擎蓋,對 mechanic 說:「你看,引擎運轉嗎?換一下!」 😂

即使奇蹟發生,你的團隊花了一整年從零開始寫產品,然後才發布,你知道接下來會怎樣嗎?如果你的產品成功了,產品負責人會想要推廣它。發布新版本,加入新功能。或者至少做幾個實驗。你知道接下來會怎樣嗎?就是變更 🙈

3. 產品的價值

從現代開發的角度來看,只有已經上線、用戶在用的 code 才有價值。如果你寫的 code 被存放著、運行著,但沒有人用,那它的價值幾乎為零。所以所有的 code 必須盡早進入 production 🚀

你的 code 必須經過以下階段:

  • ✔️ 你寫完了,並確定它能運行。
  • 🔍 你的 TeamLead 已經 review 並合併到 Git 的主分支。
  • 🧪 在 build 時測試證明你沒有破壞重要功能。
  • 🧩 集成測試證明產品正常運作。
  • 🛡️ 測試人員檢查這段 code,並批准發布。
  • 📦 接著要打包新版本,並在伺服器上發布。
  • 🐳 新版本要打包成 Docker Images,然後發布。
  • 🗄️ 可能需要運行 migration scripts,修改資料庫或其他第三方服務。
  • 📊 然後收集伺服器日誌,確保一切正常。
  • ⏪ 如果出現緊急狀況,破壞了東西,要回滾到之前的版本,還原資料庫狀態,並保留用戶在不穩定版本上的操作記錄。

大多數公司已經建立了這些流程:新流程、專門的人員、安全協議和質量控制標準。公司越大,從寫 code 到上線並產生價值的時間越短。

大多數公司,這個流程只需兩週。但也有公司每週甚至每天都在發布。特別的,有些甚至一天多次。

寫出來的 code 一文不值。只有在 production 上運行的 code 才有價值。

留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION