發表文章

目前顯示的是 7月, 2012的文章

敏捷式開發難以改變傳統專案型軟體公司

敏捷式開發(Agile)的主要概念,節錄至 wiki Individuals and interactions  over processes and tools Working software  over comprehensive documentation Customer collaboration  over contract negotiation Responding to change  over following a plan 開發時以小的功能需求面與較短的時間與客戶緊密配合,經鍋多次的循環而達成最後的產品。短的開發時程與目標讓客戶比較清楚自己想要的產品需求是甚麼,也讓程式設計師不會花太多時間重工,解決工程師每當寫好程式時卻聽到team leader對你說:"可是瑞凡,客戶需求變更了"。 國內許多接專案為主的公司都會有一樣的問題,被規定在一份金額、一定時間內做出目標產品,卻總是在開發中變更規格、更改功能,並認為這是應該辦到的。接案子時資源與預算都已經壓縮到最緊,中間卻不斷冒出問題,吃虧的通常都是以客為尊的開發商,工程師也被無條件加班重工。 敏捷開發是否能解決這類的問題?以下有幾個窘境需要面對。 客戶是否願意與開發者緊密配合? 客戶的工作內容不只有監督產品,還需要處理其他的工作項目,加上有些客戶他們是屬於8點上班17點準時下班的習慣,在配合討論時時間難以完整的配合。 客戶是否願意以產品內容最為出發點考量?而不是時間與金錢。 以往的軟體開發waterfall模式太直觀也太深直人心,太習慣一次性的規劃與一次性的付款,讓客戶較難接受以小功能為一個區間來做的方式。 所以整體來說,除非公司自己開發軟體產品,其他產業想要客制化才能實行,不然傳統專案型軟體公司不是不適合敏捷開發,而是考量到客戶的類型本身不適合。 敏捷開發不只是開發人員對於軟體開發流程觀念的轉換,客戶端也需要做改變。 P.S 或許對於台灣資方來講,最敏捷的開發就是責任制,客戶變更需求就叫員工無薪加班把code重寫,自己也省時間跟上層要資源,也省時間與客戶吵架。