敏捷開發(fā)的方法和原則

最近看《敏捷武士》一書,書中關(guān)于敏捷軟件開發(fā)的方法和原則不僅適用于軟件開發(fā),也適用于生活、工作、學(xué)習(xí)等各個(gè)方面。

為什么需要敏捷?

因?yàn)檫@世界變化太快,客戶的需求在發(fā)生飛速的變化,商業(yè)模式也從大魚吃小魚升級(jí)為快魚吃慢魚。以前開發(fā)一個(gè)軟件前客戶可能會(huì)給出10個(gè)主要需求,開發(fā)過(guò)程中這些需求都不會(huì)發(fā)生變更,軟件投入使用后的2-3年才會(huì)更加新的需求升級(jí)軟件。我們都熟悉的Windows操作系統(tǒng)就是這樣的開發(fā)模式。

互聯(lián)網(wǎng)應(yīng)用(APP)的興起改變了這種開發(fā)模式。消費(fèi)者希望需求一提出來(lái)就能像對(duì)阿拉丁神燈許愿一樣立刻被滿足,因此我們手機(jī)上APP幾乎每周都在升級(jí)更新。這種面向普通消費(fèi)者的應(yīng)用開發(fā)思維又轉(zhuǎn)過(guò)來(lái)影響了面向企業(yè)的,大型商業(yè)軟件開發(fā)模式。

最終,現(xiàn)在所有的應(yīng)用開發(fā)都要求以敏捷的模式盡快給出0.1版本,然后在此基礎(chǔ)上不斷進(jìn)行升級(jí)、迭代,不斷豐富和完善,最終形成高質(zhì)量的、有競(jìng)爭(zhēng)力的,不斷滿足最終用戶需求的產(chǎn)品。

敏捷的定義

敏捷:盡早地、持續(xù)地交付有價(jià)值的內(nèi)容。

敏捷的核心

實(shí)現(xiàn)敏捷方法的核心是根據(jù)最終目標(biāo)制定一個(gè)長(zhǎng)期的、可分解的、可分階段執(zhí)行的計(jì)劃。就好比我們想在半年內(nèi)減肥20斤,那最好制定一個(gè)最小以周為單位的半年計(jì)劃,定好每周的鍛煉量、希望減去的重量等。這樣就能在實(shí)現(xiàn)短期效果的基礎(chǔ)上,確保長(zhǎng)期目標(biāo)的實(shí)現(xiàn)。

敏捷的方法

1.將大任務(wù)分解為小任務(wù)。

任務(wù)分解是解決一切大問(wèn)題的基礎(chǔ)和秘訣,生活中隨處可見這樣的例子。學(xué)習(xí)學(xué)習(xí)就是最典型的例子。學(xué)校傳授知識(shí)有明確的學(xué)期目標(biāo)和學(xué)年目標(biāo),學(xué)生畢業(yè)時(shí)達(dá)到什么樣的水平,就是一個(gè)階段學(xué)習(xí)的最終目標(biāo)。

2.一個(gè)周期內(nèi)專注最重要的事。

在一個(gè)迭代周期內(nèi),比如一周,明確最重要的任務(wù)是什么,然后將所有的精力和資源都投入到重要任務(wù)的完成和實(shí)現(xiàn)上。也就是說(shuō)在單個(gè)周期內(nèi)一定要做減法,這樣才能集中精力把大事。

3.每個(gè)周期都交出可工作的代碼

這個(gè)方法的核心是要有一套完善的測(cè)試系統(tǒng)、流程和工具,寫出的代碼可以立刻、隨時(shí)進(jìn)行全面的測(cè)試,這樣才能確保交出的代碼是可工作的,可投入生產(chǎn)使用的。制定計(jì)劃的SMART原則也有同樣的道理。即我們制定的計(jì)劃要可衡量的,比如每周完成幾篇文章,每周通過(guò)何種考試,每周的平板支撐必須堅(jiān)持多少分鐘以上等。

4.隨時(shí)獲得用戶反饋

敏捷開發(fā)如同開車,需要及時(shí)同用戶交流溝通,獲取用戶的反饋,這樣才能及時(shí)調(diào)整方向或計(jì)劃,從而確保整個(gè)過(guò)程朝著正確的方向前進(jìn)。

5.允許變更計(jì)劃

有一句老話叫“計(jì)劃沒(méi)有變化快”,敏捷開發(fā)也好,工作任務(wù)也好,學(xué)習(xí)任務(wù)也罷,都會(huì)面臨因各種原因造成的計(jì)劃改變。這一條最重要的是有計(jì)劃發(fā)生改變的心理準(zhǔn)備,并為計(jì)劃改變留出一定的時(shí)間和資源。

敏捷的原則

1.需求是收集不完的

軟件開發(fā)前是不可能將所有的需求都收集完整,所以只要了解到最核心的需求,已經(jīng)相關(guān)資源大致就位后,就可以軟件的開發(fā)了。這樣做的目的是可以盡快開始應(yīng)用開發(fā)的過(guò)程。同樣道理,在日常其他工作中也不需要把所有的準(zhǔn)備工作都做好,做完善,再開始一個(gè)項(xiàng)目。信息時(shí)代需要的是集中精力,小步快跑,快速迭代,快速升級(jí)。

2.所有的需求最后都是會(huì)發(fā)生變化的

這個(gè)原則在任何時(shí)代都使用,只是在信息時(shí)代能把這個(gè)變化看得更加的清晰。

3.總會(huì)有任務(wù)超時(shí)或超預(yù)算

這也是讓我們面對(duì)變化有足夠的心理準(zhǔn)備,正如西游記里悟空最后說(shuō),世界本來(lái)就是不完美的,所以也沒(méi)有所謂完美之事。不完美就是完美。

個(gè)人總結(jié):

敏捷只不過(guò)是字面上的意思而已,真正重要的是采用正確的方法,朝著正確的目標(biāo)持續(xù)地前進(jìn)。敏捷方法是時(shí)代發(fā)展變快的產(chǎn)物,它和寧?kù)o致遠(yuǎn)并無(wú)相悖之處。找準(zhǔn)備方向,以平和的心態(tài),采用敏捷的方法論可以幫助我們走得更好和更遠(yuǎ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)容