版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
敏捷基礎(chǔ)概念介紹彭珂Date:July13,2012
敏捷的概念敏捷是一種強(qiáng)調(diào)輕量的過(guò)程方法論,它強(qiáng)調(diào)擁抱變化而不是與之對(duì)抗,通過(guò)有效的溝通發(fā)揮群體的智慧敏捷方法論采用迭代/增量開(kāi)發(fā)的過(guò)程模型敏捷門(mén)派眾多,2001年,成立敏捷聯(lián)盟,并發(fā)布了宣言和原則敏捷宣言個(gè)體和交互勝過(guò)過(guò)程和工具可以工作的軟件勝過(guò)面面俱到的文檔客戶合作勝過(guò)合同談判響應(yīng)變化勝過(guò)遵循計(jì)劃
雖然右邊的也有價(jià)值,但是我們認(rèn)為左邊的具有更大的價(jià)值誰(shuí)在使用敏捷?微軟大規(guī)模使用,敏捷列入新員工培訓(xùn)課程N(yùn)okiaSimens
超過(guò)40個(gè)產(chǎn)品使用敏捷流程,最大的項(xiàng)目約500名開(kāi)發(fā)人員,跨地域、時(shí)差I(lǐng)BM項(xiàng)目經(jīng)理可以自主選用瀑布或者敏捷流程,將為華為提供敏捷顧問(wèn)和工具Ericsson從第一代GSM基站開(kāi)發(fā)就采用增量式迭代開(kāi)發(fā),使用敏捷的部分實(shí)踐Google大部分項(xiàng)目敏捷,部分采用傳統(tǒng)方法開(kāi)發(fā)Wiki Wiki的發(fā)明人是敏捷宣言的發(fā)起人之一,Wiki的靈感來(lái)源于敏捷的“集體代碼所有權(quán)”思想神舟飛船軟件系統(tǒng)在敏捷宣言發(fā)表之前即采用敏捷的思想BT:HuaweitoproposehowwecanmeettheagilerequirementsofBT.
迭代的概念相對(duì)于傳統(tǒng)的瀑布式開(kāi)發(fā),迭代開(kāi)發(fā)把軟件生命周期分成很多個(gè)小周期(一般不大于2個(gè)月,建議2周),每一次迭代都可以生成一個(gè)可運(yùn)行、可驗(yàn)證的版本,并確保軟件不斷的增加新的價(jià)值。什么是迭代開(kāi)發(fā)?迭代的主要目的
1、驗(yàn)證關(guān)鍵設(shè)計(jì)方案,避免重大的設(shè)計(jì)風(fēng)險(xiǎn)(主要設(shè)計(jì)點(diǎn))
2、盡快確認(rèn)和澄清客戶需求(主要需求點(diǎn))
3、縮短驗(yàn)證周期(只有在小粒度迭代上才可能實(shí)現(xiàn)),提供靈活的特性交付能力我們的版本開(kāi)發(fā)是不是迭代?
1、宏觀上講,我們也是迭代開(kāi)發(fā),但顆粒度太大,存在問(wèn)題
2、周期太長(zhǎng),驗(yàn)證反饋太慢,長(zhǎng)周期要承擔(dān)更多的需求變更風(fēng)險(xiǎn),導(dǎo)致惡性循環(huán)
3、沒(méi)有真正識(shí)別主要需求點(diǎn)和主要設(shè)計(jì)點(diǎn),無(wú)法盡快確認(rèn)需求和避免設(shè)計(jì)風(fēng)險(xiǎn)4、不具備快速驗(yàn)證的能力5、對(duì)于大部分的產(chǎn)品,我們應(yīng)用迭代的主要訴求在2,3兩點(diǎn)
小批量交付特性集AA1A2A3=特性集BB1B2B3=B特性集CC1C2C3=CA傳統(tǒng)方法:“每件事都很重要!一次就要全部做好!”JanFebMarAprMayJunJulA1B1C1A2B2C2A3B3C3ABC迭代開(kāi)發(fā):“優(yōu)先級(jí)&關(guān)注點(diǎn)!”JanFebMarAprMayJunJulA1B1C1A2B2C2A3B3C3ABC如何處理變化和延遲計(jì)劃Week1Week2Week3Week4CDAB傳統(tǒng)模式下的延遲方式Week1Week2Week3Week4Week5Week6Week7Week8CDAB迭代模式下的延遲方式Week1Week2Week3Week4Week5Week6Week7Week8ABEDAB敏捷與迭代的關(guān)系敏捷強(qiáng)調(diào)軟件的需求、設(shè)計(jì)、計(jì)劃都是復(fù)雜的,以至于不可能一次就精確的完成,所以要通過(guò)快速的反饋對(duì)需求、設(shè)計(jì)、計(jì)劃進(jìn)行修正迭代是敏捷建立持續(xù)的快速反饋機(jī)制的技術(shù)手段
敏捷與迭代關(guān)系(續(xù))隨著軟件交付周期的日益加快,迭代化開(kāi)發(fā)已經(jīng)成為大多數(shù)軟件開(kāi)發(fā)團(tuán)隊(duì)的必選項(xiàng)。但是迭代對(duì)整個(gè)團(tuán)隊(duì)的需求、架構(gòu)、協(xié)同及測(cè)試能力都提出了更高的要求,現(xiàn)在許多開(kāi)發(fā)團(tuán)隊(duì)都在試圖導(dǎo)入迭代化開(kāi)發(fā)的過(guò)程中,敏捷可是被看成迭代化開(kāi)發(fā)的一種導(dǎo)入方式,這不過(guò)敏捷的范圍其實(shí)比迭代化開(kāi)發(fā)更大一些敏捷的三個(gè)要素是迭代開(kāi)發(fā)、坦誠(chéng)合作和自適應(yīng)性。坦誠(chéng)合作其實(shí)才是敏捷的精髓,如Ivar所說(shuō),敏捷其實(shí)是有關(guān)SocialEngineering的。敏捷的主要貢獻(xiàn)在于他更多地思考了如何去激發(fā)開(kāi)發(fā)人員的工作熱情,這是在軟件工程幾十年的發(fā)展過(guò)程中相對(duì)被忽略的領(lǐng)域敏捷宣言遵循的原則-迭代我們最優(yōu)先要做的是通過(guò)盡早的、持續(xù)的交付有價(jià)值的軟件來(lái)使客戶滿意即使到了開(kāi)發(fā)的后期,也歡迎改變需求。敏捷過(guò)程利用變化來(lái)為客戶創(chuàng)造競(jìng)爭(zhēng)優(yōu)勢(shì)經(jīng)常性地交付可以工作的軟件,交付的間隔可以從幾個(gè)星期到幾個(gè)月,交付的時(shí)間間隔越短越好工作的軟件是首要的進(jìn)度度量標(biāo)準(zhǔn)敏捷宣言遵循的原則-團(tuán)隊(duì)運(yùn)作在團(tuán)隊(duì)內(nèi)部,最具有效果且富有效率的傳遞信息的方法,就是面對(duì)面的交談在整個(gè)項(xiàng)目開(kāi)發(fā)期間,業(yè)務(wù)人員和開(kāi)發(fā)人員必須天天都在一起工作圍繞被激勵(lì)的個(gè)體來(lái)構(gòu)建項(xiàng)目。給他們提供所需的環(huán)境和支持,并且信任他們能夠完成工作敏捷過(guò)程提倡可持續(xù)的開(kāi)發(fā)速度,責(zé)任人、開(kāi)發(fā)者和用戶應(yīng)該能夠保持一個(gè)長(zhǎng)期的、恒定的開(kāi)發(fā)速度不斷地關(guān)注優(yōu)秀的技能和好的設(shè)計(jì)會(huì)增強(qiáng)敏捷能力簡(jiǎn)單---使未完成的工作最大化的藝術(shù)---是根本的敏捷宣言遵循的原則-自組織團(tuán)隊(duì)最好的構(gòu)架、需求和設(shè)計(jì)出自于自組織的團(tuán)隊(duì)每隔一定時(shí)間,團(tuán)隊(duì)會(huì)在如何才能更有效地工作方面進(jìn)行反省,然后相應(yīng)地對(duì)自己的行為進(jìn)行調(diào)整敏捷-質(zhì)量管理每一次迭代結(jié)束,項(xiàng)目組坐在一起對(duì)迭代進(jìn)行回顧,回答兩個(gè)問(wèn)題:
1、我們的成功經(jīng)驗(yàn)是什么?
2、有什么能改進(jìn)?針對(duì)項(xiàng)目組當(dāng)前的問(wèn)題,自主決策改進(jìn)方案,并在下一個(gè)迭代中實(shí)施,即使改進(jìn)方案無(wú)效,也可以在下一個(gè)迭代回顧時(shí)發(fā)現(xiàn),最多浪費(fèi)一個(gè)迭代周期自我決策改進(jìn)方案,以適應(yīng)復(fù)雜的需求、人員狀況,是敏捷團(tuán)隊(duì)的最大特點(diǎn)
敏捷實(shí)踐敏捷實(shí)踐(續(xù))敏捷是聰明的工作
敏捷是關(guān)于以下三件事情的:最重要的,敏捷是一門(mén)社會(huì)工程學(xué)。這是敏捷最大的特點(diǎn)。它關(guān)注的是,如何以一個(gè)團(tuán)隊(duì)的形式開(kāi)展工作,如何激勵(lì)團(tuán)隊(duì)成員,如何相互合作等等敏捷是輕量級(jí)的。敏捷非常依賴隱性知識(shí),敏捷認(rèn)為,只要有掌握足夠知識(shí)的人,才可以開(kāi)發(fā)出優(yōu)秀的軟件敏捷提供技術(shù)實(shí)踐。這其實(shí)是敏捷中貢獻(xiàn)最微弱的部分敏捷的本質(zhì)是變得“聰明”,聰明就是做正好合適的事,不是找更廣的解決方案,而是正好。對(duì)敏捷常見(jiàn)的誤區(qū)敏捷不寫(xiě)文檔敏捷不適合大型軟件開(kāi)發(fā),尤其是高質(zhì)量要求領(lǐng)域敏捷和CMM對(duì)立敏捷導(dǎo)致對(duì)人員的極度依賴敏捷導(dǎo)致管理者無(wú)法看到項(xiàng)目組的進(jìn)展,從而導(dǎo)致失控敏捷是銀彈???敏捷=不寫(xiě)文檔?只寫(xiě)項(xiàng)目組認(rèn)為必須的文檔如果認(rèn)為項(xiàng)目組新員工比較多,可能就得寫(xiě)比較多的文檔如果需要經(jīng)常和大量的客戶、眾多的項(xiàng)目組交流,可能就需要比較多的書(shū)面規(guī)格、接口文檔。因?yàn)槿硕嗟臅r(shí)候,面對(duì)面的溝通帶來(lái)N平方問(wèn)題常見(jiàn)的文檔為:需求文檔,敏捷實(shí)際上要求對(duì)需求的闡述非常細(xì)致,并且可測(cè)(部分非功能性需求可能難以測(cè)試),現(xiàn)有產(chǎn)品文檔根本無(wú)法滿足要求。但是迭代開(kāi)發(fā)中文檔是跟隨迭代過(guò)程不斷完善,而且很多公司是在測(cè)試完成后才開(kāi)始寫(xiě)規(guī)格文檔。文檔是結(jié)果記錄,而非開(kāi)發(fā)過(guò)程中的溝通工具。代碼(代碼即設(shè)計(jì)文檔):最好的代碼是自注釋代碼,應(yīng)當(dāng)盡量通過(guò)重構(gòu)讓代碼可以直接閱讀,盡可能減少需要注釋才能看懂的代碼。架構(gòu)文檔(通常是幾頁(yè)紙,參見(jiàn)附錄微軟對(duì)架構(gòu)的看法)
敏捷不適合大型軟件開(kāi)發(fā)膠片前面已經(jīng)介紹過(guò),眾多的電信廠商、微軟、IBM、美國(guó)軍方、神舟飛船系統(tǒng),均采用或者部分采用敏捷的思想進(jìn)行開(kāi)發(fā)敏捷認(rèn)為變化不可預(yù)測(cè),如果小型項(xiàng)目的變化都不可預(yù)測(cè),大型項(xiàng)目顯然更無(wú)法預(yù)測(cè),所以認(rèn)為敏捷適用于小型項(xiàng)目,大型項(xiàng)目使用瀑布的說(shuō)法是錯(cuò)誤的。敏捷反CMM?CMM定義的是目標(biāo),敏捷的實(shí)踐可以支撐CMM2、3級(jí)的KPA,Scrum的兩個(gè)掌門(mén)人,以及CMM1.1的項(xiàng)目經(jīng)理Paulk均持此種觀點(diǎn),但是也有很多人不認(rèn)同此觀點(diǎn)。SEI的官方網(wǎng)站2008年11月也發(fā)表文章《CMMIorAgileWhyNotEmbraceBoth.pdf》http:///cn/news/2008/11/report-integrating-cmmi-agile,試圖融合。敏捷除了關(guān)注CMM關(guān)注的流程,更多的關(guān)注團(tuán)體智慧、發(fā)揮個(gè)人能力敏捷和IPD-CMM是截然相反的,一個(gè)基于瀑布模型,一個(gè)基于迭代模型敏捷導(dǎo)致項(xiàng)目管理失控敏捷雖然強(qiáng)調(diào)團(tuán)隊(duì)自組織,但是管理者可以通過(guò)持續(xù)集成和迭代測(cè)試結(jié)果知道項(xiàng)目組的實(shí)際進(jìn)展特性的完成沒(méi)有二義性,完成了50%的特性就有很大的把握知道項(xiàng)目組的進(jìn)展達(dá)到了50%。而文檔的完善度、正確性根本無(wú)法評(píng)價(jià),這也是為什么普遍存在的現(xiàn)象:TR4前進(jìn)度總是可以完成的,TR4以后進(jìn)度總是拖后的。我們見(jiàn)過(guò)TR4以后瘋狂的加班,但是有誰(shuí)見(jiàn)過(guò)開(kāi)發(fā)人員加班到12點(diǎn)寫(xiě)詳細(xì)設(shè)計(jì)文檔?敏捷導(dǎo)致對(duì)人員的極度依賴敏捷強(qiáng)調(diào)團(tuán)體的智慧,團(tuán)隊(duì)共同決策,實(shí)際上減少了人員的依賴結(jié)對(duì)編程保證了任何一行代碼都至少有兩個(gè)人懂持續(xù)集成保證了即使不了解系統(tǒng)也敢于修改系統(tǒng)。同時(shí)大量的測(cè)試用例是系統(tǒng)最準(zhǔn)確的文檔。對(duì)系統(tǒng)有疑問(wèn),而又沒(méi)人可以咨詢的時(shí)候,可以通過(guò)修改代碼、測(cè)試用例的方式去探索,而看不懂文檔就完全沒(méi)有辦法了IPD-CMM號(hào)稱可以不依賴于人,但是僅僅是目標(biāo),從來(lái)都沒(méi)有做到代碼日益腐爛,完全無(wú)法看懂,沒(méi)有人敢改代碼。文檔糟糕透頂,絕大多數(shù)文檔是應(yīng)付流程的產(chǎn)物敏捷不能解決問(wèn)題,只能讓問(wèn)題暴露的更早敏捷方法是項(xiàng)目的救星嗎?不,我認(rèn)為它依然會(huì)失敗。敏捷開(kāi)發(fā)可以帶給你的一件事情是:讓這些項(xiàng)目失敗的更快、損失的更少,因?yàn)槟憧梢詫r(shí)間和精力用于開(kāi)始做下一件事情。
KentBeck總結(jié)軟件是復(fù)雜的,由此引發(fā)了一致性和可變性的問(wèn)題。隨著軟件規(guī)模的日益膨脹,參與的人日益增加,軟件的本質(zhì)問(wèn)題越來(lái)越突出復(fù)雜性:1、采用分而治之的思想,把一個(gè)大的軟件劃分為多個(gè)小特性,降低了每一輪迭代搜需面臨的復(fù)雜度一致性:1、按照特性組織團(tuán)隊(duì),發(fā)揮群體智慧,團(tuán)隊(duì)共同擁有代碼,共同為需求、架構(gòu)、設(shè)計(jì)、測(cè)試負(fù)責(zé)。2、通過(guò)持續(xù)的反饋(迭代、面對(duì)面的溝通)消除不一致可變性1、變化難以預(yù)測(cè),過(guò)早的應(yīng)對(duì)變化會(huì)導(dǎo)致浪費(fèi)。Keepitsimple。2、每一個(gè)項(xiàng)目都是不同的,每一個(gè)人也都是不同的。敏捷團(tuán)隊(duì)根據(jù)團(tuán)隊(duì)成員和項(xiàng)目需求的特性,自己決定流程、方法和工具參考書(shū)籍《敏捷軟件開(kāi)發(fā)原則模式與實(shí)踐》《重構(gòu)》《人月神話》《編寫(xiě)有效用例》《人件》《修改代碼的藝術(shù)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 新羅西城發(fā)展現(xiàn)狀及未來(lái)趨勢(shì)分析
- 湘教版科學(xué)六年級(jí)下冊(cè)全冊(cè)教案
- 四年級(jí)語(yǔ)文閱讀課件
- 2024年縣鎮(zhèn)醫(yī)療機(jī)構(gòu)招聘考試題及答案
- 小學(xué)生班會(huì)課件
- 中班家長(zhǎng)會(huì)專題教學(xué)
- 銀行律師兼職合同模板
- 雞蛋銷售合同模板
- 國(guó)際承包合同合同模板
- 餐飲訂餐服務(wù)合同模板
- 直播電商基礎(chǔ)知識(shí)考核試題及答案
- 計(jì)算機(jī)各種進(jìn)制轉(zhuǎn)換練習(xí)題(附答案)
- 防靜電安全技術(shù)
- 智能機(jī)器人設(shè)計(jì)與實(shí)踐智慧樹(shù)知到期末考試答案章節(jié)答案2024年北京航空航天大學(xué)
- 罐頭食品行業(yè)質(zhì)量控制及安全管理
- 浙江省杭州市杭州外國(guó)語(yǔ)學(xué)校2023-2024學(xué)年七年級(jí)上學(xué)期期末英語(yǔ)試題
- 專利申請(qǐng)文件審查意見(jiàn)的答復(fù)
- 幼兒園教師外出學(xué)習(xí)培訓(xùn)考察審批表(文檔良心出品)
- DB11∕T 583-2022 扣件式和碗扣式鋼管腳手架安全選用技術(shù)規(guī)程
- 尼莫地平口服溶液-臨床用藥解讀
- (高清版)DZT 0017-2023 工程地質(zhì)鉆探規(guī)程
評(píng)論
0/150
提交評(píng)論