敏捷,我的故事

一個(gè)流行的概念,往往大部分人都不懂

對(duì)于敏捷的定義,維基百科上如下說(shuō)也:

敏捷軟件開發(fā)(英語(yǔ):Agile software development),又稱敏捷開發(fā),是一種從1990年代開始逐漸引起廣泛關(guān)注的一些新型軟件開發(fā)方法,是一種應(yīng)對(duì)快速變化的需求的一種軟件開發(fā)能力。它們的具體名稱、理念、過(guò)程、術(shù)語(yǔ)都不盡相同,相對(duì)于“非敏捷”,更強(qiáng)調(diào)程序員團(tuán)隊(duì)與業(yè)務(wù)專家之間的緊密協(xié)作、面對(duì)面的溝通(認(rèn)為比書面的文檔更有效)、頻繁交付新的軟件版本、緊湊而自我組織型的團(tuán)隊(duì)、能夠很好地適應(yīng)需求變化的代碼編寫和團(tuán)隊(duì)組織方法,也更注重軟件開發(fā)過(guò)程中人的作用。


敏捷宣言如下:

個(gè)體和互動(dòng)高于 流程和工具

工作的軟件高于 詳盡的文檔

客戶合作高于 合同談判

響應(yīng)變化高于 遵循計(jì)劃

上面的定義和宣言,相比傳統(tǒng)的瀑布,核心思想是響應(yīng)變化、小步構(gòu)建、不斷驗(yàn)證以快速尋求反饋,做出高價(jià)值產(chǎn)物。一切都是為了提高軟件的可視性,從而讓客戶能更早的審視產(chǎn)品價(jià)值,從而快速調(diào)整,所以我覺(jué)得尋求反饋是敏捷的核心思想。

我的敏捷之路

在沒(méi)有加入ThoughtWorks之前,我大概聽到過(guò)敏捷,但是當(dāng)時(shí)覺(jué)的Pair很邪乎,老板怎么能讓兩個(gè)人干一份活呢。4年前,有幸加入ThoughtWorks,開始了對(duì)于敏捷的“守、破、離”。

剛加入公司,我還是一個(gè)開發(fā),在北京的一個(gè)項(xiàng)目上,和團(tuán)隊(duì)一起Iteration Plan Meeting、站會(huì)、Kick Off、Pair編碼、Sign Off、Showcase、Retrospective。

給我最深震撼的是Retrospective和Pair。在Retrospective過(guò)程中,團(tuán)隊(duì)的所有人一起說(shuō)團(tuán)隊(duì)哪些做的好,哪些做的不好,哪些可以改善。對(duì)于做的不好的和待改善的點(diǎn),通過(guò)大家一起討論從而產(chǎn)出若干Action,以便讓項(xiàng)目的各個(gè)方面都朝好的方面發(fā)展。

在Pair過(guò)程中,兩人一起澄清問(wèn)題、思考解決方案、編碼,整個(gè)過(guò)程思維高度集中,且“三個(gè)豬皮將頂一個(gè)諸葛亮”,往往思路更廣,寫出來(lái)的代碼精致且bug少。

這個(gè)階段,我就是不斷的熟悉敏捷各種活動(dòng)的套路,一招一式,此謂守。

在熟悉了各種敏捷活動(dòng)之后,就開始思考這些活動(dòng)到底為什么會(huì)給項(xiàng)目、團(tuán)隊(duì)帶來(lái)好處,以及在具體實(shí)施的時(shí)候,有沒(méi)有可以改善的點(diǎn)。

比如Sign Off應(yīng)該由誰(shuí)drive,之前團(tuán)隊(duì)是由QA,是不是讓開發(fā)drive更合適,能讓開發(fā)有更好的責(zé)任心呢?Retrospective是一定每個(gè)迭代完成才需要,是不是團(tuán)隊(duì)覺(jué)得有問(wèn)題的時(shí)候,就可以來(lái)一場(chǎng)呢?不是每個(gè)Story都要Pair,簡(jiǎn)單的Story是不是可以不用呢?Code Review的標(biāo)準(zhǔn)和目的到底是什么?應(yīng)該不止檢查語(yǔ)法、邏輯錯(cuò)誤,更多的是交流設(shè)計(jì)和想法。估點(diǎn)為什么花那么長(zhǎng)時(shí)間,結(jié)果估的還不準(zhǔn)確?

除過(guò)反思每一個(gè)活動(dòng),有考慮他們背后到底是為了干什么?IPM,Kick Off都是為了讓團(tuán)隊(duì)正確的理解業(yè)務(wù),Sign Off,Showcase是為了讓團(tuán)隊(duì)對(duì)產(chǎn)出的結(jié)果進(jìn)行對(duì)齊,確保做的東西是正確的,客戶想要的。Pair是為了保證質(zhì)量,同時(shí)共享知識(shí)。

這些活動(dòng)背后的理念,了解到敏捷并不確保快速產(chǎn)出,敏捷用這么多實(shí)踐來(lái)確保工作方向的正確性和質(zhì)量。

敏捷,以核心的理念為支柱,若干原則為指導(dǎo),并用敏捷活動(dòng)來(lái)實(shí)現(xiàn),以期用正確的方式,做正確的事。

敏捷也是為了做出更好的產(chǎn)出為目標(biāo)的,如果做的事情,需求變動(dòng)不多,需要自上而下的方式,則也不要迷信敏捷。比如:火箭驅(qū)動(dòng)系統(tǒng)用瀑布開發(fā)更加適合。

對(duì)于具體項(xiàng)目,用敏捷還是瀑布?若用敏捷的話,具體用哪些敏捷活動(dòng),具體怎么用?不要所有的活動(dòng)都生搬硬套,要針對(duì)項(xiàng)目具體情況,人員情況,具體定制。還是那句老話,具體問(wèn)題具體分析。

敏捷,就是擁抱變化,快速迭代,尋求反饋,且過(guò)程中不斷持續(xù)改進(jìn)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容