iT邦幫忙

2023 iThome 鐵人賽

DAY 12
0
IT管理

從程式碼到商業思維:工程師開展一個新視界系列 第 12

[D12]用商業思維來看瀑布式開發與敏捷式開發

  • 分享至 

  • xImage
  •  

目前主流在討論的兩種開發模式,一個是瀑布式開發,一個是敏捷式開發,其各有優缺點。
今天用商業思維的角度來分析這兩個開發模式適合在什麼時候。

瀑布式開發(Waterfall)

瀑布式開發是一種傳統的軟體開發方法,它將開發過程分為一系列的階段,每個階段都必須完成之前的階段才能開始。

在過往明確的規格且變化不高的需求下,這樣的開發模式是一個很棒的品質控管機制,讓我們瞭解每個階段要產生的東西,每個階段要寫的內容,要測試的內容等。讓我們在開發之中都可以有明確的目標與內容可以參照。

瀑布式開發的優點是計劃較為完善和控制整個時程比較明確,面對不變的需求來說是非常有效益的,但缺點是缺乏靈活性,在需求變更時需要重新規劃和調整,因此成本相對會花費很多。

從商業的角度來看,瀑布式開發的優點是

  • 可以幫助企業在開發初期就制定明確的目標和計劃,從而減少不確定性和風險。
  • 可以幫助企業更好地管理開發成本和進度。
  • 可以提高開發團隊的效率和專注度。

瀑布式開發的缺點是:

  • 在需求變化快速的情況下,可能無法快速應變。
  • 在開發過程中,可能會出現需求變更,導致開發成本增加。

霧卡時代(VUCA)

在現今的時代,是一個科技飛速成長的時代,市場的變化越來越快,面對不穩定性(Volatility)不確定性(Uncertain)、更為 複雜(Complex) 的與 模糊(Ambiguous) 的需求市場,公司必須要做出更快的改變速度,才能在這樣波動如此大的環境下生存,進而找到屬於公司的商業模式。

在這樣的時代來臨,面對如此不穩定的市場面向,傳統的瀑布式開發缺少了靈活彈性的調整,每次的調整成本太高,因此再推出到市場之前就要花費很高的成本,也跟不上市場變化的腳步。

在過往我在產品開發的初期也是使用瀑布式的開發方式,但後來推出面對市場的改變也是來不及應對,而導致產品還沒推出就已經被淘汰了,因此我們需要用更彈性的方式來驗證市場。

敏捷式開發(Agile)

因此敏捷開發因需而生,敏捷式開發是一種迭代式的軟體開發方法,它將開發過程分為一系列的短週期,每個週期都會交付一個可用的產品版本。敏捷式開發的優點是靈活性高,可以快速應變需求變化,缺點是需要更高的團隊協作能力。

從商業角度來看,敏捷式開發的優點是:

  • 可以幫助企業更快地獲得市場反饋,從而調整產品或服務以滿足客戶需求。
  • 可以提高產品的迭代速度和創新能力。
  • 可以降低開發風險。

敏捷式開發的缺點是:

  • 在開發過程中,可能會出現很多改變的工作,導致開發成本增加。
  • 需要更強的團隊協作能力。
  • 團隊的抗壓性要很強。

敏捷的重點是『有彈性的應對市場的需求改變』,透過迭代的產品價值,推出適合現代市場所需要的功能為優先,先創造收益為主的方式,雖然不能說可以擁有有很高的成功率,但是相對於失敗的成本來說降低了很多,我們更可以用最低的成本去驗證市場,而不用等到產品都開發完了才來驗證市場,更何況能根據市場的反應去調整要開發的方向與功能,更適合現代商業的作法。

選擇適合的

瀑布式開發和敏捷式開發各有其優缺點,企業在選擇開發方法時需要根據具體情況進行考量。

  • 如果面對市場的需求是相對穩定,可以使用瀑布式開發。瀑布式開發可以幫助企業在開發初期就制定明確的目標和計劃,從而減少不確定性和風險。

  • 如果面對市場的需求追求變化快速,可以使用敏捷式開發。敏捷式開發可以幫助企業更快地獲得市場反饋,從而調整產品或服務以滿足客戶需求。

此外,企業還可以根據自身的情況,將瀑布式開發和敏捷式開發結合起來使用。例如,在開發初期可以使用瀑布式開發來制定整體的開發計劃,在後期可以使用敏捷式開發來進行迭代開發。

因此沒有完美的開發模式,而是根據不同的狀態下選擇適合的,不能說哪個好哪個壞,而是基於你所要追求的目的是什麼,而去選擇合適的方法與工具。『工具的好壞不在工具本身,而是在使用的人。


上一篇
[D11] 了解需求的價值,建置收集數據的機制
下一篇
[D13]用商業思維來看需求變更
系列文
從程式碼到商業思維:工程師開展一個新視界30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言