自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

忘記敏捷

開發(fā) 前端
在這個(gè)充滿隱喻的軟件世界中,各種軟件開發(fā)方法的思潮都來自于其他某個(gè)成熟行業(yè)成功經(jīng)驗(yàn)的映射。理解敏捷的核心,應(yīng)該從精益制造的靈魂開始。精益的萌芽發(fā)展變化在某種程度上契合并預(yù)測(cè)著敏捷的今生來世。

實(shí)踐敏捷的根本不在于敏捷本身,而在于理解敏捷背后擁抱變化的基因。

瓦沙奇山下那段著名的敏捷宣言,至今已近十年。似乎在不經(jīng)意之間,敏捷已經(jīng)被視為 CMM 之后又一次軟件開發(fā)領(lǐng)域的浪潮,不論業(yè)界報(bào)道或者坊間傳聞,都不約而同地將敏捷視為一個(gè)時(shí)代的開始,與之同存的是那些未嘗或淺嘗敏捷者的各種質(zhì)疑和爭(zhēng)論。

當(dāng)敏捷在介于自發(fā)與非自發(fā)中間演變成為一種近乎“革命”的運(yùn)動(dòng),圍繞在它身邊的躁動(dòng)就不曾停歇,對(duì)于細(xì)節(jié)的爭(zhēng)執(zhí),對(duì)于方法的固執(zhí),讓我們更多地為敏捷的未來憂心忡忡。我們擔(dān)心的是,如果敏捷只被認(rèn)為是實(shí)踐和方法集合,那么必然有一天在它某次失效或者迫于壓力無法延續(xù)的情況下,便會(huì)被開發(fā)團(tuán)隊(duì)自然而然地拋棄,他們要做的也只是耐心等待下一次所謂的“革命”。

這時(shí)往往被忽略的是第一個(gè)要問的問題——為何敏捷。作為從汽車產(chǎn)業(yè)精益制造理念衍生出來的敏捷,到底為何產(chǎn)生?敏捷的萌芽和發(fā)展與精益理念的傳播過程有何共同之處?敏捷將如何發(fā)展?當(dāng)敏捷風(fēng)潮過后留下什么?只有當(dāng)這些問題一一被深刻解答和理解,才能讓敏捷實(shí)踐忘記敏捷,真正的敏捷基因才會(huì)被持久留存。

精益啟示

在這個(gè)充滿隱喻的軟件世界中,各種軟件開發(fā)方法的思潮都來自于其他某個(gè)成熟行業(yè)成功經(jīng)驗(yàn)的映射。理解敏捷的核心,應(yīng)該從精益制造的靈魂開始。精益的萌芽發(fā)展變化在某種程度上契合并預(yù)測(cè)著敏捷的今生來世。

敏捷之前工業(yè)制造世界的基礎(chǔ)都建立在“遵循計(jì)劃”的模型上——在執(zhí)行之前,需要完成的是計(jì)劃,這個(gè)被設(shè)計(jì)的計(jì)劃中規(guī)定了資源分配、詳細(xì)工序、時(shí)間線、技能要求等,被認(rèn)為如果按照計(jì)劃嚴(yán)格地執(zhí)行,便可達(dá)到預(yù)期的成功。那么,當(dāng)計(jì)劃在一個(gè)可預(yù)期的成功之上被設(shè)計(jì)時(shí),理所當(dāng)然遵循計(jì)劃的結(jié)果便是這個(gè)可預(yù)期的成功。

基于這個(gè)模型,在 1908~1927 年的 19 年間,福特制造了T型車的神話——在福特設(shè)計(jì)的流水線上,生產(chǎn)計(jì)劃被嚴(yán)格地執(zhí)行,所有的產(chǎn)出物都達(dá)到“可預(yù)期的成功”。在這 19 年里,福特認(rèn)為“無論你需要什么顏色的汽車,福特只有黑色”—— 拒絕任何改變,并堅(jiān)持把計(jì)劃中可預(yù)期的成功作為經(jīng)營(yíng)成功的唯一標(biāo)準(zhǔn)。因?yàn)槭袌?chǎng)需求的單一,以及價(jià)格的低廉,計(jì)劃的成功執(zhí)行與市場(chǎng)經(jīng)營(yíng)成功在某種意義上,畫上了等號(hào)。

而福特T型車的迅速衰落正是在于,當(dāng)市場(chǎng)需求最終占據(jù)了主動(dòng)時(shí)、當(dāng)企業(yè)生產(chǎn)和銷售的天平慢慢傾向于銷售一方時(shí),計(jì)劃中“可預(yù)期的成功”瞬間變得次要。原因很簡(jiǎn)單,企業(yè)的價(jià)值不以生產(chǎn)計(jì)劃的完成為基礎(chǔ),取而代之的是銷售計(jì)劃的完成。換句話說,如果最終目標(biāo)是“在一定時(shí)間線上用合理的成本生產(chǎn)出產(chǎn)品”,作為企業(yè)來說,這樣的目標(biāo)不足以成為企業(yè)價(jià)值的衡量基準(zhǔn),而真正體現(xiàn)企業(yè)價(jià)值的是“在一定時(shí)間內(nèi)用合理的成本生產(chǎn)出產(chǎn)品,并讓這些產(chǎn)品成功地被用戶使用”。

當(dāng)成功地讓用戶使用產(chǎn)品變得越來越有風(fēng)險(xiǎn)(用戶的需求越來越趨于多樣性和變化),使得傳統(tǒng)制造工業(yè)的從業(yè)者無以適從——完成預(yù)測(cè)的生產(chǎn)計(jì)劃可以通過內(nèi)部的管理手段實(shí)現(xiàn),但當(dāng)生產(chǎn)計(jì)劃無法完美契合用戶需要時(shí),傳統(tǒng)生產(chǎn)方式的低效和浪費(fèi)便暴露無遺。也許關(guān)張的不一定都是那些沒有在“在一定時(shí)間內(nèi)用合理的成本生產(chǎn)出產(chǎn)品”的企業(yè),但那些沒有“讓這些產(chǎn)品成功地被用戶使用”的企業(yè)一定關(guān)張。

這樣的危機(jī)感使得更擁抱變化的精益制造理論得到了迅速發(fā)展——如果那些沒有被用戶使用的產(chǎn)品就是不產(chǎn)生價(jià)值的東西,那么更應(yīng)該關(guān)注的不是生產(chǎn)計(jì)劃的完成,而是生產(chǎn)線那頭的東西是不是可以被市場(chǎng)買單。

精益的產(chǎn)生和發(fā)展完全契合著汽車消費(fèi)市場(chǎng)的變革——越來越趨向于關(guān)注用戶多變和多元的需求。換句話說,一個(gè)消費(fèi)需求變化風(fēng)險(xiǎn)越大的消費(fèi)市場(chǎng),必然產(chǎn)生一種對(duì)“降低消費(fèi)需求變化風(fēng)險(xiǎn)”越依賴的生產(chǎn)模式,這個(gè)生產(chǎn)模式就是精益。

敏捷非革命

相對(duì)汽車行業(yè)近 135 年的歷史,軟件產(chǎn)業(yè)僅僅經(jīng)歷了不到 50 年的時(shí)間。在軟件產(chǎn)業(yè)初端將近一半的時(shí)間里,就像福特T型車流行的 20 世紀(jì) 20 年代,軟件并沒有足夠龐大且多元化的消費(fèi)市場(chǎng),世界對(duì)于軟件的應(yīng)用多限于工業(yè)控制、數(shù)據(jù)分析、科學(xué)研究等領(lǐng)域,以及那些服務(wù)于并沒有形成足夠成熟消費(fèi)市場(chǎng)的配套軟件。“遵循計(jì)劃”的瀑布式生產(chǎn)模式在很長(zhǎng)一段時(shí)間里成為軟件工程的準(zhǔn)則——“在規(guī)定的時(shí)間和規(guī)定的資金投入內(nèi),完成規(guī)定軟件規(guī)格的應(yīng)用”。

接下來,隨著個(gè)人電腦以及各種消費(fèi)類電子和通信產(chǎn)品的普及,人類對(duì)于信息的需求上升到前所未有的高度。軟件終究是連接使用者和信息的接口,當(dāng)對(duì)于信息的需求不僅限于大型制造商、軍方、科研人員,而突然趨向于成為普通消費(fèi)者日常生活的必需品,對(duì)軟件的需求必然呈現(xiàn)級(jí)數(shù)增長(zhǎng)。于是,軟件行業(yè)在過去 20 年里的發(fā)展趨勢(shì)是“讓更多的人享受到信息服務(wù)”,而曾經(jīng)的高端專業(yè)軟件市場(chǎng)正在慢慢被信息消費(fèi)類軟件所擠壓。

可以這樣理解,當(dāng)一個(gè)市場(chǎng)的消費(fèi)門檻越來越低時(shí),這個(gè)市場(chǎng)越有可能變成買方市場(chǎng),這個(gè)市場(chǎng)的消費(fèi)者層次就越來越豐富,這個(gè)市場(chǎng)可能出現(xiàn)的需求變化就越來越頻繁,預(yù)測(cè)這個(gè)市場(chǎng)需求變化的難度就越來越高。

這便可以解釋為什么越來越多的軟件從業(yè)者,開始體會(huì)到如同汽車普及化運(yùn)動(dòng)對(duì)汽車行業(yè)的影響類似的困惑——單單“在規(guī)定的時(shí)間和規(guī)定的資金投入內(nèi),完成規(guī)定軟件規(guī)格的應(yīng)用”已經(jīng)不夠,必須在后面加上一個(gè)“并讓這些產(chǎn)品成功地被用戶使用”。這種市場(chǎng)需求帶來的內(nèi)部驅(qū)動(dòng)使得人們開始思考一種更加適應(yīng)市場(chǎng)需求變化的生產(chǎn)模式,像大野耐一的天才創(chuàng)新一樣,軟件行業(yè)也開始像汽車行業(yè)一樣開始向追逐最終消費(fèi)者使用價(jià)值的方向發(fā)展,敏捷方法的誕生正是基于此。

一個(gè)行業(yè)的成熟,必然經(jīng)歷一個(gè)消費(fèi)市場(chǎng)劇烈分化膨脹的階段——隨著工藝和技術(shù)的提高,以及生產(chǎn)成本的降低帶來了消費(fèi)門檻的降低和更多多元化需求,這必然使得涉足其中企業(yè)的核心競(jìng)爭(zhēng)力完成從“按時(shí)按量按質(zhì)生產(chǎn)”到“按時(shí)按量按質(zhì)適應(yīng)市場(chǎng)生產(chǎn)”的轉(zhuǎn)變。在這個(gè)轉(zhuǎn)變的背景之下,必然出現(xiàn)一種生產(chǎn)模式的轉(zhuǎn)變,保證“按時(shí)按量按質(zhì)生產(chǎn)”之外還能保證“這些產(chǎn)品成功地被用戶使用”。

汽車消費(fèi)市場(chǎng)變革發(fā)生在汽車行業(yè)發(fā)展 75 年后的 20 世紀(jì)中葉,豐田的精益制造模式成為適應(yīng)汽車消費(fèi)市場(chǎng)劇烈變革的主角——快速推向市場(chǎng),迅速對(duì)市場(chǎng)變化作出調(diào)整,豐富汽車品種滿足多元化需要的豐田在一段時(shí)間內(nèi)成為汽車行業(yè)發(fā)展的標(biāo)桿。

同樣,在軟件行業(yè)的發(fā)展經(jīng)歷 50 年之后,也開始迎來一次軟件消費(fèi)市場(chǎng)瘋狂膨脹劇烈變化的階段,這個(gè)行業(yè)的參與者,不得不到殫精竭慮于生產(chǎn)的產(chǎn)品是否能夠真正適應(yīng)市場(chǎng)的需求,把成功交付的標(biāo)準(zhǔn)改變成“在規(guī)定的時(shí)間和規(guī)定的資金投入內(nèi),完成規(guī)定軟件規(guī)格的應(yīng)用,并讓這些產(chǎn)品成功地被用戶使用”。

而傳統(tǒng)的軟件開發(fā)方法已經(jīng)無法支持對(duì)快速變化的市場(chǎng)變化作出快速反應(yīng),換言之,傳統(tǒng)的“計(jì)劃+執(zhí)行”的模式在當(dāng)前的市場(chǎng)特質(zhì)中行不通,在這樣存在“巨大需求變化風(fēng)險(xiǎn)”的市場(chǎng)中,不可避免地需要一種能夠降低這個(gè)風(fēng)險(xiǎn)的生產(chǎn)模式,這個(gè)生產(chǎn)模式,就是快速響應(yīng)變化的敏捷開發(fā)方法(見圖1)。

 

 

圖1 汽車消費(fèi)市場(chǎng)的變革產(chǎn)生了精益制造;軟件消費(fèi)市場(chǎng)的變革產(chǎn)生了敏捷開發(fā)

從這個(gè)意義上來說,敏捷本身并不是“革命”,真正發(fā)生巨大變革的是市場(chǎng),敏捷只是被市場(chǎng)選中。實(shí)踐敏捷是軟件消費(fèi)市場(chǎng)變革的結(jié)果,驅(qū)動(dòng)敏捷背后的力量是市場(chǎng)。如果敏捷是市場(chǎng)變革背景一次必然的風(fēng)潮,那么在風(fēng)潮過后,如果這個(gè)市場(chǎng)依然充滿變化且專注每一位消費(fèi)者的價(jià)值,那么能夠被市場(chǎng)所留存的必是這個(gè)充滿變革的市場(chǎng)在一開始最需要的東西。

風(fēng)潮過后

對(duì)敏捷的經(jīng)典誤讀之一:從“敏捷”的字面出發(fā),認(rèn)為敏捷是一種快速和高效的開發(fā)方式,通過各種實(shí)踐達(dá)到交付能力提升,使交付速度變快。事實(shí)上,“敏捷”真正的含義里,“靈活”遠(yuǎn)大于“高速”,或者說敏捷絕不是提升效率的方法,敏捷是降低變化風(fēng)險(xiǎn)的藝術(shù),即是“擁抱變化”的藝術(shù)。換言之,敏捷的精髓在于“擁抱變化”,而正因?yàn)檫@個(gè)特質(zhì),才使得敏捷越來越被這個(gè)越來越充滿變化風(fēng)險(xiǎn)的軟件消費(fèi)市場(chǎng)所需要。那么,應(yīng)該如何理解敏捷的精髓?

靈活應(yīng)對(duì)變化風(fēng)險(xiǎn)的實(shí)質(zhì)在于當(dāng)需求發(fā)生變化時(shí),應(yīng)對(duì)變化的成本最小,而這個(gè)成本的組成包括舍棄在這個(gè)需求上的已投成本、修改其他關(guān)聯(lián)需求的修改成本和額外投入的新成本。我們不難看出,額外投入的新成本基本由需求本身決定,為固定成本,而舍棄的已投成本和關(guān)聯(lián)的修改成本是可以通過某些手段降低的可變成本。這便是敏捷“擁抱變化”的兩個(gè)核心之所在(見圖2)。

 

 

圖2 擁抱變化的實(shí)質(zhì)

1. 在需求發(fā)生變化前,不在或者盡可能少地在這些發(fā)生變化的需求上投入任何工作量;

2. 當(dāng)需要發(fā)生變化時(shí),不在或者盡可能少地在可能影響的其他功能上產(chǎn)生任何工作量;

而敏捷幾乎所有實(shí)踐活動(dòng)的實(shí)質(zhì)都圍繞在這兩個(gè)核心上。讓我們從敏捷中幾個(gè)經(jīng)典實(shí)踐出發(fā)看它們是如何體現(xiàn)這兩個(gè)核心的,它們是:用戶故事、迭代交付、重構(gòu)和持續(xù)集成。

1. 用戶故事:將客戶的需求拆分成不同的用戶故事,每一個(gè)用戶故事代表一個(gè)獨(dú)立的業(yè)務(wù)價(jià)值,對(duì)于未來不確定的潛在特性(變化風(fēng)險(xiǎn)最大),用用戶故事的方式占位(Placeholder),當(dāng)需求發(fā)生變化時(shí),盡量只影響其中的一個(gè)用戶故事(最好的情況是之前預(yù)估過風(fēng)險(xiǎn)還未進(jìn)入開發(fā)),而不影響其他用戶故事的業(yè)務(wù)價(jià)值;

2. 迭代交付:將需求放在不同迭代進(jìn)行交付,每個(gè)迭代都給予客戶對(duì)下個(gè)迭代需求進(jìn)行變化的機(jī)會(huì),當(dāng)需求變化真正產(chǎn)生變化時(shí),還沒有實(shí)質(zhì)的開發(fā)工作量產(chǎn)生;

3. 重構(gòu):鼓勵(lì)持續(xù)地對(duì)系統(tǒng)架構(gòu)進(jìn)行優(yōu)化和重構(gòu),降低系統(tǒng)的耦合程度,讓一個(gè)需求的變化不會(huì)或盡可能少的對(duì)現(xiàn)有的其他功能產(chǎn)生額外的工作量;

4. 持續(xù)集成:大量使用自動(dòng)化測(cè)試和構(gòu)建持續(xù)基礎(chǔ)環(huán)境,讓可能產(chǎn)生于每次提交的缺陷(對(duì)現(xiàn)有功能的影響)及時(shí)暴露,越早發(fā)現(xiàn),越減少可能產(chǎn)生在被影響的其他功能上返工工作量。

市場(chǎng)的變革是敏捷方法風(fēng)潮背后的推手,如果市場(chǎng)真正需要的是一種適應(yīng)消費(fèi)需求充滿變化的生產(chǎn)模式,那么很有可能,敏捷作為一種方法論,有天也會(huì)被某種更新的理念替代。但是能夠肯定的是,軟件消費(fèi)市場(chǎng)將會(huì)在更長(zhǎng)的時(shí)間內(nèi)趨向于滿足日益多元化的消費(fèi)群體充滿變化的需求,因?yàn)槊艚?ldquo;擁抱變化”的基因,這場(chǎng)市場(chǎng)的變革選擇了敏捷,如同汽車消費(fèi)市場(chǎng)選擇了精益,那么當(dāng)風(fēng)潮有天退去時(shí),“擁抱變化”的基因必然被留存,無論冠以敏捷之名或是其他。

同時(shí)應(yīng)該指出的是,軟件消費(fèi)市場(chǎng)仍然存有部分消費(fèi)需求變動(dòng)較小的市場(chǎng),包括穩(wěn)定的工業(yè)自動(dòng)控制、數(shù)據(jù)分析和科研研究等領(lǐng)域。在這一市場(chǎng)里,對(duì)于市場(chǎng)變化的風(fēng)險(xiǎn)控制成本較小,以敏捷所包含的“擁抱變化”的基因,并沒有足夠優(yōu)勢(shì)完全替代傳統(tǒng)“計(jì)劃+執(zhí)行”的開發(fā)方式。因此,在可預(yù)見的未來,敏捷或任何一種可能出現(xiàn)的“擁抱變化”的開發(fā)方法會(huì)在一定時(shí)期內(nèi)與傳統(tǒng)開發(fā)方法共存。

不可否認(rèn),敏捷正在風(fēng)行,絕大部分敏捷實(shí)踐者的關(guān)注點(diǎn)自然都在敏捷本身,而我們往往陷于的誤區(qū)是——因?yàn)樗敲艚莸臇|西,所以我們要實(shí)踐。那么,當(dāng)敏捷風(fēng)潮退去或者對(duì)敏捷的效果產(chǎn)生疑問,我們的反應(yīng)往往會(huì)變成——敏捷已經(jīng)不流行或者敏捷已經(jīng)證明不適合我們,那么我們沒有理由繼續(xù)實(shí)踐敏捷的東西。如果僅僅把敏捷當(dāng)成一種風(fēng)潮之下的流行物,最有可能發(fā)生的事情在于,現(xiàn)在如火如荼實(shí)踐的敏捷方法的任何一種,都有可能突然在某天被團(tuán)隊(duì)所拋棄而不能延續(xù)。

 

 

圖3 實(shí)踐敏捷的根本不在于敏捷本身,而在于理解敏捷背后擁抱變化的基因

當(dāng)我們深刻理解敏捷背后,“擁抱變化”被這個(gè)充滿變化的市場(chǎng)所需要的基因,明白我們做的每一件事都是讓我們?cè)诿鎸?duì)變化時(shí)從容不迫,讓我們制造的產(chǎn)品能夠滿足更多消費(fèi)者的需求,創(chuàng)造更加多元化的需求。而不是因?yàn)椋硞€(gè)深不可測(cè)的大師或是高屋建瓴的咨詢師不遺余力地鼓吹敏捷的神奇。只有這樣,我們的實(shí)踐才能夠真正為我們的交付產(chǎn)生實(shí)效性的價(jià)值,并能在更長(zhǎng)的時(shí)間內(nèi)堅(jiān)持,哪怕有天沒有人談起敏捷,那個(gè)藏在敏捷最里面的基因一直可以留存。實(shí)踐敏捷,請(qǐng)忘記敏捷(見圖3)。

原文:http://www.programmer.com.cn/8240/

【編輯推薦】

  1. 敏捷教練都該下課——Fred George訪談錄
  2. Visual Studio 2010中敏捷開發(fā)流程模板的應(yīng)用
  3. 向新手軟件項(xiàng)目經(jīng)理推薦敏捷
  4. 詳解Visual Studio 2010輔助敏捷測(cè)試
  5. Visual Studio 2010輔助敏捷測(cè)試詳解
責(zé)任編輯:陳貽新 來源: 程序員
相關(guān)推薦

2013-11-07 14:33:43

交換機(jī)下一代網(wǎng)絡(luò)華為

2009-09-21 11:00:51

互聯(lián)網(wǎng)

2022-03-02 08:00:00

敏捷框架開發(fā)軟件開發(fā)

2023-11-13 12:07:03

軟件開發(fā)敏捷

2015-11-12 13:25:39

2023-09-06 18:23:48

Scrum框架項(xiàng)目

2012-09-28 10:17:43

IBMdw

2014-05-26 14:23:29

華為網(wǎng)絡(luò)大會(huì)敏捷網(wǎng)絡(luò)

2016-12-27 18:10:37

華為敏捷網(wǎng)絡(luò)

2018-04-19 14:05:48

敏捷管理

2009-09-10 16:04:41

敏捷開發(fā)敏捷外包

2017-03-08 19:27:04

敏捷BI數(shù)據(jù)數(shù)據(jù)庫(kù)

2010-09-01 09:09:37

DevOps敏捷運(yùn)維敏捷開發(fā)

2009-07-16 16:01:54

WebWork敏捷開發(fā)

2022-04-28 06:37:59

敏捷驅(qū)動(dòng)QA

2013-10-29 11:50:11

2011-08-04 13:33:48

IBMBAO

2011-03-27 23:10:37

ibmdw敏捷開發(fā)

2010-09-17 08:24:59

敏捷開發(fā)

2010-08-30 11:03:10

敏捷認(rèn)證
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)