轉自:http://www.infoq.com/cn/news/2014/02/agile-rethink安全
據dylan所說,其領導的團隊採用了旁敲側擊的方法提高研發質量,好比幫忙開發便利的自測工具、合做分析代碼覆蓋率、冒充用戶上論壇投訴、拿競爭對手的結果來刺激團隊等等,但始終是治標不治本。微信
回頭再看看,全部掩蓋在敏捷研發過程當中的漏洞,日積月累,最終仍是會由整個業務團隊來承擔苦果。因此時常在想,敏捷研發理論是否被神化了,是否常被錯誤理解而讓不職業的現象層出不窮?敏捷不是新的研發理論,只是項目管理的一種形式。架構
他認爲,瀑布研發和敏捷研發沒有本質不一樣,理由以下:工具
結論就是,沒有一個要素能真正把互聯網和其餘軟件領域區別開來,因此dylan認爲:學習
瀑布研發和敏捷研發沒有本質不一樣,,更別說誰好誰壞了,只是由於行業競爭的不一樣,看起來交付節奏不同而已。節奏和軟件研發的傳統精髓沒有關係。測試
除此以外,dylan還批判了常見的幾個敏捷誤區。剛畢業的學生進入公司要怎麼培養?dylan建議2-3年的職場新人不要學習任何敏捷流程的理論:優化
總之,dylan認爲,入行新人要學四個字——職業操守,刻在內心,打好基本功,將來無論在什麼項目都會受用。編碼
另外一個誤區,dylan認爲是「溝通比文檔更重要」:spa
這句話看起來有道理,若是你是幾我的的小團隊,若是人員穩定,功能模塊比較聚焦,生命週期也不太長,也沒客戶找你要什麼手冊,確實不須要寫什麼文檔。插件
可是若是你是如下狀況的團隊,dylan認爲文檔可能真的比溝通更重要:
dylan特地列舉了幾種缺少文檔的糟糕狀況:
第三,dylan認爲不要「邊重構,邊生活」:
之前公司的開發,30-40%的時間花在概念設計和架構設計,30%在細節設計,10%在編碼, 20-30%在代碼自測。編碼自己只佔不多一點時間。技術總監這樣教育新人:你不是coder,你是designer!coder是比較低級的工做,軟件設計纔是高端活。
任什麼時候候的思考,對於架構的投入怎麼充分都不爲過。微信發佈那麼多版本,這兩年重構可能幾乎沒有。這須要有人儘早思考清楚將來作朋友圈,作開放接口,作插件化等等,開發知道了將來要演進的形態,在一開始就有所規劃,預留接口。不然,今天決定要作SNS,重構一次,明天要作插件化,再重構一次,後天做開放平臺和公共賬號,再重構……對公司來講就是個噩夢了。
最後,dylan強調,不要存在「迭代版本的BUG多一點是正常的」的誤區:
每一個交付到測試團隊的產品,必須是可測的,自測過的。不可測的版本就不叫交付。對於可測內容追求在一段時間週期內,儘量高質量的發佈,是修煉職業操守的目標,更是精品團隊的目標。每個掛起的有效Bug都須要確認:爲何改不了?何時改?對發佈影響如何?
若是因市場形勢必需要儘快發佈,至少遵照一個底線:嚴重Bug必須整改並且優先整改。所謂嚴重就是可能讓用戶拋棄你的問題:速度慢,賣點明顯不如對手,賣點沒法正常使用,不穩定,可能給用戶帶來額外損失(手機系統,安全,帳號,費用等等)。這樣的發佈還不如不發。
隨着敏捷開發在IT行業的深刻推廣,敏捷的優勢再也不被業界無限放大,而更多的社區聲音開始討論敏捷的正反兩方面,dylan的觀點能夠給讀者朋友一些不一樣的啓示和借鑑。