免费高清特黄a大片,九一h片在线免费看,a免费国产一级特黄aa大,国产精品国产主播在线观看,成人精品一区久久久久,一级特黄aa大片,俄罗斯无遮挡一级毛片

分享

敏捷測(cè)試的最佳實(shí)踐,第 1 部分: 敏捷的實(shí)質(zhì)

 除了無(wú)語(yǔ)還是無(wú)語(yǔ) 2011-04-14

敏捷開(kāi)發(fā)空間是 IBM developerWorks 為敏捷方法相關(guān)資源準(zhǔn)備的資源中心。在這一敏捷開(kāi)發(fā)空間里,我們將討論與敏捷開(kāi)發(fā)、敏捷測(cè)試、敏捷配置管理、敏捷項(xiàng)目管理等等,與當(dāng)下流行的敏捷浪潮相關(guān) 的敏捷技術(shù)領(lǐng)域。同時(shí),我們還會(huì)介紹 IBM 在敏捷方面所進(jìn)行的最佳實(shí)踐,以及 IBM 為敏捷開(kāi)發(fā)所提供的解決方案和產(chǎn)品等技術(shù)信息。

歡迎您隨時(shí)訪問(wèn) 敏捷開(kāi)發(fā)空間,獲取更多信息。

有個(gè)非常有意思的游戲能夠幫助大家理解敏捷和傳統(tǒng)開(kāi)發(fā)的差異。游戲有兩個(gè)角色,一個(gè)是“老板”,另一個(gè)是“員工”,在 2 分鐘內(nèi),“員工”需要在“老板”的完全指揮下,即“向前一步,向后一步,停,向左一步,向右一步”,完成 60 步移動(dòng)的任務(wù)?!皢T工”需要執(zhí)行“老板”的每一個(gè)指令,不允許做出相違背的動(dòng)作?!袄习濉眲t不參與行動(dòng),只發(fā)出指令指揮“員工”的活動(dòng)。我們體驗(yàn)這個(gè)游戲 時(shí),當(dāng)場(chǎng) 60% 的參與者成功完成了任務(wù),大致估計(jì)出我們的工作效率是 50%*60%=30%。游戲后,參與者被問(wèn)及對(duì)這種行為方式的感受時(shí),無(wú)論是“員工”還是“老板”都表示非常不滿。

接著,大家又做了另一組游戲。2 分鐘內(nèi)參與者被要求獨(dú)立的、自主的完成 60 步移動(dòng)任務(wù),在這次游戲里,所有參與者任務(wù)相同,大家可以自行決定、并依據(jù)自己的判斷隨時(shí)調(diào)整其步伐方向,快慢。最后,我們發(fā)現(xiàn)所有參與者不但毫無(wú)折扣的 按時(shí)完成了任務(wù),因而工作效率也達(dá)到 100%*100%=100%,而且所有人對(duì)于這種新的工作方式更是產(chǎn)生了極大的興趣。

以上兩個(gè)游戲方式的對(duì)比就折射出傳統(tǒng)開(kāi)發(fā)(前者)與敏捷開(kāi)發(fā)、測(cè)試活動(dòng)方式的對(duì)比,其中優(yōu)劣不言而喻。

而敏捷開(kāi)發(fā)、敏捷測(cè)試又是怎樣一個(gè)概念呢?他們是否能夠幫助我們的團(tuán)隊(duì)突破束縛,在日益激烈的競(jìng)爭(zhēng)環(huán)境里表現(xiàn)得更為出色呢 ? 請(qǐng)參考我的這個(gè)系列文章——“敏捷測(cè)試的最佳實(shí)踐”。


回頁(yè)首

敏捷的價(jià)值

首先我們解釋一下什么是敏捷,在字典中我們得到解釋,敏捷,即反應(yīng)迅速、可以快速變化。如今敏捷開(kāi)發(fā)已成為眾所周知的時(shí)髦 IT 詞匯,在這個(gè)領(lǐng)域里敏捷又被詮釋為迭代的,快速應(yīng)對(duì)需求變化,輕量級(jí),并且簡(jiǎn)潔。


圖 1. 面對(duì)客戶業(yè)務(wù)復(fù)雜度問(wèn)題提出敏捷解決方案
面對(duì)客戶業(yè)務(wù)復(fù)雜度問(wèn)題提出敏捷解決方案

IBM 重視敏捷開(kāi)發(fā),敏捷的軟件開(kāi)發(fā)策略之也被廣泛推廣開(kāi)來(lái)。中國(guó)軟件開(kāi)發(fā)中心是 IBM 軟件部部署敏捷開(kāi)發(fā)方法的重點(diǎn)實(shí)驗(yàn)室之一。我們也是 IBM 中國(guó)軟件開(kāi)發(fā)中心最早使用敏捷方法的開(kāi)發(fā)、測(cè)試的團(tuán)隊(duì)之一。這篇文章主旨為幫助那些愿意采用敏捷,和正在采用敏捷開(kāi)發(fā)、測(cè)試的團(tuán)隊(duì)正確了解敏捷的實(shí)質(zhì)。

筆者做敏捷項(xiàng)目已經(jīng)近兩年時(shí)間,對(duì)于敏捷的理解,認(rèn)為最為關(guān)鍵的是需要注意兩個(gè)方面,它們是“高度迭代”和“持續(xù)不斷的客戶反饋”。

  • 高度迭代 :迭代就是指產(chǎn)品的開(kāi)發(fā)過(guò)程中,一個(gè)完整的開(kāi)發(fā)活動(dòng)周而復(fù)始的進(jìn) 行,產(chǎn)品的功能、性能、可用性在周期活動(dòng)的疊加中不斷得到更新和加強(qiáng)。甚至指在一個(gè)迭代周期內(nèi)產(chǎn)品活動(dòng)也具顯著的周期性。同時(shí),團(tuán)隊(duì)間、團(tuán)隊(duì)內(nèi)部成員的高 度協(xié)作及時(shí)幫助解決了各成員的依賴性問(wèn)題,因此,也促進(jìn)了各個(gè)成員工作的順利開(kāi)展,保障了產(chǎn)品活動(dòng)穩(wěn)定的持續(xù)性、周期性。以測(cè)試為例,傳統(tǒng)開(kāi)發(fā)模式下,測(cè) 試人員可以因進(jìn)入測(cè)試階段的條件不完全滿足而繼續(xù)的等待。而在高度迭代的敏捷項(xiàng)目里,不同的是,我們希望測(cè)試人員能夠盡可能的做能夠做的工作,盡可能的早 工作?!暗却痹诿艚蓍_(kāi)發(fā)、敏捷測(cè)試范疇里已是一種錯(cuò)誤概念了。
  • 持續(xù)不斷的客戶反饋 :指在產(chǎn)品開(kāi)發(fā)任何時(shí)期,代表項(xiàng)目業(yè)務(wù)(Business)的利益干系人(Stakeholder)都要參與到產(chǎn)品的需求分析,設(shè)計(jì),以及其他活動(dòng)的決策制定中來(lái)。致力于在短時(shí)間內(nèi)幫助團(tuán)隊(duì)實(shí)現(xiàn)將客戶的需求轉(zhuǎn)化為高質(zhì)量的可消費(fèi)產(chǎn)品,并轉(zhuǎn)化成利潤(rùn)。

回頁(yè)首

敏捷開(kāi)發(fā)的商業(yè)價(jià)值

敏捷開(kāi)發(fā)自 2001 年《敏捷宣言》(“ AGILE MANIFESTO ”) 1 的創(chuàng)生,經(jīng)過(guò)多年的打磨和退火已經(jīng)成為今天非常流行和有過(guò)許多成功案例的開(kāi)發(fā)模式。正如前人所說(shuō),傳統(tǒng)的東西就 是用來(lái)打破的,傳統(tǒng)的瀑布式開(kāi)發(fā)模式必然逐漸退出歷史舞臺(tái),敏捷開(kāi)發(fā)、敏捷測(cè)試是在新環(huán)境里產(chǎn)生出來(lái)的打破傳統(tǒng)的新開(kāi)發(fā)模式。而敏捷也將會(huì)在將來(lái),甚至現(xiàn) 在轉(zhuǎn)化成更適合現(xiàn)代化軟件開(kāi)發(fā)、測(cè)試團(tuán)隊(duì)的方法和實(shí)踐。在本文的第一部分,我們以兩個(gè)游戲類比了敏捷和傳統(tǒng)開(kāi)發(fā)的差異,這里為了進(jìn)一步幫助大家對(duì)敏捷的價(jià) 值有更清晰的理解,我們借鑒前人的研究結(jié)果:


圖 2. 敏捷與傳統(tǒng)開(kāi)發(fā)的比較
敏捷與傳統(tǒng)開(kāi)發(fā)的比較

首先敏捷開(kāi)發(fā)過(guò)程比傳統(tǒng)開(kāi)發(fā)要為項(xiàng)目和產(chǎn)品帶來(lái)更低的風(fēng)險(xiǎn)(RISK)。為什么呢?傳統(tǒng)開(kāi)發(fā)缺乏持續(xù)的客戶反饋 , 產(chǎn)品一旦從需求階段退出,整個(gè)開(kāi)發(fā)團(tuán)隊(duì)近似封閉工作,團(tuán)隊(duì)雖努力去實(shí)現(xiàn)曾經(jīng)認(rèn)定的目標(biāo),但因月有陰晴圓缺,市場(chǎng)需求也瞬息萬(wàn)變(例如提出需求的客戶已經(jīng)退 休)。這使得產(chǎn)品在數(shù)月后,數(shù)年后發(fā)布時(shí)已經(jīng)失去了占領(lǐng)甚至進(jìn)入市場(chǎng)的最佳契機(jī)。

而如果你還在考慮使用傳統(tǒng)開(kāi)發(fā)模式用現(xiàn)在乃至將來(lái)一、兩年的時(shí)間來(lái)開(kāi)發(fā)一個(gè)結(jié)構(gòu)復(fù)雜,精益求精而又功能龐大的產(chǎn)品,那么你得好好做好失敗的準(zhǔn)備了。而正是因?yàn)槌鲇趯?duì)這種風(fēng)險(xiǎn)的考慮,越來(lái)越多的人認(rèn)識(shí)到敏捷開(kāi)發(fā)要比傳統(tǒng)開(kāi)發(fā)能夠?yàn)槠髽I(yè)帶來(lái)更大的利潤(rùn)空間和更低的投資風(fēng)險(xiǎn)。

其次,利益干系人(Stakeholder)的頻繁參,與使得團(tuán)隊(duì)在產(chǎn)品開(kāi)發(fā)的各個(gè)環(huán)節(jié)遇到的種種問(wèn)題得到了及時(shí)的解決。因此,我們認(rèn)為敏捷開(kāi)發(fā)擁著比傳統(tǒng)開(kāi)發(fā)更大的透明度(VISIBILITY)。作為老板,項(xiàng)目的負(fù)責(zé)人一定對(duì)這樣的開(kāi)發(fā)模式帶來(lái)的可控性充滿了向往。

團(tuán)隊(duì)或者產(chǎn)品的適應(yīng)能力(ADAPTABILITY)也決定著其生命力,因?yàn)槊艚蓍_(kāi)發(fā)模式鼓勵(lì)團(tuán)隊(duì)采納新技術(shù),歡迎變化, 并能夠快速應(yīng)對(duì)之,使得產(chǎn)品和團(tuán)隊(duì)自身都有很強(qiáng)的適應(yīng)力和生命力。而在傳統(tǒng)模式里,當(dāng)需求變更時(shí),復(fù)雜的變更管理流程要求通過(guò)正式討論、審批,也備以足夠 的文檔和說(shuō)明來(lái)支持每次“決策”。這不但帶來(lái)了人力,物力的浪費(fèi),更重要的是它嚴(yán)重延長(zhǎng)了企業(yè)投資到利益回報(bào)的周期。而只有擁有反應(yīng)迅速的敏捷開(kāi)發(fā)才能夠 幫助企業(yè)贏取市場(chǎng),降低風(fēng)險(xiǎn)。

以上我們談及了敏捷開(kāi)發(fā)擁有的比傳統(tǒng)開(kāi)發(fā)能為企業(yè)帶來(lái)更大的商業(yè)價(jià)值和提供企業(yè)更大的發(fā)展空間。而對(duì)于個(gè)人而言,筆者認(rèn)為敏捷開(kāi)發(fā)也提供給了個(gè)人更多的發(fā)展機(jī)會(huì)和提出了更高的要求。以下是筆者從個(gè)人角度做出的分析。


回頁(yè)首

敏捷開(kāi)發(fā)有益于個(gè)人發(fā)展

敏捷項(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 名開(kāi)發(fā)人員(Developer)。因此,每一支敏捷團(tuán)隊(duì)中的設(shè)計(jì)、開(kāi)發(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è)試人員沒(méi)有具備足夠的責(zé)任心和領(lǐng)導(dǎo)力,只是人云亦云,恐怕這種測(cè)試要與不要沒(méi)什么分別,敏捷項(xiàng)目 的質(zhì)量也更讓人擔(dān)憂,而敏捷也就失去了原有的意義。因此,作為唯一的測(cè)試人員,他(她)將擁有對(duì)測(cè)試的所有權(quán),計(jì)劃、設(shè)計(jì)并且執(zhí)行所有的測(cè)試工作。而也因 為擁有了更多的主人翁精神,積極的工作熱情,測(cè)試人員勇敢的面對(duì)工作中的各種挑戰(zhàn),學(xué)習(xí)新的知識(shí)和努力培養(yǎng)自己的工作技能。敏捷無(wú)疑對(duì)個(gè)人發(fā)展產(chǎn)生了很大 的推動(dòng)作用。

敏捷團(tuán)隊(duì)中的每個(gè)人,需定時(shí)和團(tuán)隊(duì)的其他成員坐下來(lái)看看團(tuán)隊(duì)的整體進(jìn)度,計(jì)劃下一步工作,并一起探討所遭遇問(wèn)題的解決方 案。也需適時(shí)的尋求團(tuán)隊(duì)中其他成員的幫助解決時(shí)下緊要的問(wèn)題。通過(guò)頻繁的合作與溝通,個(gè)人的協(xié)作能力、溝通能力也得到了較大的提高。下面我們具體就這兩個(gè) 方面進(jìn)一步談?wù)劽艚蓍_(kāi)發(fā)是如何幫助提高個(gè)人的協(xié)作能力和溝通能力的。

敏捷開(kāi)發(fā)培養(yǎng)了個(gè)人的協(xié)作能力

與傳統(tǒng)開(kāi)發(fā)不同,敏捷開(kāi)發(fā)更加側(cè)重以人為本,發(fā)揮人的積極性,以此提高團(tuán)隊(duì)的工作效率。真正實(shí)現(xiàn)以結(jié)果為導(dǎo)向的職場(chǎng)守則。 作為團(tuán)隊(duì)的一份子,無(wú)論是測(cè)試、開(kāi)發(fā)人員,還是設(shè)計(jì)人員,他們都將為團(tuán)隊(duì)成敗擔(dān)當(dāng)不可或缺的責(zé)任。團(tuán)隊(duì)是高度協(xié)作的團(tuán)隊(duì),個(gè)人除了做好本職工作外,敏捷開(kāi) 發(fā)模式要求個(gè)人能夠了解和爭(zhēng)取更多的擴(kuò)展性的工作,也能幫助團(tuán)隊(duì)其他成員解決他們的遇到的各種獨(dú)特問(wèn)題,以加快實(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):

  1. 團(tuán)隊(duì)成員積極分享經(jīng)驗(yàn),知識(shí),自我培養(yǎng)所需技能和自我成長(zhǎng);
  2. 團(tuán)隊(duì)成員相互幫助,愿意成為他人后備隊(duì)員,隨時(shí)做好準(zhǔn)備投入新的戰(zhàn)斗,因而保障了團(tuán)隊(duì)的高昂士氣和強(qiáng)大的生命力。
  3. 任何決策是團(tuán)隊(duì)共同的決策,工作是團(tuán)隊(duì)共同的工作,團(tuán)隊(duì)工作的最后成果因而也是來(lái)自團(tuán)隊(duì)中每個(gè)人的辛勤培養(yǎng)和貢 獻(xiàn)。而團(tuán)隊(duì)的失敗更是整個(gè)團(tuán)隊(duì)的失敗,絕不會(huì)是某個(gè)人的單方面的過(guò)失。這種榮辱與共,共生共息的信念將讓團(tuán)隊(duì)的力量超過(guò)團(tuán)隊(duì)各個(gè)力量之和。同時(shí),項(xiàng)目團(tuán)隊(duì) 的工作效率在團(tuán)隊(duì)成員技能的提升和信念的鞏固中不斷提高

敏捷開(kāi)發(fā)鍛煉了個(gè)人溝通能力

我們把團(tuán)隊(duì)看做一個(gè)高度協(xié)作整體的同時(shí),不可忽視的是團(tuán)隊(duì)內(nèi)部仍存在的各種矛盾,對(duì)這些問(wèn)題的聽(tīng)之任之將破壞團(tuán)隊(duì)的凝聚 力、生產(chǎn)力。這中間反映出來(lái)的很多問(wèn)題不是敏捷方式獨(dú)有,但團(tuán)隊(duì)成員因?yàn)槊艚荩瑢W(xué)會(huì)了自己解決各種問(wèn)題。而相應(yīng)的溝通能力也隨著問(wèn)題的解決得到很大幅度的 提高。

在過(guò)去的項(xiàng)目經(jīng)驗(yàn)中,我們不難發(fā)現(xiàn)種種人與人之間矛盾的產(chǎn)生。而經(jīng)典的矛盾論也讓我們不得不的接受,矛盾是永遠(yuǎn)存在的,但 這并沒(méi)有什么可怕。而是一旦我們發(fā)現(xiàn)了矛盾的存在,就要迅速找到解決辦法,這也是團(tuán)隊(duì)的相當(dāng)重要的工作。尤其是在團(tuán)隊(duì)組建初期,團(tuán)隊(duì)開(kāi)始采納新開(kāi)發(fā)模式 時(shí),鍛煉團(tuán)隊(duì)解決如下矛盾的工作非常重要:

  • 測(cè)試人員是質(zhì)量的工程師,開(kāi)發(fā)人員是產(chǎn)品的締造者,在對(duì)質(zhì)量標(biāo)準(zhǔn)的認(rèn)同上常有不一致(當(dāng)然,傳統(tǒng)開(kāi)發(fā)也會(huì)產(chǎn)生);
  • UCD 的設(shè)計(jì)實(shí)時(shí)反應(yīng)用戶需要,但有時(shí)不能顧及代碼的可實(shí)現(xiàn)性;
  • 開(kāi)發(fā)人員而卻更喜歡用想當(dāng)然的理解,和習(xí)慣的方式填寫(xiě)代碼,甚至主觀的抵制接受新設(shè)計(jì)思想和拒絕新類型缺陷的修復(fù),因此與團(tuán)隊(duì)的整體目標(biāo)、出發(fā)點(diǎn)產(chǎn)生分歧;
  • 從整個(gè)項(xiàng)目組織結(jié)構(gòu)看來(lái),敏捷團(tuán)隊(duì)之間(一個(gè)項(xiàng)目通常有多個(gè)敏捷團(tuán)隊(duì)組成,各個(gè)團(tuán)隊(duì)有自己的側(cè)重點(diǎn))存在設(shè)計(jì),開(kāi)發(fā)的不一致性,這使得產(chǎn)品在整合階段產(chǎn)生額外的成本。

正如前面所論述,矛盾總是有能夠解決的途徑,敏捷項(xiàng)目的組織中用管理方式去干預(yù)是一種直接、快速的方式,而今天敏捷方法論 者們更加推崇的是鼓勵(lì)團(tuán)隊(duì)內(nèi)部進(jìn)行很好的交流和溝通后自行解決。也正是通過(guò)不斷加強(qiáng)團(tuán)隊(duì)間和團(tuán)隊(duì)內(nèi)部的相互理解,不但矛盾得到很好的解決(解鈴還須系鈴人 嘛),個(gè)人的交流和溝通技能也得到了進(jìn)一步提高。


回頁(yè)首

敏捷開(kāi)發(fā)培養(yǎng)了個(gè)人的創(chuàng)新意識(shí)

創(chuàng)新能夠?yàn)槠髽I(yè)帶來(lái)新發(fā)展契機(jī),創(chuàng)造新價(jià)值,因此,創(chuàng)新對(duì)于企業(yè)還是個(gè)人而言都非常之重要。不斷培養(yǎng)員工的創(chuàng)新能力、鼓勵(lì) 創(chuàng)新活動(dòng)也是幾乎所有企業(yè)的人才培養(yǎng)戰(zhàn)略之一。而敏捷開(kāi)發(fā)恰恰就是要打破傳統(tǒng)的模式,形成全新的敏捷開(kāi)發(fā)、敏捷測(cè)試方法、實(shí)踐和過(guò)程,并鼓勵(lì)團(tuán)隊(duì)采用新技 術(shù)和技術(shù)創(chuàng)新。因此,團(tuán)隊(duì)的每個(gè)人需要能夠創(chuàng)造性的工作,并樂(lè)于接受新事物,通過(guò)不斷的改進(jìn)、突破過(guò)時(shí)的做法,努力提高團(tuán)隊(duì)的工作效率,來(lái)適應(yīng)產(chǎn)品的增量 發(fā)展需要。

而也因?yàn)槊艚蓍_(kāi)發(fā)模式對(duì)于很多團(tuán)隊(duì)仍很陌生,在運(yùn)用敏捷開(kāi)發(fā)的過(guò)程中我們會(huì)遭遇許多新挑戰(zhàn)、新困難。如何處理這些問(wèn)題,解決方案本身就是無(wú)以借鑒的,自主創(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è)試方式來(lái)覆蓋產(chǎn)品的各個(gè)功能、非功能點(diǎn)需求只恐怕 是力不從心了。因此,考慮用自動(dòng)化測(cè)試來(lái)提高團(tuán)隊(duì)工作效率是可取的方法之一。但是,當(dāng)產(chǎn)品發(fā)展到中后期,也沒(méi)有富余的資源可以被抽取出來(lái)做自動(dòng)化測(cè)試了。 即使現(xiàn)招聘新人,也因?yàn)樾氯藢?duì)產(chǎn)品不了解,只怕自動(dòng)化測(cè)試的效果也未如人愿。那我們是否應(yīng)該在開(kāi)發(fā)活動(dòng)的初期就嘗試自動(dòng)化測(cè)試的設(shè)計(jì)、并自動(dòng)化一部分功能 測(cè)試呢?也未然,因?yàn)樵诋a(chǎn)品開(kāi)發(fā)初期,產(chǎn)品的功能和界面的變動(dòng)會(huì)比較大,自動(dòng)化測(cè)試收入產(chǎn)出比異常低。因此,何時(shí)、何地、如何設(shè)計(jì)、運(yùn)用自動(dòng)化測(cè)試來(lái)幫助 降低人力成本,提高測(cè)試效率是需要我們大膽創(chuàng)新的。


回頁(yè)首

敏捷方法的共同點(diǎn)

以上我們通過(guò)商業(yè)、個(gè)人發(fā)展兩個(gè)方面講述了敏捷開(kāi)發(fā)的價(jià)值和意義。那什么才是敏捷開(kāi)發(fā)呢?在業(yè)界又有那些方法是敏捷開(kāi)發(fā)的具體實(shí)現(xiàn)呢?各種方法有什么共同點(diǎn)嗎?通過(guò)下文對(duì)各類敏捷方法的共性分析,我們也將進(jìn)一步了解敏捷的實(shí)質(zhì)。

敏捷方法

業(yè)界流行的敏捷開(kāi)發(fā)的方法有許多(要了解各類敏捷方法和分類請(qǐng)參閱本文參考資料中文獻(xiàn)),我們需要根據(jù)項(xiàng)目大小,性質(zhì)來(lái)選 擇合適自己的敏捷方法。比如說(shuō) XP(極限編程,eXtreme Programming)更加適合小型項(xiàng)目 3-5 人的團(tuán)隊(duì)。Scrum,DSDM (Dynamic Systems Development Methodology) 等更加適合大型團(tuán)隊(duì)的項(xiàng)目開(kāi)發(fā)。而敏捷開(kāi)發(fā)也不是一成不變放之四海皆準(zhǔn)的準(zhǔn)則,而是一個(gè)方法的最佳實(shí)踐。各個(gè)團(tuán)體和企業(yè)也不斷定制著自己的最佳游戲規(guī)則。 VersionOne 的敏捷開(kāi)發(fā)的調(diào)研報(bào)告中很好的對(duì)比了各個(gè)方法被業(yè)界采納的比例(見(jiàn)下 圖 3)。這個(gè)圖表就是 2007 年對(duì)來(lái)自 71 個(gè)國(guó)家 1700 多人的調(diào)查結(jié)果的說(shuō)明。


圖 3. 流行的敏捷方法
流行的敏捷方法

除了圖例中的方法外還有 Crystal, Lean Software Development, Feature Driven Development, Xbreed, RUP 等等。

敏捷方法的共性

雖然各種敏捷方法的名稱、所需環(huán)境、適合的團(tuán)隊(duì)有很大差異,但是他們擁有相似、相同的以下幾大特點(diǎn):

  • 擁抱變化(Embrace the change)

無(wú)論是多么明智,多么正確的決定,也有可能在日后發(fā)生改變。因此,團(tuán)隊(duì)要能夠充分理解我們的利益干系人 (Stakeholder)和客戶代表為什么經(jīng)常提出新的需求和設(shè)計(jì)要求,一句話,就是心中有數(shù)“唯一不變的是變化”。團(tuán)隊(duì)更要信任 利益干系人(Stakeholder)做出的每次決定和需求的調(diào)整都是將產(chǎn)品開(kāi)發(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)中暴露出來(lái)的可能的設(shè)計(jì)缺陷和錯(cuò)誤。在實(shí)際工作中,團(tuán)隊(duì)成員應(yīng)該用優(yōu)先級(jí)制度來(lái)劃分事情和目 標(biāo)先后順序,在迭代周期內(nèi)對(duì)于還沒(méi)有最終決定的設(shè)計(jì)方案可以予以后來(lái)實(shí)現(xiàn)、測(cè)試,不用急于投入資源展開(kāi)全面的開(kāi)發(fā)、測(cè)試活動(dòng)。這樣一來(lái),開(kāi)發(fā)測(cè)試團(tuán)隊(duì)也會(huì) 人員也將更加適應(yīng),真正擁抱變化。

  • 客戶的參與(With Customer Representative on site)

首先誰(shuí)是客戶(Customer),客戶代表(Customer Representative) 呢?利益干系人(Stakeholder),或者我們可以理解為我們的客戶(Customer),產(chǎn)品的最終使用者(End user),內(nèi)部使用者(Insider),商業(yè)伙伴(Business Partner)。利益干系人(Stakeholder)作為團(tuán)隊(duì)中最了解業(yè)務(wù)(Business)的人物將幫助開(kāi)發(fā)團(tuán)隊(duì)的快速達(dá)到目標(biāo)和做出適時(shí)決策。 開(kāi)發(fā)團(tuán)隊(duì)擁有很好的技術(shù)但在業(yè)務(wù)(Business)方面他們需要 利益干系人(Stakeholder)的幫助。而通常在敏捷的開(kāi)發(fā)項(xiàng)目中,團(tuán)隊(duì)中的任何一個(gè)人若需要幫助時(shí),只要簡(jiǎn)單的邀請(qǐng)大家參加一個(gè) 15 分鐘會(huì)議,或一封郵件、一個(gè)電話便可以解決。

但是,如果利益干系人(Stakeholder)各執(zhí)一詞怎么辦呢?為解決這個(gè)問(wèn)題,將 Product Owner 引入到討論中來(lái),作為 Product Owner 他可以作為是 利益干系人(Stakeholder)的代表,能夠在分歧中做最后抉擇。因此,通過(guò)這樣的客戶代表的參與,團(tuán)隊(duì)更好的了解了所做事情的價(jià)值和意義,其工作 效率也因而得到很大提高。

利益干系人(Stakeholder)能夠幫助團(tuán)隊(duì)中的每一個(gè)人更好,更快的完成了工作,他們的直接參與成為了敏捷開(kāi)發(fā)、敏捷測(cè)試的重要前提。

  • 較少的文檔(With less documents)

敏捷開(kāi)發(fā)更重視生產(chǎn)出可用的產(chǎn)品而不是詳細(xì)文檔。而時(shí)常有發(fā)覺(jué)文檔又是無(wú)論敏捷還是傳統(tǒng)開(kāi)發(fā)、測(cè)試不可或缺的一部分。筆者認(rèn)為,傳統(tǒng)開(kāi)發(fā)的文檔在敏捷開(kāi)發(fā)里仍有大用,只是原來(lái)十來(lái)頁(yè)的內(nèi)容精煉到現(xiàn)在的一頁(yè)半頁(yè)。

敏捷主義者相信文檔不是最佳的溝通方式,他們鼓勵(lì)通暢的交流和溝通,要求避免和減少陳詞濫調(diào)和空頭支票。尤其是復(fù)雜的文檔 說(shuō)明只是增加了溝通成本,因而敏捷開(kāi)發(fā)、測(cè)試的文檔不需要長(zhǎng)篇累讀,需要的是簡(jiǎn)潔,清晰。任何一段清楚的文字,甚至一張圖片,照片,一封記錄著會(huì)議記錄的 郵件都是我們認(rèn)可的敏捷文檔。因?yàn)槭菬o(wú)論是通過(guò)文字板書(shū)的文件還是其他的溝通方式和載體都是為了幫助團(tuán)隊(duì)進(jìn)行更高效的交流和溝通。只有團(tuán)隊(duì)保持著溝通上、 理解上的一致后才能夠充分發(fā)揮出團(tuán)隊(duì)最佳戰(zhàn)斗力。但凡這是幫助團(tuán)隊(duì)有效溝通的方式,敏捷開(kāi)發(fā)是不會(huì)放棄的。

  • 最大化的生產(chǎn)力(Maximize Productivity)

敏捷開(kāi)發(fā)模式要最大化的提高團(tuán)隊(duì)的工作效率。無(wú)論是依靠剪除冗余的文檔工作,還是提供民主的、通暢的溝通平臺(tái)都是為了幫助 團(tuán)隊(duì)能夠集中有限的精力處理有意義的問(wèn)題。據(jù)調(diào)查,通常人會(huì)在兩個(gè)、多個(gè)任務(wù)并行的情況下產(chǎn)生出出最高工作效率。而敏捷也恰恰使用了各種方法得到團(tuán)隊(duì)的最 大生產(chǎn)力。

敏捷開(kāi)發(fā)的 Scrum 模式,要求在計(jì)劃階段,團(tuán)隊(duì)成員主動(dòng)定制迭代周期的所有工作任務(wù),因此,本身從團(tuán)隊(duì)開(kāi)始迭代活動(dòng)的那時(shí)起,已經(jīng)在在多重工作的壓力下緊張工作了。而在日常 的迭代生產(chǎn)活動(dòng)里,各個(gè)成員需要當(dāng)眾簡(jiǎn)單匯報(bào)當(dāng)天的工作進(jìn)度和承諾下一個(gè) 24 小時(shí)的工作計(jì)劃。因此,通過(guò)增加敏捷人員的工作的透明度,無(wú)形之中,團(tuán)隊(duì)成員的生產(chǎn)力進(jìn)一步得到提高。

  • 測(cè)試驅(qū)動(dòng)開(kāi)發(fā)(Test Driven Development)

測(cè)試驅(qū)動(dòng)開(kāi)發(fā),是讓開(kāi)發(fā)人員在編寫(xiě)功能代碼之前,根據(jù)對(duì)需求的理解先設(shè)計(jì)和編寫(xiě)單元測(cè)試代碼。先思考如何對(duì)將要實(shí)現(xiàn)的功能進(jìn)行驗(yàn)證,再考慮功能的實(shí)現(xiàn)。然后迭代的增加新功能的單元測(cè)試和功能代碼編寫(xiě),直到完成全部功能的開(kāi)發(fā)。

  • 自動(dòng)化冗余工作(Automate the redundant work)

將團(tuán)隊(duì)成員從冗余的勞動(dòng)中解放出來(lái),無(wú)論是自動(dòng)化的測(cè)試還是自動(dòng)化工具的開(kāi)發(fā)只要能夠節(jié)約成本都是敏捷開(kāi)發(fā)、敏捷測(cè)試的目標(biāo)。

  • 民主的團(tuán)隊(duì)(Democracy in team)

敏捷團(tuán)隊(duì)是一支民主的團(tuán)隊(duì),團(tuán)隊(duì)關(guān)系是平行的,每個(gè)團(tuán)隊(duì)成員能夠平等的參與討論,決策。傳統(tǒng)開(kāi)發(fā)的垂直的官僚機(jī)構(gòu)在敏捷開(kāi)發(fā)中已是過(guò)時(shí)的。

  • 尊重團(tuán)隊(duì)(Respect to team)

敏捷團(tuán)隊(duì)的決定權(quán)交有團(tuán)隊(duì)自己,決定是團(tuán)隊(duì)統(tǒng)一制定。無(wú)論是產(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è)成員都是敏捷開(kāi)發(fā)的原 則之一。


回頁(yè)首

你敏捷了嗎?

你敏捷了嗎?經(jīng)過(guò)上面的學(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)是能夠通過(guò)學(xué)習(xí)敏捷的方法和最佳實(shí)踐來(lái)開(kāi) 發(fā)可以適用于自身特點(diǎn)的方法和過(guò)程,幫助項(xiàng)目靈敏的適應(yīng)市場(chǎng)變化,讓我們變得敏捷起來(lái)。

因此,我們依然希望進(jìn)一步幫助大家了解如何變得敏捷,而首先,還是讓我們學(xué)習(xí)大師留給我們的一套基本準(zhǔn)則幫助我們判斷項(xiàng)目開(kāi)發(fā)敏捷與否吧。通過(guò)按照此標(biāo)準(zhǔn)的衡量,我們將容易得出項(xiàng)目是否敏捷的結(jié)論,也能夠因地制宜的找到問(wèn)題所在,最終實(shí)現(xiàn)敏捷。

Scott W. Ambler 在其文章 How Agile Are You? 中指出了以下七條原則幫助大家來(lái)判斷什么項(xiàng)目是敏捷的項(xiàng)目。

  1. 項(xiàng)目中有利益干系人(Stakeholder)的參與
  2. 團(tuán)隊(duì)擁有并且可隨時(shí)執(zhí)行的回歸測(cè)試
  3. 關(guān)注產(chǎn)品自身而不是冗余的文檔
  4. 項(xiàng)目開(kāi)發(fā)擁有嚴(yán)格的源碼管理、版本控制
  5. 開(kāi)發(fā)能夠積極面對(duì)和響應(yīng)項(xiàng)目需求變化
  6. 團(tuán)隊(duì)作為整體直接擔(dān)負(fù)項(xiàng)目責(zé)任
  7. 能夠自動(dòng)化重復(fù)性的活動(dòng)

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多