Re: [心得] 大陸互聯網公司產品開發流程

看板Soft_Job作者 (abadcafe)時間11年前 (2014/11/02 15:57), 11年前編輯推噓3(303)
留言6則, 3人參與, 最新討論串4/8 (看更多)
首先, 這個世界上並沒有一個"大陸版快速迭代waterfall". 全世界只要講到"快速迭代模式", 基本上就都是指的我所描述的那種快速迭代模式. 無論 是在北美還是在歐洲都一樣. 這並不是大陸的特產. 歐美業界提出並實行這個模式很多年 了. 詳見: https://en.wikipedia.org/wiki/Iterative_and_incremental_development 而快速迭代與waterfall的分別, 你需要注意其前提: 分而治之. 如果沒有需求的分解, 不 管你怎樣爆肝, 也不可能把waterfall壓縮到很短的週期. 傳統的waterfall並沒有這個步驟, 他們會在整個系統設計完成之後才開始coding, 整個系 統coding完成之後才開始testing. 這才是waterfall被詬病的地方. 這裏我要再強調一次, 在快速迭代模式中, 每一個迭代過程你既可以使用waterfall, 也可 以使用TDD或者別的什麼, 這並不衝突. CI也是一樣. 另外, 關於敏捷我要多說一句, 敏捷不是銀彈. 真的在大項目中實行一遍TDD, 你就知道 TDD的問題在哪裏了: 1. 工作量暴增. 2. 面對頻繁變化的需求, 你會很快厭倦編寫那麼多 測試代碼然後又看着這些代碼作廢. 這都是人力的浪費. 你看看前幾年TDD有多火, 近幾年 又如何? DHH當初那麼推崇TDD, 現在又如何? 敏捷的思想很重要. 但敏捷的具體方法, 無 論TDD還是SCRUM, 都需要推敲. 不過這是另一個話題了, 歡迎另開一串討論. 而至於大團隊概念, 這是另一個層面的問題, 與具體開發模式沒有直接關係. 就算你採用 TDD, TDD的T也只是指的UNIT TEST乃至MODULE TEST這個層面, 對於集成測試乃至系統測試 都沒有觸及. 所以, devops與是否採用敏捷模式沒有太大關係. 實際上, 快速迭代與敏捷方法乃至devops, 這三者相互之間都並不是完全在同一個層面上 的事物. 這三者通常是你中有我, 我中有你的. 現實世界中, 我並沒有看見哪個公司完全 按照教條只採用其中一種模式. ※ 引述《Wolfken ()》之銘言: : 基本上我接觸的所謂大陸版快速迭代waterfall,就我的看法就是單純把waterfall壓縮 : 到非常短的週期而已,有些人號稱這是Agile,但Agile的精神和practice他們根本沒有 : 用到,這種方法waterfall帶來的浪費還有低效率依然存在,之所以能壓得很快,說穿 : 了就是硬壓員工加班加到爆而已。但這種硬壓schedule的方法,技術債一定會不斷累積 : ,等到技術債累積到連每天加班到半夜都趕不上進度時,就是團隊壓力鍋爆炸的時候。 : 這種方法跟真Agile最大的差別在: : 1. 依然需要在開發後放一個手動測試的phase跟解bug的phase,而這兩個phase就是最 : 趕最亂技術債欠最多的phase。相較於Agile特別是XP,使用自動化,CI還有TDD把 : 測試拉到很前面,和開發幾乎同步,Waterfall無可避免的就是造成浪費時間在人工測 : 試,以及浪費在前期時測試人員的閒置。 : 2. 沒有團隊速度的概念,Scrum會要求了解每個sprint平均能消化多少story points : ,從而了解團隊速度並做出調整。Agile是固定時間和成本下,根據團隊速度決定要 : 開發多少feature,並根據現實狀況在每個sprint不斷調整,而不去做出無根據的預 : 估然後硬吃下根本不可能吃得下的feature量。Waterfall則是一開始什麼都沒有就要 : 做出毫無根據的預估,然後通常都過於樂觀,最後都會在成本,時程跟scope中間至少 : 無法達成其中一個。 : 3. 沒有end to end大團隊的概念,各個角色壁壘分明,互踢皮球的狀況非常常見 : 總之,大陸互聯網這種所謂的快速迭代waterfall,看似agile,甚至有人就稱這叫 : agile,但就我看來還是蠻土法煉鋼的一種軟體開發流程,跟歐美的軟體公司比, : 依然是落後相當的多。不過本來亞洲軟體公司的軟工就跟歐美公司有一段很大的落 : 差了,這也是很多台灣有在鑽研這塊的人很想讓台灣能趕上的一塊。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.246.87.152 ※ 文章網址: http://www.ptt.cc/bbs/Soft_Job/M.1414915026.A.C86.html ※ 編輯: abadcafe (114.246.87.152), 11/02/2014 15:58:30

11/02 20:47, , 1F
推長知識~
11/02 20:47, 1F

11/02 23:40, , 2F
push...
11/02 23:40, 2F

11/02 23:42, , 3F
這個帳號最近怎麼這麼認真了? /yx
11/02 23:42, 3F

11/03 03:13, , 4F
...有點怪怪的?上一篇文有講到"成本固定".你拿TDD+需求變化
11/03 03:13, 4F

11/03 03:15, , 5F
所產生的 "工作量爆增"+"CODE失效".這部份講法和SCRUM的成
11/03 03:15, 5F

11/03 03:16, , 6F
本固定.剛好互斥到吧 ~_~?
11/03 03:16, 6F
文章代碼(AID): #1KLUFIo6 (Soft_Job)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 4 之 8 篇):
文章代碼(AID): #1KLUFIo6 (Soft_Job)