丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
專欄 正文
發(fā)私信給TW洞見
發(fā)送

2

估算是否有價(jià)值?從它的目的開始說起

本文作者: TW洞見 2015-11-02 17:33
導(dǎo)語:敏捷開發(fā)中,估算機(jī)制的實(shí)質(zhì)是什么?

【編者按】通常來講,在敏捷開發(fā)中,估算是對項(xiàng)目將持續(xù)多長時(shí)間或花費(fèi)多少成本的預(yù)測,但是在實(shí)際開發(fā)過程中,進(jìn)展、結(jié)果和估算往往偏差不小,那么這是否意味著估算是完全無用的呢?本文中,來自ThoughtWorks的首席科學(xué)家Martin Fowler從估算與決策的關(guān)系這一角度進(jìn)行了探討。(原文發(fā)表于他的個(gè)人博客:martinfowler.com

估算是否有價(jià)值?從它的目的開始說起

我第一次與敏捷軟件開發(fā)的邂逅,是在極限編程剛剛興起時(shí),跟Kent Beck(最早研究軟件開發(fā)的模式和重構(gòu)的人之一,敏捷開發(fā)的開創(chuàng)者之一,極限編程和測試驅(qū)動開發(fā)的創(chuàng)始人)一起工作的經(jīng)歷。其中讓我印象深刻的事情之一,就是我們?nèi)绾巫鲇?jì)劃的方式。這里面包括一種估算方式,比起我之前見到過的其他方法,它既輕量,還更有效。這樣過了十年,現(xiàn)在一些有經(jīng)驗(yàn)的敏捷實(shí)踐者,開始了一場關(guān)于估算是否值得甚至是否有害的爭論。我想,為了回答這個(gè)問題,我們必須審視一下估算的目的。

通常的場景是這樣的:

開發(fā)者被要求給出對于即將開始工作的估算。人們大多是樂觀派,即使沒有壓力的情況下(一般至少也會有點(diǎn)壓力),這些估算通常會比較小。

這些任務(wù)和估算會被轉(zhuǎn)化成發(fā)布計(jì)劃,然后用燃盡圖(burn down chart)跟蹤。

接著,人們就會按照這些計(jì)劃,持續(xù)監(jiān)控著團(tuán)隊(duì)為完成任務(wù)所投入的時(shí)間和資源。結(jié)果當(dāng)實(shí)際消耗的時(shí)間和資源,超過當(dāng)初的估算時(shí),每個(gè)人都會變得失望。為了迎合當(dāng)初的估算, 開發(fā)者被要求犧牲軟件的質(zhì)量,但這只會讓事情變得更糟。

這種情形下,對估算的投入充其量就是一種浪費(fèi) —— 因?yàn)椤肮浪憔褪窃诟蓛舻囊r衫上猜測”。只有當(dāng)估算被當(dāng)做追逐更多特性的手段時(shí),它才會變成實(shí)質(zhì)上有害的行為。過分追逐特性是一種很糟糕的情形,人們只是始熱衷于完成一個(gè)又一個(gè)特性,而不是追蹤項(xiàng)目的真實(shí)結(jié)果。

估算還會設(shè)定期望值,既然估算通常會偏低,所以它們設(shè)定的期望值也多是不切實(shí)際的。任何時(shí)間上的增長,或者軟件特性被砍掉,都會被視作是失敗。出于對風(fēng)險(xiǎn)的逃避,這些失敗的后果往往會被放大。

面對類似這樣的情況,我們就很容易看到人們把憤怒對準(zhǔn)了估算本身。這樣也導(dǎo)致越來越多的人認(rèn)為,任何沉迷于估算的人并不是真正的敏捷實(shí)踐者。而批評敏捷的人則說,這意味著敏捷軟件開發(fā)的本質(zhì)就是,開發(fā)者很快動手開始做,卻并不明確要做什么,而且承諾說,該做完的時(shí)候肯定會做完它,而且你肯定會喜歡它。

估算是否有價(jià)值?從它的目的開始說起

我并不同意估算是天生有害的活動。如果有人問我,估算是不是件糟糕的事情,我的答案會是一名標(biāo)準(zhǔn)咨詢師的答案:“不一定”。而接下來的問題就會是“取決于什么”。為了回答這個(gè)問題,我們就不得不問,我們?yōu)槭裁匆浪?—— 因?yàn)槲蚁胝f:“如果事情值得做好,就值得問清楚,我們到底為什么要做它?!?/p>

對于我來說,當(dāng)你面臨重大的決策時(shí),估算就是有價(jià)值的。

我的第一個(gè)得益于估算決策的例子是:資源的分配。一般來說,組織大多擁有固定數(shù)目的錢和人,而且通常有太多值得做的事情。因此人們就面臨選擇:我們是做A還是B?面對這樣的問題,了解A和B分別要涉及多少投入(以及成本)是有必要的。為了做出一個(gè)明智的決策,你需要有對成本和收益有個(gè)大致的了解。

另外一個(gè)例子是估算對協(xié)調(diào)的幫助。藍(lán)色團(tuán)隊(duì)想在他們的網(wǎng)站上發(fā)布一個(gè)新的特性,但直到綠色團(tuán)隊(duì)創(chuàng)建新的服務(wù)提供給他們關(guān)鍵數(shù)據(jù)后才能發(fā)布。如果綠色團(tuán)隊(duì)估算他們會在兩個(gè)月后才能完成新的服務(wù),而藍(lán)色團(tuán)隊(duì)估算需要一個(gè)月去能完成新的特性,那么藍(lán)色團(tuán)隊(duì)就知道不值得現(xiàn)在就開始實(shí)現(xiàn)這個(gè)新特性。他們可以花費(fèi)至少一個(gè)月時(shí)間,工作在其他可以早點(diǎn)發(fā)布的特性上。

所以任何時(shí)候當(dāng)你想做估算時(shí),你應(yīng)當(dāng)非常清楚哪一項(xiàng)決策需要依賴這個(gè)估算。如果你找不到這樣一項(xiàng)決策,或者那個(gè)決策并不是那么重要,這就是一個(gè)信號:此時(shí)做估算是在浪費(fèi)時(shí)間。當(dāng)你找到這樣一個(gè)決策時(shí),那要知道問題的上下文是什么,為什么估算會很重要。同樣還要搞清楚期望的精度和準(zhǔn)確性。

同時(shí)也要明白,有時(shí)候?yàn)榱俗鰶Q策,可能會是其他替代的方案,而未必需要估算。也許任務(wù)A比起B(yǎng)要重要得多,以至于你都不需要一開始把你所有的空閑精力都放在B上。也許有辦法讓藍(lán)色團(tuán)隊(duì)和綠色團(tuán)隊(duì)合作,更快地創(chuàng)建出服務(wù)來。

類似地,跟蹤計(jì)劃也應(yīng)該由它如何影響決策來驅(qū)動。通常我的意見是,計(jì)劃扮演的是基線角色,幫助評估變化 —— 如果我們想要添加一個(gè)新的特性,我們應(yīng)該如何把它放進(jìn)既定的“五磅籃”里呢?估算可以幫我們理解這些取舍,并因此決定如何響應(yīng)變化。在更大范圍下,重新評估整個(gè)發(fā)布計(jì)劃,可以幫助我們理解整個(gè)項(xiàng)目是否仍然充分有效利用了我們的能力。幾年前,我們曾經(jīng)有一個(gè)規(guī)模達(dá)一年之久的項(xiàng)目,在重估時(shí)發(fā)現(xiàn)還要多花幾個(gè)月進(jìn)去,之后我們?nèi)∠诉@個(gè)項(xiàng)目。我們把這視作成功,因?yàn)橹匦鹿浪惆l(fā)現(xiàn),項(xiàng)目會比我們最初期望的會花費(fèi)更長時(shí)間 —— 早點(diǎn)取消可以讓客戶把資源轉(zhuǎn)移到更好的目標(biāo)上。

但跟蹤計(jì)劃的同時(shí),也要記住估算是有適用期限的。我曾經(jīng)記得有一位經(jīng)歷頗豐的項(xiàng)目經(jīng)理說過,計(jì)劃和估算就像是生菜,剛過幾天還很新鮮,過了一周有點(diǎn)枯萎了,幾個(gè)月后就完全看不出來是什么了。

許多團(tuán)隊(duì)發(fā)現(xiàn),估算提供了一種有用的機(jī)制,可以促使團(tuán)隊(duì)成員間彼此交流。估算會議可以幫助大家以不同的方式,對實(shí)現(xiàn)即將開始的故事、未來的架構(gòu)方向和代碼庫中的設(shè)計(jì)問題,有更好的理解。在這種情況下,任何輸出的估算數(shù)字可能都不重要。這樣的對話可能以很多方式發(fā)生,但如果這些對話沒有發(fā)生,就可以引入關(guān)于估算的討論。相反地,如果你考慮停止估算,你需要確保估算時(shí)會發(fā)生的任何有效的對話,在其他地方還能夠繼續(xù)進(jìn)行。

在任何敏捷相關(guān)的會議上,你都會聽到很多團(tuán)隊(duì)在談?wù)?,沒有估算他們也可以工作得很有效。通常這是因?yàn)?,他們以及他們的客戶明白做估算并不會影響重大的決定。舉個(gè)例子,一支小團(tuán)隊(duì)在和業(yè)務(wù)人員緊密協(xié)作。如果廣闊的商業(yè)前景很樂意分配一些人到那個(gè)業(yè)務(wù)單元,那么就可以按照優(yōu)先級開展工作;通常這得益于團(tuán)隊(duì)把工作拆分成足夠小的單元。團(tuán)隊(duì)在敏捷流暢度模型中的等級,在這里起到非常重要的作用。在團(tuán)隊(duì)前進(jìn)時(shí),他們首先會糾纏于估算本身,然后開始會做很好的估算,最后達(dá)到不再需要估算的境界。

估算本身并無好壞之分。如果你不用估算就可以有效地工作,那就這么干。如果你需要一些估算,那就要確認(rèn)你很清楚估算在決策時(shí)起到的作用。如果估算會影響到重大的決定,那就盡可能做出最好的估算。一定要小心那幫告訴你任何時(shí)候都要做估算,或者從來不需要估算的人。任何關(guān)于估算用法的爭論,都要遵從于敏捷的原則,即針對你特定的上下文,決定你該采用的什么樣的方法。

估算是否有價(jià)值?從它的目的開始說起

【關(guān)于本文】本文所有內(nèi)容來源于TW洞見,版權(quán)均屬ThoughtWorks公司所有(微信公眾號:ThoughtWorks),任何媒體、網(wǎng)站或個(gè)人未經(jīng)協(xié)議授權(quán)不得轉(zhuǎn)載、鏈接、轉(zhuǎn)貼或以其他方式復(fù)制發(fā)布/發(fā)表。

雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

估算是否有價(jià)值?從它的目的開始說起

分享:
相關(guān)文章

專欄作者

主要由ThoughtWorks軟件工程師、開發(fā)者們供稿分享。
當(dāng)月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個(gè)人簡介
為了您的賬戶安全,請驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說