敏捷開發的目的
敏捷開發的目的是快速響應市場需求,舉個例子,如果一個產品的開發周期為一年,如果等到盡善盡美再上線,那么時間周期是非常漫長的,在這個過程中,用戶需求也會發生很多變化,導致上線的產品無法滿足客戶需求。 另外,在當今時代,響應速度已經成為企業不可忽視的核心競爭力。 敏捷開發方法恰恰滿足了這兩點,將整個產品需求分成若干個可以獨立運行的迭代版本,先將一部分核心功能開發完成,交付用戶使用,然后進行下一個迭代開發,開發的同時再收集上一個迭代的用戶需求反饋意見,合并到下一次迭代。以此循環,直到完成最后一個迭代。
敏捷開發解決的問題
-
用戶能夠盡早地使用系統。對于客戶來說能感受到你的快速的需求響應,所以客戶滿意度會提升。
-
由于用戶在開始并不能真正清楚自己的需求,用戶的需求是在使用過程中逐步提出的,需求變更的程度較小,這樣我們就能以很小的代價完成變更,也就降低了較大需求變更的風險,降低了因需求變更增加的開發成本。
-
敏捷開發注重以人為本,減少不必要的文檔及流程,團隊開發的效率得到提高,達到降本提效的目的。
團隊要求
不過敏捷開發對項目經理、產品經理以及團隊成員的綜合素質要求較高,特別是規劃能力,職能的背后考驗的往往還是人的理解能力、認知水平,獨立思考能力,批判思維等綜合能力等。
發散思維
敏捷開發在信息系統項目開發中表達了一種循序漸近的狀態,其實不僅是在項目開發、管理中,在生活、工作的各個方面,都可以利用“敏捷”思維解決問題,這種思維可以提高效率,解決不必要的浪費時間的思考。
典型的舉例
在工作的計劃制定過程中,很多技術管理者往往喜歡所有開發工作都要先有一個大的規劃,然后將大規劃拆分成多個小規劃,然后評估每個小規劃的時間節點,甚至在工作的規劃上花費了大量的時間,到最后發現與實際時間完全不相符。其實,我認為一些無法明確開發周期的工作,就沒有必要再去規劃詳細的時間節點了,因為其中的變化機率大且未知較多,這是典型的瀑布思維模式,就是說在制定計劃這項工作時使用了瀑布思維。
再例如:某個產品多個模塊的性能優化工作,這種工作本身就無法評估具體的時間,那就可以使用“敏捷”思維進行進度管理,從過程中進行管理,而不是從結果中管理。利用敏捷開發模型將一個大的工作拆分成多個小的迭代版本,然后從過程中管理每個小的迭代進度,完成一個版本則上線一個版本,而不去關心整體工作完成一共要花多少時間,首先無法判斷正確的時間,其次一次性評估所有的周期需要花費大量時間和精力,其實我們在過程中將每一個小的版本管理好,最終得到的結果就是效率最高的、相對最好的結果。這樣的性能優化就是逐步完善系統的過程。
關注微信公眾號:【技術管理修行】
分享日常技術干貨、技術/管理經驗分享,項目經理/產品經理/技術總監 職業規劃