什么是真正的敏捷開發?敏捷開發與瀑布開發有何不同,從本質上講敏捷開發的一個重要目標是建立持續價值交付的能力,這種能力最終必須服務于業務的創新,促進業務的成功,
敏捷開發的目標——更早的交付
我們經常會說敏捷模式,那什么開發模式是不敏捷呢?對,我們通常說“瀑布”是不敏捷的,

瀑布開發模式把開發分成一系列階段,如需求、設計、開發、測驗,就像上圖它畫出來的,看起來很像瀑布,所以叫瀑布開發,問題是需求的交付難道不都是要經歷這些階段嗎?
瀑布開發的本質問題并不是階段,而是批量,需求批量地在一起進行設計,然后是批量地開發,批量地測驗、交付等等,批量有什么問題? 首先,批量讓價值交付延遲,所有需求在最后的階段才能交付,價值交付比較晚,

價值交付比較晚又怎么樣?看這幅圖,左邊是Intel的創始人摩爾,摩爾定律的提出者,摩爾定律告訴我們,18個月之后,用同樣的錢能買到多一倍的東西,比如計算能力、存盤量、晶元數等等,而右邊這位是Google執行董事長施密特,他提出了反摩爾定律,表述為:“如果18個月之后我們只能賣出跟今天一樣的東西,我們就只能得到一半的收入”,
反摩爾定律是摩爾定律的一個簡單推論,它告訴我們,越遲交付的價值也是越低的價值,對硬體公司這很關鍵,甚至決定它們的的宿命——技術進步必須跟得上摩爾定律,否則利潤就會被摩爾定律吞噬,讓產品或公司走向滅亡,
軟體或互聯網服務又怎樣呢? IBM在上世紀90年代,意識到不能做一家硬體公司,轉而主攻服務和軟體行業,它的確過了一段好日子,然而,很快互聯網時代到來了,軟體和服務行業的創新一下子加速了,這時,相對硬體公司,反摩爾定律在軟體和互聯網服務公司的作用是有過之而無不及的,時間的遲早可能不僅僅決定價值的多少,有時錯過整時間窗,可能會一無所獲,

反摩爾定律告訴我們,越遲交付的價值也是越低的價值,所以對于軟體開發來說,瀑布模式延遲了價值交付,得到的價值也更少,相對瀑布,我們提出了迭代交付,我們把開發分成迭代,每個迭代交付一部分價值,更早交付的價值往往意味著更多的價值,就這一點來說,迭代相對瀑布的本質是,更小批量的快速交付,從而更早獲取更多價值,和獲取市場競爭的先機,

敏捷開發的目標——有效學習和靈活回應變化
所以敏捷開發有第一個目標就是更快的交付價值,這里的快指的不是絕對速度,而是更早的交付,

我們再看一個坐標圖,這個坐標是專案的時間歷程,最左是專案開始,最右是專案結束,縱坐標是團隊擁有的這個專案和產品的知識,比如說用戶要什么,采取什么樣的產品方案,應該做什么樣的功能,以怎樣的形式來協作,選擇什么樣的技術方案等等,
我們想問一下團隊(包括產品也包括開發、業務)什么時候對于產品和專案的知識最充分、最多?大家的答案都很一致,專案結束的時候,這顯而易見,我們在專案行程中積累了知識,特別是當向用戶交付產品后,用戶反饋:“我要的不是這個啊,我說的明明是…”,這時候你瞬間狂漲知識,并感嘆道“你怎么不早說呢?”,這中間可能有溝通問題,但更多可能的是,用戶這時才清楚或能夠描述他們要的是啥,更有甚者,我們可能一開始連用戶是誰也未必能準確的定義,產品和業務開發本來就是一個探索的程序,開始時一定是最無知的時刻,
再問一個問題,專案中的大部分決策,是什么時間做出的呢?大家的答案也很明確——專案開始的時刻,這里埋藏了一個重大的悖論,我們在最無知的時刻,做出了最重要而且是絕大部分的決策,并把它作為隨后執行的依據,面對不確定的技術、市場環境,傳統開發模式已無法適應要求,悖論越發突出,

對于這一悖論,敏捷的對策還是迭代,開始時,我們會做出一些初始的決策,比如說總體目標是什么,大概的策略和打法是什么,從哪里開始,怎么檢驗等等,但這些只是初始決策,定義了大致的方向,在整個開發程序,我們迭代交付需求,獲取市場的反饋和最新的資訊,并基于這些反饋和資訊,積累和修正對產品的認知,增量地決策和調整,

產品開發程序中,技識訓境、市場環境、競品策略、團隊認知都會發生變化,面對變化的環境,我們必須承認自己的無知,在開發程序主動有效地學習,不斷地汲取反饋,靈活地調整,這也是敏捷的第二個業務目標,有效學習和靈活回應變化,

綜合上面提到的敏捷開發的兩個業務目標,我們就可以給敏捷開發下一個定義了,敏捷指的是創建一個組織更快(早)的交付價值,和更有效學習和靈活應變的能力,

從能力的角度,敏捷的核心是持續交付價值的能力,以及以持續交付為基礎的快速反饋學習能力,為了具備這樣的能力,產品的開發和交付方式需要做出根本變化,這幅圖從概念上體現了,傳統批量式的開發方式到敏捷的持續交付方式的轉變,
傳統開發方式下,需求成批量的流經各個階段和組織部門,如產品、UED、開發、測驗、運營等直至交付,各個職能各自優化自己的作業,形成效率豎井,由于批量的原因,需求等待整個批量完成,才能集中進入下一階段,從單個需求的角度看,需求大部分時間都處于等待狀態,
上圖的右半部分表達了這一程序,單個需求的實際處理的時間很短(圖中折線中上面綠色的短線),它們大部分時間都處于等待狀態(圖中折線下面紅色的長線),最終表現出的實際交付周期很長,
通過敏捷實施,我們希望整個組織協調一致,更緊密協作,縮短交付周期,圖中左半部分是理想的敏捷開發模式,它體現了敏捷開發的基本目標——持續價值交付和快速反饋、學習,這其中持續價值交付是基礎,
點擊下方鏈接,即可免費體驗云效全家桶
https://www.aliyun.com/product/yunxiao?channel=yy_yccb_yc

轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/498921.html
標籤:其他
