有個(gè)非常有意思的游戲能夠幫助大家理解敏捷和傳統(tǒng)開發(fā)的差異。游戲有兩個(gè)角色,,一個(gè)是“老板”,,另一個(gè)是“員工”,在 2 分鐘內(nèi),,“員工”需要在“老板”的完全指揮下,,即“向前一步,向后一步,,停,,向左一步,向右一步”,,完成 60 步移動(dòng)的任務(wù),。“員工”需要執(zhí)行“老板”的每一個(gè)指令,,不允許做出相違背的動(dòng)作,。“老板”則不參與行動(dòng),,只發(fā)出指令指揮“員工”的活動(dòng),。我們體驗(yàn)這個(gè)游戲 時(shí),,當(dāng)場(chǎng) 60% 的參與者成功完成了任務(wù),大致估計(jì)出我們的工作效率是 50%*60%=30%,。游戲后,,參與者被問及對(duì)這種行為方式的感受時(shí),無論是“員工”還是“老板”都表示非常不滿,。 接著,,大家又做了另一組游戲。2 分鐘內(nèi)參與者被要求獨(dú)立的,、自主的完成 60 步移動(dòng)任務(wù),,在這次游戲里,所有參與者任務(wù)相同,,大家可以自行決定,、并依據(jù)自己的判斷隨時(shí)調(diào)整其步伐方向,快慢,。最后,,我們發(fā)現(xiàn)所有參與者不但毫無折扣的 按時(shí)完成了任務(wù),因而工作效率也達(dá)到 100%*100%=100%,,而且所有人對(duì)于這種新的工作方式更是產(chǎn)生了極大的興趣,。 以上兩個(gè)游戲方式的對(duì)比就折射出傳統(tǒng)開發(fā)(前者)與敏捷開發(fā)、測(cè)試活動(dòng)方式的對(duì)比,,其中優(yōu)劣不言而喻,。 而敏捷開發(fā)、敏捷測(cè)試又是怎樣一個(gè)概念呢,?他們是否能夠幫助我們的團(tuán)隊(duì)突破束縛,,在日益激烈的競(jìng)爭(zhēng)環(huán)境里表現(xiàn)得更為出色呢 ? 請(qǐng)參考我的這個(gè)系列文章——“敏捷測(cè)試的最佳實(shí)踐”。 首先我們解釋一下什么是敏捷,,在字典中我們得到解釋,,敏捷,即反應(yīng)迅速,、可以快速變化,。如今敏捷開發(fā)已成為眾所周知的時(shí)髦 IT 詞匯,在這個(gè)領(lǐng)域里敏捷又被詮釋為迭代的,,快速應(yīng)對(duì)需求變化,,輕量級(jí),并且簡(jiǎn)潔,。 圖 1. 面對(duì)客戶業(yè)務(wù)復(fù)雜度問題提出敏捷解決方案 IBM 重視敏捷開發(fā),,敏捷的軟件開發(fā)策略之也被廣泛推廣開來。中國(guó)軟件開發(fā)中心是 IBM 軟件部部署敏捷開發(fā)方法的重點(diǎn)實(shí)驗(yàn)室之一。我們也是 IBM 中國(guó)軟件開發(fā)中心最早使用敏捷方法的開發(fā),、測(cè)試的團(tuán)隊(duì)之一,。這篇文章主旨為幫助那些愿意采用敏捷,和正在采用敏捷開發(fā),、測(cè)試的團(tuán)隊(duì)正確了解敏捷的實(shí)質(zhì),。 筆者做敏捷項(xiàng)目已經(jīng)近兩年時(shí)間,對(duì)于敏捷的理解,,認(rèn)為最為關(guān)鍵的是需要注意兩個(gè)方面,,它們是“高度迭代”和“持續(xù)不斷的客戶反饋”。
敏捷開發(fā)自 2001 年《敏捷宣言》(“ AGILE MANIFESTO ”) 1 的創(chuàng)生,經(jīng)過多年的打磨和退火已經(jīng)成為今天非常流行和有過許多成功案例的開發(fā)模式,。正如前人所說,,傳統(tǒng)的東西就 是用來打破的,傳統(tǒng)的瀑布式開發(fā)模式必然逐漸退出歷史舞臺(tái),,敏捷開發(fā),、敏捷測(cè)試是在新環(huán)境里產(chǎn)生出來的打破傳統(tǒng)的新開發(fā)模式。而敏捷也將會(huì)在將來,,甚至現(xiàn) 在轉(zhuǎn)化成更適合現(xiàn)代化軟件開發(fā),、測(cè)試團(tuán)隊(duì)的方法和實(shí)踐。在本文的第一部分,,我們以兩個(gè)游戲類比了敏捷和傳統(tǒng)開發(fā)的差異,,這里為了進(jìn)一步幫助大家對(duì)敏捷的價(jià) 值有更清晰的理解,我們借鑒前人的研究結(jié)果: 圖 2. 敏捷與傳統(tǒng)開發(fā)的比較 首先敏捷開發(fā)過程比傳統(tǒng)開發(fā)要為項(xiàng)目和產(chǎn)品帶來更低的風(fēng)險(xiǎn)(RISK),。為什么呢,?傳統(tǒng)開發(fā)缺乏持續(xù)的客戶反饋 , 產(chǎn)品一旦從需求階段退出,整個(gè)開發(fā)團(tuán)隊(duì)近似封閉工作,,團(tuán)隊(duì)雖努力去實(shí)現(xiàn)曾經(jīng)認(rèn)定的目標(biāo),,但因月有陰晴圓缺,市場(chǎng)需求也瞬息萬變(例如提出需求的客戶已經(jīng)退 休),。這使得產(chǎn)品在數(shù)月后,,數(shù)年后發(fā)布時(shí)已經(jīng)失去了占領(lǐng)甚至進(jìn)入市場(chǎng)的最佳契機(jī)。 而如果你還在考慮使用傳統(tǒng)開發(fā)模式用現(xiàn)在乃至將來一,、兩年的時(shí)間來開發(fā)一個(gè)結(jié)構(gòu)復(fù)雜,,精益求精而又功能龐大的產(chǎn)品,那么你得好好做好失敗的準(zhǔn)備了,。而正是因?yàn)槌鲇趯?duì)這種風(fēng)險(xiǎn)的考慮,,越來越多的人認(rèn)識(shí)到敏捷開發(fā)要比傳統(tǒng)開發(fā)能夠?yàn)槠髽I(yè)帶來更大的利潤(rùn)空間和更低的投資風(fēng)險(xiǎn)。 其次,,利益干系人(Stakeholder)的頻繁參,,與使得團(tuán)隊(duì)在產(chǎn)品開發(fā)的各個(gè)環(huán)節(jié)遇到的種種問題得到了及時(shí)的解決。因此,,我們認(rèn)為敏捷開發(fā)擁著比傳統(tǒng)開發(fā)更大的透明度(VISIBILITY),。作為老板,項(xiàng)目的負(fù)責(zé)人一定對(duì)這樣的開發(fā)模式帶來的可控性充滿了向往,。 團(tuán)隊(duì)或者產(chǎn)品的適應(yīng)能力(ADAPTABILITY)也決定著其生命力,,因?yàn)槊艚蓍_發(fā)模式鼓勵(lì)團(tuán)隊(duì)采納新技術(shù),歡迎變化,, 并能夠快速應(yīng)對(duì)之,,使得產(chǎn)品和團(tuán)隊(duì)自身都有很強(qiáng)的適應(yīng)力和生命力,。而在傳統(tǒng)模式里,當(dāng)需求變更時(shí),,復(fù)雜的變更管理流程要求通過正式討論,、審批,也備以足夠 的文檔和說明來支持每次“決策”,。這不但帶來了人力,,物力的浪費(fèi),更重要的是它嚴(yán)重延長(zhǎng)了企業(yè)投資到利益回報(bào)的周期,。而只有擁有反應(yīng)迅速的敏捷開發(fā)才能夠 幫助企業(yè)贏取市場(chǎng),,降低風(fēng)險(xiǎn)。 以上我們談及了敏捷開發(fā)擁有的比傳統(tǒng)開發(fā)能為企業(yè)帶來更大的商業(yè)價(jià)值和提供企業(yè)更大的發(fā)展空間,。而對(duì)于個(gè)人而言,,筆者認(rèn)為敏捷開發(fā)也提供給了個(gè)人更多的發(fā)展機(jī)會(huì)和提出了更高的要求。以下是筆者從個(gè)人角度做出的分析,。 敏捷項(xiàng)目首先擁有一支支小規(guī)模但職能全面的團(tuán)隊(duì),,在這樣一個(gè)普通的敏捷團(tuán)隊(duì)里,擁有具備不同職能的 7 名成員,,1 名 UCD(User Centered Designer),,1 名 Visual Designer,,1 名測(cè)試人員(Tester),, 1 名 Information Developer 和 3 名開發(fā)人員(Developer)。因此,,每一支敏捷團(tuán)隊(duì)中的設(shè)計(jì),、開發(fā)、測(cè)試,、美工,、文檔等等工作分屬給了這個(gè)團(tuán)隊(duì)里不同的,唯一的人,。每個(gè)人在團(tuán)隊(duì)里 因而必須具有對(duì)其所涉及領(lǐng)域強(qiáng)的責(zé)任心和領(lǐng)導(dǎo)力,。就測(cè)試而言,測(cè)試人員就是好比一輛跑車?yán)锏奈ㄒ坏鸟{駛員,,項(xiàng)目就好比這輛跑車,,測(cè)試人員需要及時(shí)修正行駛 方向的偏差,確保這輛車在正確的道路上穩(wěn)步前行,。如果,,測(cè)試人員沒有具備足夠的責(zé)任心和領(lǐng)導(dǎo)力,只是人云亦云,,恐怕這種測(cè)試要與不要沒什么分別,,敏捷項(xiàng)目 的質(zhì)量也更讓人擔(dān)憂,而敏捷也就失去了原有的意義。因此,,作為唯一的測(cè)試人員,,他(她)將擁有對(duì)測(cè)試的所有權(quán),計(jì)劃,、設(shè)計(jì)并且執(zhí)行所有的測(cè)試工作,。而也因 為擁有了更多的主人翁精神,積極的工作熱情,,測(cè)試人員勇敢的面對(duì)工作中的各種挑戰(zhàn),,學(xué)習(xí)新的知識(shí)和努力培養(yǎng)自己的工作技能。敏捷無疑對(duì)個(gè)人發(fā)展產(chǎn)生了很大 的推動(dòng)作用,。 敏捷團(tuán)隊(duì)中的每個(gè)人,,需定時(shí)和團(tuán)隊(duì)的其他成員坐下來看看團(tuán)隊(duì)的整體進(jìn)度,計(jì)劃下一步工作,,并一起探討所遭遇問題的解決方 案,。也需適時(shí)的尋求團(tuán)隊(duì)中其他成員的幫助解決時(shí)下緊要的問題。通過頻繁的合作與溝通,,個(gè)人的協(xié)作能力,、溝通能力也得到了較大的提高。下面我們具體就這兩個(gè) 方面進(jìn)一步談?wù)劽艚蓍_發(fā)是如何幫助提高個(gè)人的協(xié)作能力和溝通能力的,。 敏捷開發(fā)培養(yǎng)了個(gè)人的協(xié)作能力 與傳統(tǒng)開發(fā)不同,,敏捷開發(fā)更加側(cè)重以人為本,發(fā)揮人的積極性,,以此提高團(tuán)隊(duì)的工作效率,。真正實(shí)現(xiàn)以結(jié)果為導(dǎo)向的職場(chǎng)守則。 作為團(tuán)隊(duì)的一份子,,無論是測(cè)試,、開發(fā)人員,還是設(shè)計(jì)人員,,他們都將為團(tuán)隊(duì)成敗擔(dān)當(dāng)不可或缺的責(zé)任,。團(tuán)隊(duì)是高度協(xié)作的團(tuán)隊(duì),個(gè)人除了做好本職工作外,,敏捷開 發(fā)模式要求個(gè)人能夠了解和爭(zhēng)取更多的擴(kuò)展性的工作,,也能幫助團(tuán)隊(duì)其他成員解決他們的遇到的各種獨(dú)特問題,以加快實(shí)現(xiàn)團(tuán)隊(duì)的統(tǒng)一目標(biāo),,即在更少的時(shí)間里生產(chǎn) 出能夠推向市場(chǎng)的可靠產(chǎn)品,。 這里再次提及高度協(xié)作,筆者認(rèn)為高度的團(tuán)隊(duì)協(xié)作主要表現(xiàn)為以下特點(diǎn):
我們把團(tuán)隊(duì)看做一個(gè)高度協(xié)作整體的同時(shí),不可忽視的是團(tuán)隊(duì)內(nèi)部仍存在的各種矛盾,,對(duì)這些問題的聽之任之將破壞團(tuán)隊(duì)的凝聚 力,、生產(chǎn)力。這中間反映出來的很多問題不是敏捷方式獨(dú)有,,但團(tuán)隊(duì)成員因?yàn)槊艚?,學(xué)會(huì)了自己解決各種問題。而相應(yīng)的溝通能力也隨著問題的解決得到很大幅度的 提高,。 在過去的項(xiàng)目經(jīng)驗(yàn)中,,我們不難發(fā)現(xiàn)種種人與人之間矛盾的產(chǎn)生。而經(jīng)典的矛盾論也讓我們不得不的接受,,矛盾是永遠(yuǎn)存在的,,但 這并沒有什么可怕,。而是一旦我們發(fā)現(xiàn)了矛盾的存在,,就要迅速找到解決辦法,這也是團(tuán)隊(duì)的相當(dāng)重要的工作,。尤其是在團(tuán)隊(duì)組建初期,,團(tuán)隊(duì)開始采納新開發(fā)模式 時(shí),鍛煉團(tuán)隊(duì)解決如下矛盾的工作非常重要:
正如前面所論述,,矛盾總是有能夠解決的途徑,,敏捷項(xiàng)目的組織中用管理方式去干預(yù)是一種直接、快速的方式,,而今天敏捷方法論 者們更加推崇的是鼓勵(lì)團(tuán)隊(duì)內(nèi)部進(jìn)行很好的交流和溝通后自行解決,。也正是通過不斷加強(qiáng)團(tuán)隊(duì)間和團(tuán)隊(duì)內(nèi)部的相互理解,不但矛盾得到很好的解決(解鈴還須系鈴人 嘛),,個(gè)人的交流和溝通技能也得到了進(jìn)一步提高,。 敏捷開發(fā)培養(yǎng)了個(gè)人的創(chuàng)新意識(shí) 創(chuàng)新能夠?yàn)槠髽I(yè)帶來新發(fā)展契機(jī),創(chuàng)造新價(jià)值,,因此,,創(chuàng)新對(duì)于企業(yè)還是個(gè)人而言都非常之重要。不斷培養(yǎng)員工的創(chuàng)新能力,、鼓勵(lì) 創(chuàng)新活動(dòng)也是幾乎所有企業(yè)的人才培養(yǎng)戰(zhàn)略之一,。而敏捷開發(fā)恰恰就是要打破傳統(tǒng)的模式,形成全新的敏捷開發(fā),、敏捷測(cè)試方法,、實(shí)踐和過程,并鼓勵(lì)團(tuán)隊(duì)采用新技 術(shù)和技術(shù)創(chuàng)新,。因此,,團(tuán)隊(duì)的每個(gè)人需要能夠創(chuàng)造性的工作,并樂于接受新事物,,通過不斷的改進(jìn),、突破過時(shí)的做法,努力提高團(tuán)隊(duì)的工作效率,,來適應(yīng)產(chǎn)品的增量 發(fā)展需要,。 而也因?yàn)槊艚蓍_發(fā)模式對(duì)于很多團(tuán)隊(duì)仍很陌生,在運(yùn)用敏捷開發(fā)的過程中我們會(huì)遭遇許多新挑戰(zhàn),、新困難,。如何處理這些問題,解決方案本身就是無以借鑒的,,自主創(chuàng)新才是唯一出路,。 舉個(gè)例子,,敏捷項(xiàng)目初期,產(chǎn)品停留在原型論證和底層架構(gòu)初步設(shè)計(jì)中,,產(chǎn)品功能不多,,復(fù)雜度較小,一般的手動(dòng)測(cè)試就可以將質(zhì) 量保障做好,。產(chǎn)品的中后期,,因不斷有新需求、新功能的加入,,產(chǎn)品復(fù)雜度增大,。團(tuán)隊(duì)倘若仍僅憑固有的手動(dòng)測(cè)試方式來覆蓋產(chǎn)品的各個(gè)功能、非功能點(diǎn)需求只恐怕 是力不從心了,。因此,,考慮用自動(dòng)化測(cè)試來提高團(tuán)隊(duì)工作效率是可取的方法之一。但是,,當(dāng)產(chǎn)品發(fā)展到中后期,,也沒有富余的資源可以被抽取出來做自動(dòng)化測(cè)試了。 即使現(xiàn)招聘新人,,也因?yàn)樾氯藢?duì)產(chǎn)品不了解,,只怕自動(dòng)化測(cè)試的效果也未如人愿。那我們是否應(yīng)該在開發(fā)活動(dòng)的初期就嘗試自動(dòng)化測(cè)試的設(shè)計(jì),、并自動(dòng)化一部分功能 測(cè)試呢,?也未然,因?yàn)樵诋a(chǎn)品開發(fā)初期,,產(chǎn)品的功能和界面的變動(dòng)會(huì)比較大,,自動(dòng)化測(cè)試收入產(chǎn)出比異常低。因此,,何時(shí),、何地、如何設(shè)計(jì),、運(yùn)用自動(dòng)化測(cè)試來幫助 降低人力成本,,提高測(cè)試效率是需要我們大膽創(chuàng)新的。 以上我們通過商業(yè),、個(gè)人發(fā)展兩個(gè)方面講述了敏捷開發(fā)的價(jià)值和意義。那什么才是敏捷開發(fā)呢,?在業(yè)界又有那些方法是敏捷開發(fā)的具體實(shí)現(xiàn)呢,?各種方法有什么共同點(diǎn)嗎?通過下文對(duì)各類敏捷方法的共性分析,,我們也將進(jìn)一步了解敏捷的實(shí)質(zhì),。 業(yè)界流行的敏捷開發(fā)的方法有許多(要了解各類敏捷方法和分類請(qǐng)參閱本文參考資料中文獻(xiàn)),,我們需要根據(jù)項(xiàng)目大小,性質(zhì)來選 擇合適自己的敏捷方法,。比如說 XP(極限編程,,eXtreme Programming)更加適合小型項(xiàng)目 3-5 人的團(tuán)隊(duì)。Scrum,,DSDM (Dynamic Systems Development Methodology) 等更加適合大型團(tuán)隊(duì)的項(xiàng)目開發(fā),。而敏捷開發(fā)也不是一成不變放之四海皆準(zhǔn)的準(zhǔn)則,而是一個(gè)方法的最佳實(shí)踐,。各個(gè)團(tuán)體和企業(yè)也不斷定制著自己的最佳游戲規(guī)則,。 VersionOne 的敏捷開發(fā)的調(diào)研報(bào)告中很好的對(duì)比了各個(gè)方法被業(yè)界采納的比例(見下 圖 3)。這個(gè)圖表就是 2007 年對(duì)來自 71 個(gè)國(guó)家 1700 多人的調(diào)查結(jié)果的說明,。 圖 3. 流行的敏捷方法 除了圖例中的方法外還有 Crystal, Lean Software Development, Feature Driven Development, Xbreed, RUP 等等,。 雖然各種敏捷方法的名稱、所需環(huán)境,、適合的團(tuán)隊(duì)有很大差異,,但是他們擁有相似、相同的以下幾大特點(diǎn):
無論是多么明智,,多么正確的決定,,也有可能在日后發(fā)生改變。因此,,團(tuán)隊(duì)要能夠充分理解我們的利益干系人 (Stakeholder)和客戶代表為什么經(jīng)常提出新的需求和設(shè)計(jì)要求,,一句話,就是心中有數(shù)“唯一不變的是變化”,。團(tuán)隊(duì)更要信任 利益干系人(Stakeholder)做出的每次決定和需求的調(diào)整都是將產(chǎn)品開發(fā)推向更正確的發(fā)展方向,,新變化將進(jìn)一步降低風(fēng)險(xiǎn),實(shí)現(xiàn)團(tuán)隊(duì)最大化利益,,理 解這是適應(yīng)市場(chǎng)變化的必然行為,。 而在接受變化的同時(shí),我們應(yīng)該積極的向 利益干系人(Stakeholder)和客戶代表反映實(shí)現(xiàn)活動(dòng)中暴露出來的可能的設(shè)計(jì)缺陷和錯(cuò)誤,。在實(shí)際工作中,,團(tuán)隊(duì)成員應(yīng)該用優(yōu)先級(jí)制度來劃分事情和目 標(biāo)先后順序,在迭代周期內(nèi)對(duì)于還沒有最終決定的設(shè)計(jì)方案可以予以后來實(shí)現(xiàn),、測(cè)試,,不用急于投入資源展開全面的開發(fā)、測(cè)試活動(dòng),。這樣一來,,開發(fā)測(cè)試團(tuán)隊(duì)也會(huì) 人員也將更加適應(yīng),真正擁抱變化,。
首先誰是客戶(Customer),,客戶代表(Customer Representative) 呢,?利益干系人(Stakeholder),或者我們可以理解為我們的客戶(Customer),,產(chǎn)品的最終使用者(End user),,內(nèi)部使用者(Insider),商業(yè)伙伴(Business Partner),。利益干系人(Stakeholder)作為團(tuán)隊(duì)中最了解業(yè)務(wù)(Business)的人物將幫助開發(fā)團(tuán)隊(duì)的快速達(dá)到目標(biāo)和做出適時(shí)決策,。 開發(fā)團(tuán)隊(duì)擁有很好的技術(shù)但在業(yè)務(wù)(Business)方面他們需要 利益干系人(Stakeholder)的幫助。而通常在敏捷的開發(fā)項(xiàng)目中,,團(tuán)隊(duì)中的任何一個(gè)人若需要幫助時(shí),,只要簡(jiǎn)單的邀請(qǐng)大家參加一個(gè) 15 分鐘會(huì)議,或一封郵件,、一個(gè)電話便可以解決,。 但是,如果利益干系人(Stakeholder)各執(zhí)一詞怎么辦呢,?為解決這個(gè)問題,,將 Product Owner 引入到討論中來,作為 Product Owner 他可以作為是 利益干系人(Stakeholder)的代表,,能夠在分歧中做最后抉擇,。因此,通過這樣的客戶代表的參與,,團(tuán)隊(duì)更好的了解了所做事情的價(jià)值和意義,,其工作 效率也因而得到很大提高。 利益干系人(Stakeholder)能夠幫助團(tuán)隊(duì)中的每一個(gè)人更好,,更快的完成了工作,,他們的直接參與成為了敏捷開發(fā)、敏捷測(cè)試的重要前提,。
敏捷開發(fā)更重視生產(chǎn)出可用的產(chǎn)品而不是詳細(xì)文檔,。而時(shí)常有發(fā)覺文檔又是無論敏捷還是傳統(tǒng)開發(fā)、測(cè)試不可或缺的一部分,。筆者認(rèn)為,,傳統(tǒng)開發(fā)的文檔在敏捷開發(fā)里仍有大用,只是原來十來頁的內(nèi)容精煉到現(xiàn)在的一頁半頁,。 敏捷主義者相信文檔不是最佳的溝通方式,,他們鼓勵(lì)通暢的交流和溝通,要求避免和減少陳詞濫調(diào)和空頭支票,。尤其是復(fù)雜的文檔 說明只是增加了溝通成本,,因而敏捷開發(fā)、測(cè)試的文檔不需要長(zhǎng)篇累讀,,需要的是簡(jiǎn)潔,,清晰。任何一段清楚的文字,,甚至一張圖片,,照片,一封記錄著會(huì)議記錄的 郵件都是我們認(rèn)可的敏捷文檔,。因?yàn)槭菬o論是通過文字板書的文件還是其他的溝通方式和載體都是為了幫助團(tuán)隊(duì)進(jìn)行更高效的交流和溝通,。只有團(tuán)隊(duì)保持著溝通上、 理解上的一致后才能夠充分發(fā)揮出團(tuán)隊(duì)最佳戰(zhàn)斗力,。但凡這是幫助團(tuán)隊(duì)有效溝通的方式,,敏捷開發(fā)是不會(huì)放棄的。
敏捷開發(fā)模式要最大化的提高團(tuán)隊(duì)的工作效率,。無論是依靠剪除冗余的文檔工作,,還是提供民主的、通暢的溝通平臺(tái)都是為了幫助 團(tuán)隊(duì)能夠集中有限的精力處理有意義的問題,。據(jù)調(diào)查,,通常人會(huì)在兩個(gè)、多個(gè)任務(wù)并行的情況下產(chǎn)生出出最高工作效率,。而敏捷也恰恰使用了各種方法得到團(tuán)隊(duì)的最 大生產(chǎn)力,。 敏捷開發(fā)的 Scrum 模式,要求在計(jì)劃階段,,團(tuán)隊(duì)成員主動(dòng)定制迭代周期的所有工作任務(wù),,因此,本身從團(tuán)隊(duì)開始迭代活動(dòng)的那時(shí)起,,已經(jīng)在在多重工作的壓力下緊張工作了,。而在日常 的迭代生產(chǎn)活動(dòng)里,各個(gè)成員需要當(dāng)眾簡(jiǎn)單匯報(bào)當(dāng)天的工作進(jìn)度和承諾下一個(gè) 24 小時(shí)的工作計(jì)劃,。因此,,通過增加敏捷人員的工作的透明度,無形之中,,團(tuán)隊(duì)成員的生產(chǎn)力進(jìn)一步得到提高,。
測(cè)試驅(qū)動(dòng)開發(fā),是讓開發(fā)人員在編寫功能代碼之前,,根據(jù)對(duì)需求的理解先設(shè)計(jì)和編寫單元測(cè)試代碼,。先思考如何對(duì)將要實(shí)現(xiàn)的功能進(jìn)行驗(yàn)證,再考慮功能的實(shí)現(xiàn),。然后迭代的增加新功能的單元測(cè)試和功能代碼編寫,,直到完成全部功能的開發(fā)。
將團(tuán)隊(duì)成員從冗余的勞動(dòng)中解放出來,無論是自動(dòng)化的測(cè)試還是自動(dòng)化工具的開發(fā)只要能夠節(jié)約成本都是敏捷開發(fā),、敏捷測(cè)試的目標(biāo),。
敏捷團(tuán)隊(duì)是一支民主的團(tuán)隊(duì),團(tuán)隊(duì)關(guān)系是平行的,,每個(gè)團(tuán)隊(duì)成員能夠平等的參與討論,,決策。傳統(tǒng)開發(fā)的垂直的官僚機(jī)構(gòu)在敏捷開發(fā)中已是過時(shí)的,。
敏捷團(tuán)隊(duì)的決定權(quán)交有團(tuán)隊(duì)自己,,決定是團(tuán)隊(duì)統(tǒng)一制定。無論是產(chǎn)品設(shè)計(jì)方案還是產(chǎn)品的功能實(shí)現(xiàn)都是的最佳結(jié)果,。團(tuán)隊(duì)脫離了任 何一個(gè)成員的工作都是不完整的,,所以我們應(yīng)當(dāng)足夠尊重其他成員的勞動(dòng)果實(shí)和表達(dá)對(duì)其他成員的充分信任。尊重團(tuán)隊(duì),,尊重團(tuán)隊(duì)中的每一個(gè)成員都是敏捷開發(fā)的原 則之一,。 你敏捷了嗎,?經(jīng)過上面的學(xué)習(xí),我們應(yīng)該已經(jīng)了解了敏捷的實(shí)質(zhì),,并且筆者認(rèn)為如果您的團(tuán)隊(duì)已經(jīng)表現(xiàn)出上述的特點(diǎn),,那么您的團(tuán) 隊(duì)已經(jīng)敏捷了。但是,,往往很難做到如此理想的敏捷,。而同時(shí),我們需指出敏捷與否也并非我們的最終目標(biāo),,我們的目標(biāo)是能夠通過學(xué)習(xí)敏捷的方法和最佳實(shí)踐來開 發(fā)可以適用于自身特點(diǎn)的方法和過程,,幫助項(xiàng)目靈敏的適應(yīng)市場(chǎng)變化,讓我們變得敏捷起來,。 因此,,我們依然希望進(jìn)一步幫助大家了解如何變得敏捷,而首先,,還是讓我們學(xué)習(xí)大師留給我們的一套基本準(zhǔn)則幫助我們判斷項(xiàng)目開發(fā)敏捷與否吧,。通過按照此標(biāo)準(zhǔn)的衡量,我們將容易得出項(xiàng)目是否敏捷的結(jié)論,,也能夠因地制宜的找到問題所在,,最終實(shí)現(xiàn)敏捷。 Scott W. Ambler 在其文章 How Agile Are You,? 中指出了以下七條原則幫助大家來判斷什么項(xiàng)目是敏捷的項(xiàng)目,。
|
|