瀑布模型 | 敏捷方法之外,有什么更合適的模型嗎?

3 評論 4803 瀏覽 18 收藏 14 分鐘

導(dǎo)讀:瀑布模型、敏捷方法的對立統(tǒng)一從20世紀(jì)70年代就出現(xiàn)了,其實本質(zhì)是從不同的角度、不同的粒度去對項目管理提出的方法論,都是實現(xiàn)目的的手段。站在今天,我們是否可以用一個新的名稱和模型來統(tǒng)一取代呢?

一、瀑布模型vs敏捷方法簡述

1. 瀑布模型

瀑布模型是將軟件生存周期的各項活動規(guī)定為按固定順序而連接的若干階段工作,形如瀑布流水,最終得到軟件產(chǎn)品。1970年溫斯頓·羅伊斯(Winston Royce)提出了著名的“瀑布模型”,直到80年代早期,它一直是唯一被廣泛采用的軟件開發(fā)模型。

核心思想:

瀑布模型核心思想是按工序?qū)栴}化簡,將功能的實現(xiàn)與設(shè)計分開,便于分工協(xié)作,即采用結(jié)構(gòu)化的分析與設(shè)計方法將邏輯實現(xiàn)與物理實現(xiàn)分開。將軟件生命周期劃分為制定計劃、需求分析、軟件設(shè)計、程序編寫、軟件測試和運行維護(hù)等六個基本活動,并且規(guī)定了它們自上而下、相互銜接的固定次序,如同瀑布流水,逐級下落。

瀑布模型有以下優(yōu)點

1)為項目提供了按階段劃分的檢查點,或者叫做里程碑。

2)每個階段嚴(yán)格區(qū)分,前一個不完成不進(jìn)行下一個,當(dāng)前一完成后,您只需要去關(guān)注后續(xù)階段。

3)可在迭代模型中應(yīng)用瀑布模型。增量迭代應(yīng)用于瀑布模型。迭代1解決最大的問題。每次迭代產(chǎn)生一個可運行的版本,同時增加更多的功能。每次迭代必須經(jīng)過質(zhì)量和集成測試。

4)它提供了一個模板,這個模板使得分析、設(shè)計、編碼、測試和支持的方法可以在該模板下有一個共同的指導(dǎo)。

5)瀑布模型把開發(fā)人員定義為流水線上的工人。比較適合規(guī)?;?、流程化的大項目,便于管理效率提升,充分降低人的因素,將人作為螺絲釘功能存在具備可替換性而不影響項目的推進(jìn)。

瀑布模型有以下缺點

1)各個階段的劃分完全固定,階段之間產(chǎn)生大量的文檔,極大地增加了工作量。

2)由于開發(fā)模型是線性的,用戶只有等到整個過程的末期才能見到開發(fā)成果,從而增加了開發(fā)風(fēng)險。(變化的外部市場和用戶在C端市場非常普遍,B端則相對穩(wěn)定)

3)通過過多的強(qiáng)制完成日期和里程碑來跟蹤各個項目階段。

4)瀑布模型的突出缺點是不適應(yīng)用戶需求的變化。

瀑布模型有個重要前提是假設(shè)條件固定,按照既定的條件和目標(biāo)往前推進(jìn)直至標(biāo)的;好處當(dāng)然是程式化,管理效率高,減少了人的因素;缺點就是那個要命的前提假設(shè)。

2. 敏捷方法

首先回答#敏捷#方法是不是什么情況都適用?

答案當(dāng)然是否定的,適用背景大概如下:

①新興市場、產(chǎn)品、行業(yè),充滿X,很多都是未知的,你的產(chǎn)品不成熟、用戶不成熟、市場也不成熟,都在認(rèn)知成長過程中
②產(chǎn)品生命周期短、需求變化快、不可控因素增多

所以,我們不得不保持以下原則:

  • 你得用盡量小的腳步,這樣你才能靈活(想想凌波微步)即時調(diào)整方向;
  • 你得以少為多,化繁為簡,也就是MVP最小可用單元,你想吃火鍋的時候或許1個饅頭也可以
  • 你得明白唯一的不變就是變,擁抱變化(阿里巴巴價值觀中就有這么重要的一條)
  • 你得做這一步的時候想著下一步,或者說為了做下一步做了這一步(比如微信當(dāng)年推出的打飛機(jī)游戲,其實主要是為了讓你升級版本,用的連環(huán)套)
  • 你得找杠桿大的feature,力求四兩撥千斤
  • 你得時刻確保你的用戶(直接用戶、間接用戶、支持性用戶)想要,你是保持接觸的

3. 瀑布、敏捷圖形抽象

對于兩種模型:

瀑布模型像是一條直線,給定了初始方向和力,然后沿著線條往前單向推進(jìn),直奔原定的目標(biāo),如下圖(雖然很可能達(dá)到目標(biāo)時候,目標(biāo)已經(jīng)沒有意義了,就好比你現(xiàn)在要潛心開發(fā)一個新汽車發(fā)動機(jī)可以提高很多燃油效率,但是顯然新能源的趨勢不可阻擋,你的產(chǎn)品面世之時,說不定汽油發(fā)動機(jī)都幾乎沒有市場了)

敏捷方法像是一個螺旋線,每個小圈就是一次迭代過程,在朝著目標(biāo)推進(jìn)的過程中,采用了盡量小的渦旋前進(jìn)模式,像是對每一個小成果的一次驗證,迭代-修正-迭代不斷往復(fù)推進(jìn),顯然對于多變的背景是更為適用的。如圖:

敏捷強(qiáng)調(diào)擁抱變化,瞬息萬變的時代,哪有不變的前提。就像最近的買菜大戰(zhàn),誰想到前兩年還是小玩家先烈般的探索,倒下一批又一批,今年后半段大戶就一并涌入了,大戶也沒想到剛涌入國家調(diào)控就出了。

敏捷vs瀑布,下面這張流傳的圖片很形象的展示給了我們答案,嚴(yán)格的階段劃分+一始而終的前進(jìn),如果缺乏必要的中間驗證和接觸,后果是多么的離譜……

瀑布和敏捷2個陣營還進(jìn)行過大辯論,網(wǎng)絡(luò)上相關(guān)內(nèi)容也是紛紛擾擾,到最后的結(jié)果也是你中有我我中有你,各有優(yōu)劣。

假如提出1個新的模型方法,是不是就可以完美解決了呢?

二、流體模型

一個兼具瀑布模型和敏捷方法于一體的模型設(shè)想,這個靈感來源于大學(xué)時候流體力學(xué)那門學(xué)科。

1. 物理學(xué)角度看流體模型

我們先從流體力學(xué)的角度展開,如上圖,湍流和層流都是流體的一種流動狀態(tài)

  • 【瀑布狀態(tài)】當(dāng)流速很小時,流體分層流動,互不混合,稱為層流,也稱為穩(wěn)流片流;
  • 【混沌狀態(tài)】逐漸增加流速,流體的流線開始出現(xiàn)波浪狀的擺動,擺動的頻率及振幅隨流速的增加而增加,此種流況稱為過渡流;
  • 【敏捷狀態(tài)】當(dāng)流速增加到很大時,流線不再清楚可辨,在流場中有許多小漩渦,層流被破壞,相鄰流層間不但有滑動,還有混合,從而形成湍流,又稱為亂流、紊流或擾流。

2.?流體模型的拆解

流體模型——正是基于瀑布和敏捷的兩種理念的交融:

①瀑布狀態(tài)(層流狀態(tài))

如同流體模型中的層流狀態(tài),這時候流速很小,也就是外界環(huán)境相對穩(wěn)定不存在多變的條件、復(fù)雜的背景。整個產(chǎn)品開發(fā)和項目管理流程按照有序的狀態(tài)和嚴(yán)格的先后次序進(jìn)行流水線開發(fā)及管理。

②轉(zhuǎn)換條件(過渡區(qū))

隨著外界復(fù)雜性,變化速度的加快,層流形式(即瀑布模型)不再能夠適應(yīng)環(huán)境。在產(chǎn)品和項目的場景中,外部條件包含:市場的變化、用戶需求的變化、政策及經(jīng)濟(jì)環(huán)境變化、競品市場變化;內(nèi)部條件有:戰(zhàn)略方向調(diào)整、團(tuán)隊變動等。致使若繼續(xù)一味按照層流即瀑布模型會背離環(huán)境變化,導(dǎo)致最終偏離目標(biāo)。

③敏捷狀態(tài)(湍流狀態(tài))

轉(zhuǎn)換條件發(fā)生,模型自動轉(zhuǎn)換為湍流狀態(tài),也就是敏捷中的小步快跑、不斷迭代、擁抱變化。

1)湍流狀態(tài)特征

下面聊一下流體模型中轉(zhuǎn)換為湍流狀態(tài)后的特征表現(xiàn):

湍流基本特征是流體微團(tuán)運動的隨機(jī)性。湍流微團(tuán)不僅有橫向脈動,而且有相對于流體總運動的反向運動,因而流體微團(tuán)的軌跡極其紊亂,隨時間變化很快。湍流中最重要的現(xiàn)象是由這種隨機(jī)運動引起的動量、熱量和質(zhì)量的傳遞,其傳遞速率比層流高好幾個數(shù)量級。

——引自湍流的物理學(xué)釋義

2)湍流特征和敏捷不謀而合

  1. 湍流的軌跡紊亂,隨時間變化快——正是敏捷強(qiáng)調(diào)的擁抱變化,變化因素具有相通性質(zhì),看似有序的世界和環(huán)境,不過是無序的一種特征值體現(xiàn);
  2. 湍流有相對流體總運動的反向運動——敏捷中最小成本驗證,可以視作如此的案例。每一次驗證時一種嘗試,可能正確可能方向錯誤導(dǎo)致失敗,正如流體模型中湍流狀態(tài)時無序甚至和總方向相反的亂流一般;
  3. 湍流引起的動量熱量和質(zhì)量傳遞速率比層流高好幾個量級——敏捷在不斷的找支點、放杠桿,迭代之間可以獨立且存在依托,所產(chǎn)生的價值杠桿對于與層流(瀑布模型)的一始而終,是不可比擬的,對于標(biāo)的達(dá)成的撬動能力更是不可言喻。

3.流體模型回顧

流體模型,正是描述同一種流體即同一個組織在產(chǎn)品和項目的實現(xiàn)過程中,當(dāng)面臨不同的外部和內(nèi)部條件變化,有層流狀態(tài)(瀑布狀態(tài))和湍流(敏捷狀態(tài))的銜接切換,中間過渡區(qū)的存在,有瀑布和敏捷的相互結(jié)合,從而達(dá)到目的。

實際工作中,有時即便是在適用瀑布模型的項目中,也難免的采用到敏捷的方法作為支撐,比如:關(guān)鍵時期高頻的信息觸碰、外部條件的監(jiān)控等;而敏捷項目中又何嘗不存在瀑布的影子,你的需求管理流程等都又是瀑布的做法;現(xiàn)實中已經(jīng)很難再將瀑布和敏捷完全區(qū)分,共生或許已經(jīng)是常態(tài),只是存在一個“過渡區(qū)”讓二者可以自由的銜切。

4. 流體模型中將弊端也一并展示

對于一種流體,在外部條件引起湍流后,一方面它強(qiáng)化了動量、熱量、質(zhì)量傳遞和反應(yīng)過程;另一方面極大地增加摩擦阻力和能量損耗。

這在組織和項目中何嘗不是呢,當(dāng)我們進(jìn)入敏捷狀態(tài)之后,面臨的變化、不斷迭代、時刻專注、保持接觸等,一方面會極大的促進(jìn)組織活力、產(chǎn)品成長,激活產(chǎn)品生命周期曲線;另一方面,不得不承認(rèn)這種節(jié)奏對精力的消耗,是所有人有目共睹的,快速的人員迭代在組織中也是常態(tài);同時,這種狀態(tài)下各個小組或產(chǎn)品項目未達(dá)成自己的目標(biāo),會產(chǎn)生并行情況,比如在職能線的模式中,不同的產(chǎn)品項目就會產(chǎn)生較大的阻力而不得不在產(chǎn)品評審中殺的你死我活。

三、結(jié)語

我們在不斷的探索中會走過的路有很多:一個需求的生老病死,一個項目的開始完成,一個產(chǎn)品的生老病死,一個組織的生老病死……

但方法終歸不是目的,它只是我們實現(xiàn)目的的手段,手段的目的又是為了給使用者提供更有力的抓手(溝通、協(xié)作、管理)。

 

本文由 @Kris_3??? 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來自Unsplash,基于CCO協(xié)議

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 流體模型對于“人”或者團(tuán)隊的要求會很高,需要及時響應(yīng)并作出調(diào)整,這對大多數(shù)團(tuán)隊來說是很恐怖的事情,保持瀑布/敏捷的狀態(tài)反而更簡單

    來自上海 回復(fù)
  2. 更多精彩內(nèi)容,歡迎搜索訪問:iSpiik小站

    來自重慶 回復(fù)
    1. 作者寫的很好,但是中間好像丟了一張圖哦

      來自浙江 回復(fù)