Re: [請益] 這些軟體工程的方法在台灣的普及度?

看板Soft_Job作者 (bool)時間12年前 (2014/01/29 22:53), 編輯推噓5(503)
留言8則, 5人參與, 最新討論串3/3 (看更多)
[前後刪掉一些] ※ 引述《Wolfken ()》之銘言: : CI的兩個phase是大量自動化的重點所在。commit phase包括build跟unit test,還有少 : 量基本的functional test。基本要求是在15分鐘內完成,所以當新code進來時,可以快 : 速的利用unit test確認沒有問題。通過commit phase的build會進入automated : acceptance phase,這邊是functional test主要跑的地方,要求是30~60分鐘內要跑完。 : 除了自動化以外,CI的重點是圍繞在自動化pipeline建立一套流程跟紀律,並且搭配新 : 的文化和想法。舊的方法是build永遠都是處於紅燈(fail)狀態,直到最後要release才 : 會變綠燈。CI要求build永遠是綠燈,只要任何新code讓它變成紅燈,所有人要停下手 : 邊的工作,馬上去修正它。這是從Toyota的stop the line學來的,Toyota的產線工人 : 只要發現問題,可以馬上要求整個生產線停下來,先去處理這個問題。如果commit phase : 出問題,開發者有十分鐘可以修正,十分鐘修正不了就是roll back。acceptance phase : 出問題則有25~30分鐘。 我前一家公司有類似作法, 不過它是間IC設計公司,不是純軟. 那套系統是併購英國公司後,導入他們的軟體流程. 略有差異的地方在於, 他要求我們commit code之前, 先丟test server. test server做的就包含 build + unit test + 部份function test. 要等到test server送來pass的 email, 你才能commit. 這種作法經常會有個瓶頸,就是test server要排隊等測試. 但相對來說變紅燈的機率似乎會比較低? 依個人的使用經驗, 只要系統強制要求要保持在綠燈狀態, 工程師自然會勤於commit, 因為你不時常commit, 別人會一直commit, 然後你想commit時就要一直merge -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.160.237.236

01/29 23:22, , 1F
簡而言之先搶先贏.
01/29 23:22, 1F

01/29 23:25, , 2F
過不了test server時,丟給新進的小咖當訓練,皆大歡喜
01/29 23:25, 2F

01/29 23:47, , 3F
所以test server不能只有一套,team大的話建test server的
01/29 23:47, 3F

01/29 23:48, , 4F
成本就會高一些,不過現在硬體都便宜得很,比起專案品質低
01/29 23:48, 4F

01/29 23:48, , 5F
落或是進度落後,那點錢真的只是小錢
01/29 23:48, 5F

01/30 08:57, , 6F
IC 設計公司,買一台強大伺服器不為過吧 128G RAM
01/30 08:57, 6F

01/30 08:58, , 7F
上面跑 Jenkins 等 ... 同時編譯好幾個 Android 都OK
01/30 08:58, 7F

02/01 09:38, , 8F
英國公司。CSR?
02/01 09:38, 8F
文章代碼(AID): #1IwHNb_U (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1IwHNb_U (Soft_Job)