第一篇:敏捷的近義詞大全
引導(dǎo)語(yǔ):敏捷這個(gè)詞相信大家在日常生活中都接觸過(guò)不少,那么接下來(lái)是小編為你帶來(lái)收集整理的敏捷的近義詞,歡迎閱讀!
敏捷的近義詞
生動(dòng)、快捷
靈敏、靈便
靈活、迅捷
矯捷、靈巧
機(jī)敏、聰明
飛快、火速
伶俐、急迅
敏銳、活絡(luò)
趕快、靈動(dòng)
快速、麻利
圓活、迅速
敏捷造句
1.他動(dòng)作敏捷,眨眼間就爬上了頂。
2.小松鼠在樹(shù)上竄來(lái)竄去,行動(dòng)非常敏捷。
3.他思維敏捷,談吐也鋒利,駁得對(duì)方啞口無(wú)言。
4.警察叔叔敏捷的身手讓圍觀群眾都為之贊嘆。
5.游泳健兒以優(yōu)美而敏捷的動(dòng)作游出了好成績(jī)。
6.小猴子在樹(shù)上敏捷地跳來(lái)跳去。
7.他行動(dòng)非常敏捷,一轉(zhuǎn)眼的時(shí)間就沒(méi)了蹤影。
8.早就聽(tīng)說(shuō)他思維敏捷,今日一見(jiàn),果然名不虛傳。
9.他運(yùn)球、轉(zhuǎn)身、投籃的動(dòng)作既連貫又敏捷。
10.這學(xué)生天資聰穎,文思敏捷,下筆成章,將來(lái)未可限量。
11.爺爺七十多歲了,頭腦仍然很敏捷。
12.王老師才思敏捷,下筆成文,真令我們這些學(xué)生佩服之至。
13.他敏捷的辯別力使他急躁得毫無(wú)耐心作深思熟慮的判斷。
14.我也希望自己能才思敏捷,下筆成章,然而就是做不到。
15.小明反應(yīng)相當(dāng)敏捷,只要老師教過(guò)的,他都能舉一反三。
16.別看這只獵犬長(zhǎng)得膘肥體壯,追起獵物來(lái)可敏捷得很呢!
17.他個(gè)子高,頭腦敏捷,身手靈活,很適合籃球和排球運(yùn)動(dòng)。
18.這女子年方十八妙齡,才思敏捷,國(guó)色無(wú)雙,待字閨中。
19.這個(gè)學(xué)生,才思敏捷,詞意清新流暢,寫文章時(shí),沒(méi)有絲毫的尋章摘句痕跡。
20.王老師才思敏捷,下筆成文,我們真是佩服之至。
21.她文思敏捷,在大學(xué)中文系讀書時(shí),就被同學(xué)們稱為七步之才。
22.到底是年輕人,思維敏捷,鋒芒逼人,提出的問(wèn)題不好回答呀!
23.他的文思敏捷,信手拈來(lái),總是佳言妙句。
24.老鷹敏捷地?fù)湎蛐‰u。
25.他的學(xué)養(yǎng)深厚,兼以才思敏捷,自然出口成章。
第二篇:關(guān)于敏捷的近義詞
敏捷是什么意思?敏捷的近義詞是什么?敏捷怎么造句?下面跟著小編一起去看看吧。
中文發(fā)音:敏捷[mǐn jié]
詞語(yǔ)解釋:反應(yīng)迅速快捷。
近義詞:靈活、靈敏、矯捷、麻利
用敏捷造句
1、小強(qiáng)的動(dòng)作很敏捷,能跑善鉆,對(duì)這次的比賽很有利。
2、她文思敏捷,寫起文章來(lái)思如泉涌。
3、他打球時(shí)敏捷的身手讓圍觀的同學(xué)們稱贊不已。
4、它敏捷的從一棵樹(shù)上飛快的跳到了另一棵樹(shù)上
5、小強(qiáng)的動(dòng)作很敏捷,對(duì)這次的比賽很有利
6、他爬起樹(shù)來(lái)像猴子一樣敏捷。
7、春天來(lái)了,清幽敏捷的小燕子在藍(lán)天白云下快樂(lè)嬉戲。
8、他思維非常敏捷,每次都能快速回答老師的提問(wèn)。
9、猴子松鼠動(dòng)作敏捷,簌簌地往上登攀。
10、蜻蜓敏捷地掠過(guò),湖面泛起一圈一圈細(xì)密的波紋。
11、小鹿敏捷地逃避了老虎的追趕,快樂(lè)地在河邊漫步。
12、我的思緒猶如窗外的那一只小小的云雀。當(dāng)我想要捧住它時(shí),它卻輕悠敏捷地飛走了。
13、別看奶奶上了歲數(shù),可跳起舞來(lái)步伐輕盈,敏捷極了。
14、功夫片中的女主角個(gè)個(gè)身手不凡,輕悠敏捷。
15、小狗非常敏捷地跑過(guò)去把棍子叼了回來(lái)。
16、小燕子輕悠敏捷,在天空中快樂(lè)地飛翔。
17、奧運(yùn)會(huì)的賽場(chǎng)上,我國(guó)的花樣滑冰運(yùn)動(dòng)員舞步輕盈,展現(xiàn)了敏捷的身姿
18、我們班上的張?zhí)m是一個(gè)才思敏捷的學(xué)生。
19、眼看籃球就要砸在他的頭上了。誰(shuí)知他敏捷地一閃身居然躲了過(guò)去。
20、在排球賽上,他敏捷地跳起扣球,成功啦!
21、他跑步跟松鼠一樣敏捷。
22、他的身體雖然胖乎乎的,但是很敏捷。
用敏捷的近義詞造句
靈活:一只靈活的猴子輕松的爬到了樹(shù)上。
靈敏:這架儀器非常靈敏,能夠精確地測(cè)出遠(yuǎn)距離的極輕微的地震。
矯捷:運(yùn)動(dòng)會(huì)上同學(xué)們?nèi)缤米右粯映C捷,如燕子一樣輕盈。
麻利:曉華做起事來(lái)非常麻利,總能在規(guī)定的時(shí)間之前把事情做完。
【擴(kuò)展閱讀:近義詞辨析】
1、近義詞解釋:近義詞是指意思相近或意義相同的詞語(yǔ)。(近義詞是意思相近,同義詞是意思相同。)
2、很多近義詞所表示的意思看起來(lái)差不多,但實(shí)際所表達(dá)出來(lái)的意思卻有一定的區(qū)別。如:“交換”和“交流”都指雙方把自己的東西給對(duì)方,但是它們的搭配對(duì)象卻不同?!敖粨Q”一般與“禮物、意思、資料、產(chǎn)品”等搭配;“交流”則與“思想、經(jīng)驗(yàn)、文化、物資”等搭配?!敖粨Q”搭配的對(duì)象大都是意義較具體的或所指范圍較小的詞;“交流”搭配的對(duì)象大都是意義較抽象或所指范圍較大的詞。
3、從感情色彩上來(lái)分辨:尊重和尊敬在漢語(yǔ)里算是同義詞,尊重做動(dòng)詞用時(shí),有尊敬之義,故而人們?cè)谑褂脮r(shí)不太注意。差別主要就“敬”字與“重”字上了,尊敬有恭敬,敬仰的意思,尊重有重視和莊重的含意,尊敬:一般是對(duì)長(zhǎng)輩上級(jí),尊重:用于所有人(平輩之間)。
4、許多近義詞都有一個(gè)共同的特點(diǎn),就是它們中間往往有一個(gè)相同的詞素。如:疲倦、疲乏、疲憊。這些近義詞中共同的詞素,決定了它們的基本意義是一致的;而不同的詞素,又體現(xiàn)了它們?cè)~義的差異。因此,同學(xué)們?cè)谡乙粋€(gè)詞的近義詞時(shí),可以抓住這個(gè)詞中表示基本意義的詞素,并用它來(lái)組詞,然后找出近義詞,掌握了找近義詞的方法,還要注意積累詞語(yǔ),詞語(yǔ)積累多了,找近義詞也就比較容易了。
5、漢字的表義性,決定字義教學(xué)的實(shí)質(zhì)是辭義教學(xué)。因?yàn)橹挥挟?dāng)一個(gè)字同時(shí)也是一個(gè)詞的時(shí)候,才有意義。字詞義教學(xué)對(duì)學(xué)生掌握字形有很大幫助,可以減少機(jī)械記憶,增加意義識(shí)記,對(duì)培養(yǎng)學(xué)生的閱讀能力也很重要,因?yàn)槔斫庹n文必先理解每字詞的意思。
6、透過(guò)查字典的方法,可以培養(yǎng)學(xué)生理解近義詞之種類。有些詞必須連接上下文才能正確解讀者,則必須由老師從旁指導(dǎo),增加閱讀書籍的量亦可增強(qiáng)學(xué)生之詞匯能力。對(duì)生字詞多分析、比較,對(duì)訓(xùn)練兒童準(zhǔn)確理解詞義,區(qū)分具體事物的細(xì)微差別,提高理解、運(yùn)用語(yǔ)言的能力及正確使用近義詞大有幫助。
第三篇:2018年敏捷安全衛(wèi)士
敏捷安全衛(wèi)士
第一部分 敏捷安全衛(wèi)士系統(tǒng)簡(jiǎn)介
在社會(huì)分工日益明細(xì)、商業(yè)往來(lái)日益密切、信息技術(shù)日新月異的今天,如何有效保護(hù)商務(wù)數(shù)據(jù)、技術(shù)資料、財(cái)務(wù)報(bào)表等企業(yè)核心數(shù)據(jù)的安全,是每個(gè)企業(yè)管理者不得不面對(duì)的一個(gè)重要問(wèn)題。這些信息一旦泄漏,不論是有意還是無(wú)意,都將危及企業(yè)的聲譽(yù)和業(yè)務(wù)。即使是無(wú)意,也有可能給企業(yè)帶來(lái)巨大危害,甚至使企業(yè)陷入窘境或?qū)е缕飘a(chǎn)。
電子文件具有易于復(fù)制、易于傳輸?shù)奶攸c(diǎn),給企業(yè)帶來(lái)便利的同時(shí)。電子文件的管控一直是業(yè)界難于解決的一個(gè)問(wèn)題。電子文件一旦被借閱,則借閱者對(duì)文件就具有了完全的權(quán)利,無(wú)法向傳統(tǒng)媒介文檔一樣實(shí)施收回或歸還操作,客觀上造成秘密材料的無(wú)序傳播。實(shí)踐證明:只要系統(tǒng)內(nèi)部還存在不加密的電子文檔,以往的各種安全系統(tǒng)(防火墻等)就無(wú)法徹底杜絕機(jī)密文件被泄密。
DG采用的是一種主動(dòng)的安全策略,從文件創(chuàng)建到刪除的整個(gè)生命周期都對(duì)其進(jìn)行安全保護(hù),且不會(huì)改變員工的正常操作模式,在安全性和方便性之間找到了一個(gè)非常好的平衡點(diǎn)。這種安全策略有別于防火墻、防水墻等“堵”的安全策略,且可與防火墻、防病毒、防水墻等安全產(chǎn)品完全兼容使用,DG從“內(nèi)部控制”的層面對(duì)現(xiàn)有安全系統(tǒng)進(jìn)行了重要的補(bǔ)充。由于DG從信源上保證了安全,因此在安全系統(tǒng)中DG的安全作用將是不可替代的,DG結(jié)合其他的安全系統(tǒng)使用能夠?yàn)橛脩魳?gòu)造更嚴(yán)密的信息安全體系。
第二部分 敏捷安全衛(wèi)士系統(tǒng)功能
敏捷安全衛(wèi)士是敏捷科技信息資產(chǎn)保護(hù)安全解決方案的有機(jī)組成部分,可與外發(fā)文件控制系統(tǒng)、打印安全管理軟件、桌面安全管理系統(tǒng)、數(shù)據(jù)主動(dòng)備份系統(tǒng)相結(jié)合,能夠?qū)ζ髽I(yè)的信息資產(chǎn)提供全方位的保護(hù)。
敏捷安全衛(wèi)士系統(tǒng)功能架構(gòu)
敏捷安全衛(wèi)士系統(tǒng)分三層架構(gòu),由服務(wù)器、管理機(jī)和客戶機(jī)組成。
二、敏捷安全衛(wèi)士系統(tǒng)部署方式
由于DG V8采取服務(wù)器、管理機(jī)、客戶機(jī)三層架構(gòu)模式,所以可根據(jù)客戶的特點(diǎn)實(shí)現(xiàn)兩種部署方式:集中式部署和分布式部署。
1、集中式部署
集中部署適合地理分布相對(duì)集中,所有部門都在一個(gè)局域網(wǎng)內(nèi)的企業(yè)。如下圖所示:企業(yè)內(nèi)部搭建一臺(tái)服務(wù)器,所有客戶機(jī)的信息,包括密鑰、計(jì)算機(jī)信息、用戶信息、和相關(guān)信息等全部集中在該服務(wù)器上,所有信息均為集中管理方式,服務(wù)器可以針對(duì)不同用戶分配不同權(quán)限。加密系統(tǒng)管理員統(tǒng)一指定解密端、客戶機(jī)權(quán)限設(shè)置端,相應(yīng)人員分別行使各自權(quán)限。
集中式部署模式
2、分布式部署 分布式部署,適合由地理分布較分散的集團(tuán)型企業(yè),集團(tuán)成員企業(yè)與集團(tuán)總部之間通過(guò)VPN等方式方式連接,一般情況下帶寬較窄,且在這條鏈路上傳輸?shù)臄?shù)據(jù)也比較多。所以,分布式部署模式下,在集團(tuán)統(tǒng)一安裝DG服務(wù)端,在集團(tuán)及各個(gè)下屬企業(yè)安裝管理機(jī),各個(gè)下屬企業(yè)企業(yè)的加密客戶端及加密策略由各個(gè)企業(yè)信息中心管理員統(tǒng)一管理,整個(gè)集團(tuán)可采用同一根密鑰和不同子密鑰的方式進(jìn)行管理。
分布式部署模式
3、支持廣域網(wǎng)部署
系統(tǒng)支持在廣域網(wǎng)(互聯(lián)網(wǎng))中進(jìn)行部署,客戶端計(jì)算機(jī)如果不在公司內(nèi)部,只要服務(wù)器有公網(wǎng)IP地址,客戶端仍可以安裝連接到公司的服務(wù)器,服務(wù)器可以正常注冊(cè)管理處于互聯(lián)網(wǎng)中的客戶端計(jì)算機(jī),與局域網(wǎng)中的客戶端同樣的管理方式,具有同樣的加密功能和效果。
第三部分 敏捷安全衛(wèi)士系統(tǒng)特點(diǎn)
一、自由空間 守護(hù)無(wú)痕
通過(guò)敏捷科技獨(dú)創(chuàng)的實(shí)時(shí)加密和應(yīng)用程序監(jiān)控技術(shù),確保在企業(yè)辦公環(huán)境中,所有應(yīng)用程序的功能和加密文件都能正常使用,不影響正常工作;由于所有文件始終都處于加密狀態(tài),一旦離開(kāi)本企業(yè)的企業(yè)DG環(huán)境都無(wú)法使用,文件無(wú)論以任何方式存儲(chǔ)或轉(zhuǎn)移,不必?fù)?dān)心信息泄密。
安裝了DG系統(tǒng)的計(jì)算機(jī),在操作上沒(méi)有任何變化,用戶甚至察覺(jué)不到安裝了,DG在后臺(tái)保護(hù)電子文件。
二、實(shí)時(shí)加密 全程守衛(wèi) DG可以提供對(duì)現(xiàn)有主流的二維、三維設(shè)計(jì)軟件(如Auto CAD、PRO/E)、現(xiàn)有主流辦公軟件(如Office、WPS)、電氣設(shè)計(jì)軟件等產(chǎn)生的文件進(jìn)行實(shí)時(shí)加密的功能。計(jì)算機(jī)在安裝DG后,用戶使用設(shè)計(jì)軟件和辦公軟件所產(chǎn)生的所有相關(guān)文檔都將自動(dòng)加密。
DG管理機(jī)為企業(yè)內(nèi)加密文件的唯一出口。
DG管理機(jī)的日志記錄所有加/解密操作,便于追溯。
三、智能監(jiān)控
DG的后臺(tái)監(jiān)控程序能捕捉到應(yīng)用程序?qū)ξ募牟僮鳎ㄈ绱蜷_(kāi)、瀏覽、編輯、保存、另存為等操作),DG的安全服務(wù)能正確處理文件的操作,使在文件內(nèi)容始終加密的條件下,應(yīng)用程序能正常工作。
DG的后臺(tái)監(jiān)控程序能捕捉到應(yīng)用程序和系統(tǒng)中的復(fù)制粘貼、截屏、發(fā)郵件、插入對(duì)象、打印等任何可能泄密的不安全操作,并做了相應(yīng)的安全處理。
DG只控制用戶選擇要監(jiān)控和保護(hù)的應(yīng)用程序,不影響其他軟件的使用。
在服務(wù)器能夠監(jiān)控下級(jí)管理機(jī)的工作狀態(tài),并匯總下級(jí)管理機(jī)的加解密文件、注冊(cè)和配置客戶機(jī)、管理機(jī)工作狀態(tài)等各類工作日志。
在管理機(jī)上能夠監(jiān)控下級(jí)客戶機(jī)的安全服務(wù)的工作狀態(tài)是否正常。
四、無(wú)縫集成
安裝了DG的客戶機(jī),無(wú)需進(jìn)行文件加密操作,文件在在全生命周期中自動(dòng)加密。完全不需要使用傳統(tǒng)的輸入密碼和手動(dòng)進(jìn)行加密的操作。
加密后的文件,在下次需要查看、編輯操作時(shí),不需要進(jìn)行解密操作。
與應(yīng)用軟件無(wú)縫集成,自動(dòng)對(duì)文件全程加密(文件從創(chuàng)建開(kāi)始,在編輯、瀏覽、復(fù)制、傳輸、刪除等的全生命周期中始終處于加密狀態(tài)),從而不怕被非法帶走。
根據(jù)客戶的要求,DG能與企業(yè)原有文檔管理系統(tǒng)(如PDM、OA等)集成,提升公司文檔集中管理系統(tǒng)的安全性。在不使用任何硬件網(wǎng)關(guān)設(shè)備的情況下,可達(dá)到集成目標(biāo):上傳解密、下載加密;不裝DG客戶端或者不在安全桌面下的計(jì)算機(jī)無(wú)法使用文檔管理系統(tǒng)等。
五、無(wú)窮密鑰
DG在設(shè)計(jì)中充分考慮了各種破解可能,針對(duì)不同企業(yè)采取不同的加密算法和加密驗(yàn)證機(jī)制,確保加密文件互不通用。
DG應(yīng)用了經(jīng)過(guò)數(shù)學(xué)證明的足夠復(fù)雜的加密算法,使得加密文件的破解成本高昂。同一家企業(yè)的兩個(gè)加密文檔或者對(duì)一個(gè)文檔進(jìn)行兩次加密,它們使用的加密方式也不相同。使得破解一個(gè)文件的結(jié)果不能用來(lái)破解第二個(gè)文件。
六、運(yùn)行穩(wěn)定
對(duì)DG支持的每一個(gè)應(yīng)用程序、版本和操作系統(tǒng)環(huán)境,我們都經(jīng)過(guò)了超嚴(yán)密、大負(fù)荷、長(zhǎng)時(shí)間的性能測(cè)試和可靠性測(cè)試,確保安全穩(wěn)定。
全面的測(cè)試用例,每個(gè)應(yīng)用程序的測(cè)試用例都來(lái)自資深設(shè)計(jì)工程師的實(shí)際使用狀況。不同硬件環(huán)境的大范圍測(cè)試。
經(jīng)過(guò)12年時(shí)間的發(fā)展,DG目前已經(jīng)有了數(shù)千家用戶,DG產(chǎn)品在百萬(wàn)臺(tái)電腦上經(jīng)受住了考驗(yàn)。
七、資源占用少
按照讀寫請(qǐng)求的數(shù)據(jù)量進(jìn)行實(shí)時(shí)解密,DG瞬間系統(tǒng)資源占用高峰小,不會(huì)影響工作。在打開(kāi)和關(guān)閉文件時(shí)系統(tǒng)資源相對(duì)開(kāi)銷較大,我們的測(cè)試表明,對(duì)500M大小的文件,安裝DG后比安裝前延遲時(shí)間<10秒。
用戶在文件打開(kāi)后的編輯、瀏覽等操作過(guò)程中,由于DG是按照讀寫請(qǐng)求的數(shù)據(jù)量進(jìn)行實(shí)時(shí)加解密的,這部分?jǐn)?shù)據(jù)量很小,所以用戶操作不會(huì)有延遲的感覺(jué)。
八、安全方便的維護(hù)
DG通過(guò)系統(tǒng)可以自動(dòng)同步企業(yè)AD域服務(wù)器中組織結(jié)構(gòu)、計(jì)算機(jī)信息、用戶信息,可極大降低系統(tǒng)的維護(hù)、管理成本。
客戶端在安裝、更新時(shí)可以通過(guò)域進(jìn)行客戶端的統(tǒng)一分發(fā),自動(dòng)安裝。減少安裝步驟,節(jié)省部署時(shí)間。
DG系統(tǒng)用戶認(rèn)證模塊可在系統(tǒng)登陸時(shí)自動(dòng)進(jìn)行認(rèn)證,可實(shí)現(xiàn)通過(guò)AD域賬戶登陸的用戶即自動(dòng)登陸新模式的其他產(chǎn)品如:DG系統(tǒng)、文件外發(fā)系統(tǒng)等,也即實(shí)現(xiàn)單點(diǎn)登錄功能。
DG系統(tǒng)的加密策略及文檔使用權(quán)限可綁定計(jì)算機(jī)或者域用戶。系統(tǒng)管理員可根據(jù)企業(yè)具體需求進(jìn)行靈活設(shè)置。
安裝過(guò)程綁定計(jì)算機(jī)硬件。DG運(yùn)行過(guò)程監(jiān)控檢查計(jì)算機(jī)硬件,認(rèn)證計(jì)算機(jī)的合法性。在服務(wù)器上裝入升級(jí)包,系統(tǒng)通過(guò)網(wǎng)絡(luò)自動(dòng)升級(jí)下面的管理機(jī)和客戶機(jī)。提供單機(jī)版客戶端安裝,滿足無(wú)法連入企業(yè)內(nèi)網(wǎng)的客戶機(jī)的安裝。DG部署支持廣域網(wǎng)。
第四部分 敏捷安全衛(wèi)士運(yùn)行環(huán)境
1、服務(wù)器/管理機(jī)
對(duì)操作系統(tǒng)環(huán)境的要求 Windows XP系列 Windows 2003系列 Windows Vista 系列 Windows 7系列 Windows 8系列 Windows 2008系列 Windows 2012系列
2、客戶機(jī)
對(duì)操作系統(tǒng)環(huán)境的要求
Windows 2000系列 Windows XP系列 Windows 2003系列 Windows Vista 系列 Windows 7系列
Windows 8系列 安卓2.2及以上版本 iOS 7及以上版本 Linux(Debian 7 32位)
第五部分 敏捷安全衛(wèi)士系統(tǒng)應(yīng)用領(lǐng)域
DG產(chǎn)品已經(jīng)通過(guò)公安部、國(guó)家保密局、國(guó)家密碼管理局、中國(guó)人民解放軍信息安全評(píng)測(cè)認(rèn)證中心的嚴(yán)格檢測(cè),并獲得公安部頒發(fā)的“計(jì)算機(jī)信息系統(tǒng)安全專用產(chǎn)品銷售許可證”、國(guó)家保密局“涉密信息系統(tǒng)產(chǎn)品檢測(cè)證書”、國(guó)家密碼管理局“商用密碼產(chǎn)品生產(chǎn)定點(diǎn)單位證書”、中國(guó)人民解放軍信息安全評(píng)測(cè)認(rèn)證中心“軍用信息安全產(chǎn)品認(rèn)證證書”,可廣泛應(yīng)用于各行各業(yè):
政府國(guó)防:
限制部門及個(gè)人的閱讀、復(fù)制、打印等權(quán)限的內(nèi)部資料和保密文檔(如:公文、統(tǒng)計(jì)數(shù)據(jù)、機(jī)要文檔、會(huì)議記錄、軍事情報(bào)等)。
制造業(yè):
產(chǎn)品設(shè)計(jì)圖紙、設(shè)計(jì)數(shù)據(jù)、專利技術(shù)以及商業(yè)機(jī)密等(如:設(shè)計(jì)圖紙、價(jià)格體系、投標(biāo)資料、客戶資料、財(cái)務(wù)數(shù)據(jù)、采購(gòu)成本、合同訂單等)。
科研院所:
科研成果、專利技術(shù)以及設(shè)計(jì)數(shù)據(jù)(如:研究報(bào)告、技術(shù)文件、設(shè)計(jì)圖紙等)設(shè)計(jì)類機(jī)構(gòu):
設(shè)計(jì)、創(chuàng)意的智慧成果(如:設(shè)計(jì)圖、設(shè)計(jì)方案、策劃文案、客戶信息等)中介機(jī)構(gòu):
涉及眾多客戶的機(jī)密信息、核心數(shù)據(jù)、評(píng)估報(bào)告等。金融機(jī)構(gòu):
需要嚴(yán)格控制的敏感信息,商業(yè)機(jī)密(如融資投資信息、董事會(huì)決議、大客戶信息、上市公司中報(bào)/年報(bào)等)。
第四篇:敏捷開(kāi)發(fā)簡(jiǎn)介
敏捷開(kāi)發(fā)簡(jiǎn)介
2009-04-21 17:46:34.0來(lái)源:e800.com.cn
關(guān)鍵詞:Scrum精益開(kāi)發(fā)敏捷開(kāi)發(fā)
在軟件工業(yè)界,敏捷開(kāi)發(fā)已成為眾多高效開(kāi)發(fā)團(tuán)隊(duì)的制勝之道。它不僅被許多中小公司青睞,在全球一百?gòu)?qiáng)的企業(yè)中,敏捷也已大行其道,受到許多資深項(xiàng)目管理者和開(kāi)發(fā)人員的推崇。歐美軟件企業(yè)中,有近半企業(yè)已采用敏捷方法進(jìn)行開(kāi)發(fā)。大多數(shù)尚未應(yīng)用敏捷的企業(yè),也都對(duì)其有所了解,而且很多在計(jì)劃實(shí)施。中國(guó)的外企,外包公司和許多知名企業(yè)也都開(kāi)始采用了敏捷方法。例如,騰訊內(nèi)部幾乎所有的開(kāi)發(fā)團(tuán)隊(duì)都在實(shí)施敏捷。敏捷方法給這些企業(yè)也已帶來(lái)了巨大的收益。據(jù)業(yè)內(nèi)資深人士和長(zhǎng)期從事敏捷咨詢的服務(wù)公司透露,采用敏捷開(kāi)發(fā)的團(tuán)隊(duì)一般會(huì)提高3-10倍的效率,軟件的質(zhì)量也有了更加可靠的保證。同時(shí),敏捷開(kāi)發(fā)的應(yīng)用也給團(tuán)隊(duì)內(nèi)的每個(gè)成員提供了良好的發(fā)展機(jī)會(huì)。他們的技術(shù)和合作水平都能得到響應(yīng)的提高。敏捷的成功來(lái)源于其方法本身的適用性和團(tuán)隊(duì)對(duì)它的深入理解和合理運(yùn)用。下面我們就對(duì)敏捷開(kāi)發(fā)做一個(gè)簡(jiǎn)單的介紹和討論。敏捷開(kāi)發(fā)由幾種輕量級(jí)的軟件開(kāi)發(fā)方法組成。它們包括:極限編程(XP),Scrum,精益開(kāi)發(fā)(Lean Development),動(dòng)態(tài)系統(tǒng)開(kāi)發(fā)方法(DSDM),特征驅(qū)動(dòng)開(kāi)發(fā)(Feature Driver Development),水晶開(kāi)發(fā)(Cristal Clear)等等。所有這些方法都具有以下共同特征,它們也是敏捷開(kāi)發(fā)的原則和方法:
1.迭代式開(kāi)發(fā)。即整個(gè)開(kāi)發(fā)過(guò)程被分為幾個(gè)迭代周期,每個(gè)迭代周期是一個(gè)定長(zhǎng)或不定長(zhǎng)的時(shí)間塊每個(gè)迭代周期持續(xù)的時(shí)間一般較短,通常為一到六周。
2.增量交付。產(chǎn)品是在每個(gè)迭代周期結(jié)束時(shí)被逐步交付使用,而不是在整個(gè)開(kāi)發(fā)過(guò)程結(jié)束的時(shí)候一次性交付使用。每次交付的都是可以被部署到用戶應(yīng)用環(huán)境中被用戶使用的、能給用戶帶來(lái)即時(shí)效益和價(jià)值的產(chǎn)品。
3.開(kāi)發(fā)團(tuán)隊(duì)和用戶反饋推動(dòng)產(chǎn)品開(kāi)發(fā)。敏捷開(kāi)發(fā)方法主張用戶能夠全程參與到整個(gè)開(kāi)發(fā)過(guò)程中。這使需求變化和用戶反饋能被動(dòng)態(tài)管理并及時(shí)集成到產(chǎn)品中。同時(shí),團(tuán)隊(duì)對(duì)于用戶的需求也能及時(shí)提供反饋意見(jiàn)。
4.持續(xù)集成。新的功能或需求變化總是盡可能頻繁地被整合到產(chǎn)品中。一些項(xiàng)目是在每個(gè)迭代周期結(jié)束的時(shí)候
集成,有些項(xiàng)目則每天都在這么做。
5.開(kāi)發(fā)團(tuán)隊(duì)自我管理。擁有一個(gè)積極的、自我管理的、具備自由交流風(fēng)格的開(kāi)發(fā)團(tuán)隊(duì),是每個(gè)敏捷項(xiàng)目必不可少的條件。人是敏捷開(kāi)發(fā)的核心。敏捷開(kāi)發(fā)總是以人為中心建立開(kāi)發(fā)的過(guò)程和機(jī)制,而非把過(guò)程和機(jī)制強(qiáng)加給
人。
簡(jiǎn)史
許多人認(rèn)為,相比于“傳統(tǒng)”的瀑布開(kāi)發(fā)模式,敏捷開(kāi)發(fā)是一種“現(xiàn)代”的開(kāi)發(fā)模式。但是,實(shí)際上敏捷方法,特別是迭代和增量開(kāi)發(fā)方法(IID)起源于20世紀(jì)30年代的一些非軟件項(xiàng)目。而最早引入一些敏捷方法的項(xiàng)目之一就是20世紀(jì)60年代初的美國(guó)航天局水星計(jì)劃。在這個(gè)項(xiàng)目中,一些極限編程方法如測(cè)試先行等也被使用。此后,迭代和增量開(kāi)發(fā)被IBM聯(lián)邦系統(tǒng)部(FSD)和沃森研究中心(Watson Research Center)采納。有趣的是一些研究人員甚至在關(guān)于瀑布開(kāi)發(fā)模式的最早的論文中發(fā)現(xiàn)了敏捷開(kāi)發(fā)的線索。在這篇論文中,溫斯頓.羅伊斯(Winston Royce)建議在一個(gè)項(xiàng)目中使用兩次瀑布模式,也就是使用兩次迭代。20世紀(jì)70年代,最早的有記載的使用迭代和增量開(kāi)發(fā)的主要項(xiàng)目之一,是為第一艘美國(guó)三叉戟潛艇開(kāi)發(fā)的第一指揮和控制系統(tǒng)。該項(xiàng)目有大約一百萬(wàn)行代碼,進(jìn)行得非常成功。迭代和增量開(kāi)發(fā)從此開(kāi)始穩(wěn)步發(fā)展,越來(lái)越多的項(xiàng)目開(kāi)始使用這種開(kāi)發(fā)模式。在1976年,Tom Gilb在他的著作《軟件度量》(“Software Metrics”)一書中闡述了他的迭代和增量開(kāi)發(fā)實(shí)踐,這可能就是第一部闡述這種方法的書籍。迭代和增量開(kāi)發(fā)的另一次出色發(fā)揮,是在一個(gè)美國(guó)宇航局航天飛機(jī)軟件的開(kāi)發(fā)項(xiàng)目。這個(gè)項(xiàng)目負(fù)責(zé)開(kāi)發(fā)其航空電子設(shè)備的軟件系統(tǒng)。改項(xiàng)目由IBM聯(lián)邦系統(tǒng)部(IBM FSD)在1977至1980年完成。一些典型的敏捷做法,如使用8
個(gè)周迭代以及用反饋推動(dòng)開(kāi)發(fā)循序漸進(jìn)等方法都在該項(xiàng)目中得以應(yīng)用。
20世紀(jì)80年代,更多的出版物和更多的項(xiàng)目應(yīng)用進(jìn)一步推進(jìn)了迭代開(kāi)發(fā)的發(fā)展。在1895年,巴里貝母(Barry Boehm)正式定義了使用迭代開(kāi)發(fā)的螺旋模型(Spiral model)。80年代初,在美國(guó)國(guó)防部發(fā)生
了一件有趣的事情。美國(guó)國(guó)防部一直以來(lái)都要求其軟件開(kāi)發(fā)商在開(kāi)發(fā)過(guò)程中使用嚴(yán)格的瀑布開(kāi)發(fā)模型。但是到了1987年末,國(guó)防部開(kāi)始“建議”使用迭代和增量開(kāi)發(fā)作為軟件開(kāi)發(fā)模式。后來(lái)美國(guó)國(guó)防部的項(xiàng)目審查顯示,早期使用瀑布模式開(kāi)發(fā)的軟件項(xiàng)目,有75%以失敗告終,有些開(kāi)發(fā)出來(lái)的產(chǎn)品根本沒(méi)有被使用過(guò),只有2%的軟件產(chǎn)品無(wú)需大量修改就能被正常使用。
20世紀(jì)90年代,推薦使用迭代和增量開(kāi)發(fā)的出版物和文獻(xiàn)顯著增加。在經(jīng)歷了多次有“瀑布心態(tài)”
(?waterfall mentality?)項(xiàng)目的失敗之后,美國(guó)國(guó)防部開(kāi)始“要求”而不是像80年代那樣僅僅是“建議”他們的軟件開(kāi)發(fā)商使用IID開(kāi)發(fā)模式。Rational統(tǒng)一開(kāi)發(fā)過(guò)程(Rational Unified Process)也是在這一時(shí)期產(chǎn)生并發(fā)展起來(lái)的,它具有更規(guī)范的迭代漸進(jìn)過(guò)程。到2000年底,更多的敏捷方法被廣泛推廣并被使用于各種不同的項(xiàng)目中。2001年二月,一組由17位在DSDM,XP,Scrum,F(xiàn)SD等領(lǐng)域的專家組成的代表團(tuán)齊聚美國(guó)猶他州,尋找這些方法的共同點(diǎn)。最終,這些專家制定并宣布了敏捷開(kāi)發(fā)宣言。由此形成了現(xiàn)在我們所
認(rèn)識(shí)的敏捷開(kāi)發(fā)和后來(lái)的敏捷聯(lián)盟。
敏捷優(yōu)勢(shì)
為什么瀑布模式多數(shù)情況下總會(huì)失???為什么我們需要敏捷開(kāi)發(fā)模式?這個(gè)問(wèn)題在日新月異,飛速發(fā)展的今天似乎很容易解釋。盡管瀑布模式能夠在一個(gè)迭代周期內(nèi)表現(xiàn)優(yōu)異,但是,在如何管理需求變化面前,瀑布模式
卻顯得無(wú)能為力。而事實(shí)上,大多數(shù)的軟件項(xiàng)目都具有以下一些特點(diǎn):
·在初始階段,最終用戶通常不能準(zhǔn)確得知道他們需要什么樣的軟件。即便知道,也很少有人能準(zhǔn)確清楚的表
達(dá)出來(lái)。
·對(duì)于某些項(xiàng)目,在一開(kāi)始,我們可以很好的定義其所有的功能,但是可能有很多細(xì)節(jié)只能隨著項(xiàng)目的不斷深入才能被挖掘出來(lái)。即便是我們了解了所有的細(xì)節(jié),大多數(shù)人還是不能很好的處理這些細(xì)節(jié),特別是在項(xiàng)目開(kāi)
發(fā)初期。
·外部環(huán)境如客戶的業(yè)務(wù)模式,技術(shù)進(jìn)步,甚至是系統(tǒng)的終端用戶都有可能在開(kāi)發(fā)過(guò)程中不斷改變。而預(yù)想或
試圖阻止這些改變通常都是徒勞的。
·在互聯(lián)網(wǎng)時(shí)代,許多Web應(yīng)用程序的開(kāi)發(fā)都是基于對(duì)遠(yuǎn)景客戶的預(yù)期,而非當(dāng)前用戶的實(shí)際需求。在這種
情況下,變化從開(kāi)始就有,而且在系統(tǒng)開(kāi)始應(yīng)用后幾乎每天都會(huì)發(fā)生。
敏捷方法處理需求和技術(shù)變化主要通過(guò)迭代過(guò)程來(lái)管理。在每一次迭代周期結(jié)束時(shí),都應(yīng)交付用戶一個(gè)可用的,可部署的系統(tǒng)。使用并體驗(yàn)該系統(tǒng)所獲得的有價(jià)值的反饋意見(jiàn)將按順序,在隨后的迭代周期中和其它需求變化一起在產(chǎn)品中實(shí)現(xiàn)和集成。每次迭代周期應(yīng)盡可能短,以便能及時(shí)頻繁地處理需求變化和用戶反饋。
采用敏捷開(kāi)發(fā)方式將會(huì)給企業(yè)和用戶帶來(lái)諸多好處:
·精確。它將帶給用戶真正需要的軟件系統(tǒng)。瀑布模式通常會(huì)在產(chǎn)品起點(diǎn)與最終結(jié)果之間計(jì)劃出一條直線,然后沿著直線不斷往前走。然而當(dāng)項(xiàng)目到達(dá)終點(diǎn)時(shí),用戶通常會(huì)發(fā)現(xiàn)那已經(jīng)不是他們想去的地方。而敏捷方法則
采用小步的方式向前走,每走完一步,都需要及時(shí)調(diào)整并為下一步確定當(dāng)前的方向,直到真正的終點(diǎn)?!べ|(zhì)量。敏捷方法對(duì)每一次迭代周期的質(zhì)量都有嚴(yán)格要求。一些敏捷方法如XP等,甚至使用測(cè)試驅(qū)動(dòng)開(kāi)發(fā)(test-driven development),即在正式開(kāi)發(fā)功能代碼之前,先開(kāi)發(fā)該功能的測(cè)試代碼。這些都對(duì)敏捷項(xiàng)
目的整個(gè)開(kāi)發(fā)周期提供了可靠的質(zhì)量保證。
·速度。敏捷開(kāi)發(fā)提倡避免較大的前期規(guī)劃,認(rèn)為那是一種很大的浪費(fèi)。因?yàn)楹芏囝A(yù)先計(jì)劃的東西都會(huì)發(fā)生改變,大規(guī)模的前期規(guī)劃通常是徒勞的。敏捷團(tuán)隊(duì)只專注于開(kāi)發(fā)項(xiàng)目中當(dāng)前最需要的,最具價(jià)值的部分。這樣能
很快地投入開(kāi)發(fā)。另外,較短的迭代周期使團(tuán)隊(duì)成員能迅速進(jìn)入開(kāi)發(fā)狀態(tài)。
·豐厚的投資回報(bào)率(ROI)。在敏捷開(kāi)發(fā)過(guò)程中,最具價(jià)值的功能總是被優(yōu)先開(kāi)發(fā),這樣能給客戶帶來(lái)最大的投資回報(bào)率。
·高效的自我管理團(tuán)隊(duì)。這既是采用敏捷開(kāi)發(fā)的必然結(jié)果,也是推動(dòng)敏捷開(kāi)發(fā)不斷前進(jìn)的動(dòng)力。敏捷開(kāi)發(fā)要求團(tuán)隊(duì)成員必須積極主動(dòng),自我管理。在這樣的團(tuán)隊(duì)中工作,每個(gè)團(tuán)隊(duì)成員的技術(shù)能力,交流,社交,表達(dá)和領(lǐng)
導(dǎo)能力也都能得以提高。
主要的敏捷方法
極限編程(XP)
極限編程(XP)的主要目的是降低需求變化的成本。它引入一系列優(yōu)秀的軟件開(kāi)發(fā)方法,并將它們發(fā)揮到極致。比如,為了能及時(shí)得到用戶的反饋,XP要求客戶代表每天都必須與開(kāi)發(fā)團(tuán)隊(duì)在一起。同時(shí),XP要求所有的編程都采用結(jié)對(duì)編程(pair-programming)的方式。這種方式是傳統(tǒng)的同行審查(peer review)的一種極端表現(xiàn),或者可以說(shuō)是它的替代方式。
XP定義了一套簡(jiǎn)單的開(kāi)發(fā)流程,包括:編寫用戶案例,架構(gòu)規(guī)范,實(shí)施規(guī)劃,迭代計(jì)劃,代碼開(kāi)發(fā),單元測(cè)
試,驗(yàn)收測(cè)試等等。
像所有其他敏捷方法一樣,XP預(yù)期并積極接受變化。它具有以下的價(jià)值觀或原則:
·互動(dòng)交流。團(tuán)隊(duì)成員不是通過(guò)文檔來(lái)交流,文檔不是必須的。團(tuán)隊(duì)成員之間通過(guò)日常溝通,簡(jiǎn)單設(shè)計(jì),測(cè)
試,系統(tǒng)隱喻以及代碼本身來(lái)溝通產(chǎn)品需求和系統(tǒng)設(shè)計(jì)。
·反饋。反饋是一種信息的交流,能使系統(tǒng)更加完善。反饋也和交流密切相關(guān),客戶的實(shí)際使用、功能測(cè)試、單元測(cè)試等都能為開(kāi)發(fā)團(tuán)隊(duì)提供反饋信息。同時(shí),開(kāi)發(fā)團(tuán)隊(duì)也可以通過(guò)估計(jì)和設(shè)計(jì)用戶案例的方式將信息反饋
給客戶。
·簡(jiǎn)單。XP提倡簡(jiǎn)單的設(shè)計(jì),簡(jiǎn)單的解決方案。XP總是從一個(gè)簡(jiǎn)單的系統(tǒng)入手,并且只創(chuàng)建今天,而不是明
天,需要的功能模塊。因?yàn)樗J(rèn)為,創(chuàng)建明天需要的功能模塊可能會(huì)由于需求的變化而成為浪費(fèi)。
·勇氣。XP在這一點(diǎn)所要達(dá)到的目的(我們認(rèn)為)是鼓勵(lì)一些有較高風(fēng)險(xiǎn)的良好的做法。例如,它要求程序員
盡可能頻繁地重構(gòu)代碼,必須刪除過(guò)時(shí)的代碼,不解決技術(shù)難題就不罷休,等等。
·團(tuán)隊(duì)。XP提倡團(tuán)隊(duì)合作,相互尊重。XP以建立并激勵(lì)團(tuán)隊(duì)為一項(xiàng)重要任務(wù)。同時(shí)它把互相尊重和實(shí)際的開(kāi)發(fā)習(xí)慣相結(jié)合。比如,為了尊重其他團(tuán)隊(duì)成員的勞動(dòng)成果,每個(gè)人不得將未通過(guò)單元測(cè)試的代碼集成到系統(tǒng)
中。因此,每個(gè)人的代碼質(zhì)量必須過(guò)關(guān)。
核心做法:
·小規(guī)模,頻繁的版本發(fā)布,短迭代周期。
·測(cè)試驅(qū)動(dòng)開(kāi)發(fā)(Test-driven development)。
·結(jié)對(duì)編程(Pair programming)。
·持續(xù)集成(Continuous integration)。
·每日站立會(huì)議(Daily stand-up meeting)。
·共同擁有代碼Collative code ownership.·系統(tǒng)隱喻(System metaphor)。
SCRUM Scrum是一個(gè)敏捷開(kāi)發(fā)框架,它由一個(gè)開(kāi)發(fā)過(guò)程,幾種角色以及一套規(guī)范的實(shí)施方法組成。它可以被運(yùn)用于
軟件開(kāi)發(fā),項(xiàng)目維護(hù),也可以被用來(lái)作為一種管理敏捷項(xiàng)目的框架。
在Scrum中,產(chǎn)品需求被定義為產(chǎn)品需求積壓(product backlogs)。產(chǎn)品需求積壓可以是用戶案例,獨(dú)立的功能描述,技術(shù)要求等。所有的產(chǎn)品需求積壓都是從一個(gè)簡(jiǎn)單的想法開(kāi)始,并逐步被細(xì)化,直到可以被開(kāi)
發(fā)的程度。
Scrum將開(kāi)發(fā)過(guò)程分為多個(gè)Sprint周期,每個(gè)Sprint代表一個(gè)2-4周的開(kāi)發(fā)周期,有固定的時(shí)間長(zhǎng)度。首先,產(chǎn)品需求被分成不同的產(chǎn)品需求積壓條目。然后,在Sprint計(jì)劃會(huì)議(Sprint planning meeting)上,最重要或者是最具價(jià)值的產(chǎn)品需求積壓被優(yōu)先安排到下一個(gè)Sprint周期中。同時(shí),在Sprint計(jì)劃會(huì)上,將會(huì)預(yù)先估計(jì)所有已經(jīng)分配到Sprint周期中的產(chǎn)品需求積壓的工作量,并對(duì)每個(gè)條目進(jìn)行設(shè)計(jì)和任務(wù)分配。在Sprint開(kāi)發(fā)過(guò)程中,每天開(kāi)發(fā)團(tuán)隊(duì)都會(huì)進(jìn)行一次簡(jiǎn)短的Scrum會(huì)議(Daily Scrum Meeting)。會(huì)議上,每個(gè)團(tuán)隊(duì)成員需要匯報(bào)各自的進(jìn)展情況,同時(shí)提出目前遇到的各種障礙。每個(gè)Sprint周期結(jié)束后,都會(huì)有一個(gè)可以被使用的系統(tǒng)交付給客戶,并進(jìn)行Sprint審查會(huì)議(Sprint review meeting)。審查會(huì)上,開(kāi)發(fā)團(tuán)隊(duì)將會(huì)向客戶或最終用戶演示新的系統(tǒng)功能。同時(shí),客戶會(huì)提出意見(jiàn)以及一些需求變化。這些可以以新的產(chǎn)品需求積壓的形式保留下來(lái),并在隨后的Sprint周期中得以實(shí)現(xiàn)。Sprint回顧會(huì)隨后會(huì)總結(jié)上次Sprint周期中有哪些不足需要改進(jìn),以及有哪些值得肯定的方面。最后整個(gè)過(guò)程將從頭開(kāi)始,開(kāi)始一個(gè)新的Sprint計(jì)劃會(huì)議。
Scrum定義了4種主要的角色:
·產(chǎn)品擁有者(Product Owner):該角色負(fù)責(zé)產(chǎn)品的遠(yuǎn)景規(guī)劃,平衡所有利益相關(guān)者(stakeholder)的利
益,確定不同的產(chǎn)品需求積壓的優(yōu)先級(jí)等。它是開(kāi)發(fā)團(tuán)隊(duì)和客戶或最終用戶之間的聯(lián)絡(luò)點(diǎn)。
·利益相關(guān)者(Stakeholder):該角色與產(chǎn)品之間有直接或間接的利益關(guān)系,通常是客戶或最終用戶代表。
他們負(fù)責(zé)收集編寫產(chǎn)品需求,審查項(xiàng)目成果等。
·Scrum專家(Scrum Master):Scrum專家負(fù)責(zé)指導(dǎo)開(kāi)發(fā)團(tuán)隊(duì)進(jìn)行Scrum開(kāi)發(fā)與實(shí)踐。它也是開(kāi)發(fā)團(tuán)
隊(duì)與產(chǎn)品擁有者之間交流的聯(lián)絡(luò)點(diǎn)。
·團(tuán)隊(duì)成員(Team Member):即項(xiàng)目開(kāi)發(fā)人員。
Scrum提供一個(gè)敏捷開(kāi)發(fā)框架,其他許多敏捷方法都可以被集成到Scrum中。比如測(cè)試驅(qū)動(dòng)開(kāi)發(fā)(test-
driven development)和結(jié)對(duì)編程(pair programming)等都可以被整合到Scrum中。
精益開(kāi)發(fā)(LEAN DEVELOPMENT)
精益軟件開(kāi)發(fā)模式是從豐田公司的產(chǎn)品開(kāi)發(fā)方法中演化而來(lái)。它主要包括兩個(gè)部分:一部分是核心思想及原
則,另外一部分由一些在相應(yīng)的工具構(gòu)成。
精益開(kāi)發(fā)的核心思想是查明和消除浪費(fèi)。在軟件開(kāi)發(fā)過(guò)程中,錯(cuò)誤(bugs),沒(méi)用的功能,等待以及其他任何對(duì)實(shí)現(xiàn)結(jié)果沒(méi)有益處的東西都是浪費(fèi)。浪費(fèi)及其源頭必須被分析查明,然后設(shè)法消除。精益開(kāi)發(fā)的其它原則
包括:
·強(qiáng)調(diào)學(xué)習(xí)。軟件開(kāi)發(fā)過(guò)程是一個(gè)不斷學(xué)習(xí)的過(guò)程。每個(gè)團(tuán)隊(duì)成員都需要從日常的失敗,互動(dòng),交流以及信息
反饋中學(xué)習(xí),不斷改進(jìn)所開(kāi)發(fā)的產(chǎn)品和開(kāi)發(fā)效率。
·在最后時(shí)刻做決定。這樣可以避免在可能改變的事情上做無(wú)謂的努力,從而有效的避免浪費(fèi)。
·用最快的速度交付用戶。較短的迭代周期能夠加速產(chǎn)品的開(kāi)發(fā)及交付,加快交流,提高生產(chǎn)力。
·給團(tuán)隊(duì)自主權(quán)。激勵(lì)團(tuán)隊(duì)并讓所有團(tuán)隊(duì)成員自我管理始終是所有敏捷方法獲得成功的基本因素之一?!ふ\(chéng)信。確保整個(gè)系統(tǒng)正常工作,真正滿足客戶的需求是整個(gè)團(tuán)隊(duì)需要努力堅(jiān)持的誠(chéng)信和和對(duì)用戶的承諾。·全局觀。精益開(kāi)發(fā)強(qiáng)調(diào)整體優(yōu)化的系統(tǒng)。無(wú)論開(kāi)發(fā)的組織還是被開(kāi)發(fā)的產(chǎn)品,從整體上考慮優(yōu)化比從各個(gè)局
部去優(yōu)化更高效。
對(duì)于上述的每個(gè)原則,都有一些相應(yīng)的實(shí)現(xiàn)工具。這些工具包括價(jià)值流圖(Value Stream Mapping),基于集合的開(kāi)發(fā)(set-based development),拉系統(tǒng)(pull system),排隊(duì)論(queuing theory),等
等。
和其它敏捷方法相比,精益軟件更重要的是不斷完善開(kāi)發(fā)過(guò)程的一種思維方式。因此,將精益模式與其他敏捷
開(kāi)發(fā)模式一起使用將會(huì)取得很好的效果。
其它敏捷方法
動(dòng)態(tài)系統(tǒng)開(kāi)發(fā)方法(DSDM)是由快速應(yīng)用程序開(kāi)發(fā)(RAD)方法演變而來(lái)的敏捷開(kāi)發(fā)模式。DSDM在普遍的敏捷價(jià)值和原則的基礎(chǔ)上,定義了更加詳細(xì)的流程,以涵蓋更完整的項(xiàng)目生命周期。它們包括項(xiàng)目前期活動(dòng)
(pre-project activities),項(xiàng)目可行性研究,功能建模,設(shè)計(jì)和開(kāi)發(fā),實(shí)施或部署,項(xiàng)目后期維護(hù)(post-project maintenance),等等。同時(shí),每個(gè)過(guò)程都定義了諸如如何將每個(gè)功能模型轉(zhuǎn)化為實(shí)際代碼,如何將原型交付最終用戶使用并審查,如何處理反饋信息等的詳細(xì)步驟。因此,DSDM相比于其它敏捷
方法在過(guò)程上顯得比較繁重。
特征驅(qū)動(dòng)開(kāi)發(fā)(FDD)是另一種敏捷開(kāi)發(fā)方式,它將用戶的功能需求劃分成更小的功能特征,然后逐步地在每個(gè)迭代周期中開(kāi)發(fā)實(shí)現(xiàn)這些產(chǎn)品特征。與DSDM方式一樣,F(xiàn)DD仍然會(huì)在項(xiàng)目初期對(duì)整個(gè)項(xiàng)目做較大的規(guī)
劃和建模,以獲得對(duì)該系統(tǒng)的全面了解。但是相比DSDM來(lái)說(shuō),F(xiàn)DD在這些方面簡(jiǎn)捷了一些。
Crystal Clear是另一種敏捷方法。Crystal Clear更專注于人。相比于其他的敏捷方法,它可使人獲得更大的解放。據(jù)稱這種方法更適合于較小規(guī)模的開(kāi)發(fā)小組(由2-8個(gè)人組成)和非關(guān)鍵項(xiàng)目。Crystal Clear定義了七種屬性。前3個(gè)屬性-頻繁的交付(frequent delivery),滲透交流(osmotic communication),反思提高(reflective improvement)-反映出基本的敏捷開(kāi)發(fā)做法和價(jià)值,如周期較短的迭代式開(kāi)發(fā),自我管理的開(kāi)發(fā)團(tuán)隊(duì)和反饋帶動(dòng)增量發(fā)展等等。另外的4個(gè)屬性分別是:個(gè)人安全(personal safety),集中
(focus),容易接觸專家用戶(easy access to expert users)和技術(shù)環(huán)境(technical
environment)。其中,容易接觸專家用戶實(shí)際就是敏捷方法中提到的客戶持續(xù)參與,但Crystal Clear對(duì)此要求比較寬松。Crystal Clear也提供了一些通用的做法,比如,它提供了三種回顧分析的方法:訪談,問(wèn)卷調(diào)查和工作組。Crystal Clear的過(guò)程也是相當(dāng)簡(jiǎn)單,其中涉及短的迭代周期,日常會(huì)議及持續(xù)集成等。還有其他一些敏捷方法如敏捷統(tǒng)一過(guò)程(Agile Unified process),上下文驅(qū)動(dòng)開(kāi)發(fā)(Context Driven Development),Getting Real等。這些方法都是增量和迭代開(kāi)發(fā)過(guò)程,并且重視人多過(guò)于整個(gè)過(guò)程。而各種敏捷方法的區(qū)別在于它們對(duì)敏捷的不同闡釋和不同側(cè)重。理解這些方法可以幫助我們從多個(gè)角度理解敏捷
開(kāi)發(fā),并且了解更多的最佳應(yīng)用。
如何選擇一種敏捷方法
選擇一種合適的方法取決于多種因素。在做出決定之前,我們需要充分考慮以下這些方面:
·方法的復(fù)雜度。確保你的團(tuán)隊(duì)或組織能夠應(yīng)付這種復(fù)雜度。
·社區(qū)和業(yè)界支持。流行的方法可能并不是你最理想的選擇,但流行的方法 至少有較多的社區(qū)及行業(yè)支持,可
以使你受益匪淺。
·實(shí)用工具。選擇一種可以為你提供支持工具的方法。一個(gè)良好的軟件工具可以幫助團(tuán)隊(duì)有效的處理日常工
作,促進(jìn)團(tuán)隊(duì)協(xié)作,并減少管理成本。
·你目前的開(kāi)發(fā)方式以及團(tuán)隊(duì)關(guān)于敏捷方法的認(rèn)識(shí)程度。選擇一些與你當(dāng)前開(kāi)發(fā)方式比較接近的敏捷方法將有
助于推動(dòng)該方法的實(shí)施。
·你的團(tuán)隊(duì)規(guī)模。較小規(guī)模的團(tuán)隊(duì)最好從簡(jiǎn)單的方式入手。當(dāng)然,這并不意味著你必須選擇那些本身就比較簡(jiǎn)單的方法如Crystal Clear。你可以選擇一些相對(duì)比較全面的方法,但從簡(jiǎn)單入手。當(dāng)你的團(tuán)隊(duì)規(guī)模逐漸擴(kuò)
大,再增加相應(yīng)的細(xì)節(jié)。
·你不需要只遵從一種方法。你可以為團(tuán)隊(duì)選擇一個(gè)主要的方法(如Scrum),然后從其他方法中借鑒對(duì)你的團(tuán)隊(duì)或組織有所幫助的其他方式加以整合。
敏捷總是在不斷發(fā)展演變,因此,沒(méi)有一個(gè)人能保證目前的敏捷方法都是正確的。每個(gè)采用敏捷開(kāi)發(fā)的團(tuán)隊(duì)都
可以通過(guò)發(fā)現(xiàn)并形成自己的想法和最佳實(shí)踐,對(duì)敏捷開(kāi)發(fā)做出自己的貢獻(xiàn)。
相關(guān)培訓(xùn)服務(wù)請(qǐng)查看:http:///services/training
1.SCRUM SCRUM?這個(gè)單詞我以前沒(méi)見(jiàn)過(guò),所以我就不喜歡它,呵呵.SCRUM本義表示“混亂”,它包括
多個(gè)“怪異”的方法/過(guò)程名稱。比如,SCRUM將開(kāi)發(fā)過(guò)程分為30天的迭代周期,每個(gè)
迭代周期叫做一個(gè)Sprint(原意:沖啊!);每天有一個(gè)15分鐘的短會(huì),用來(lái)決定第二天的任務(wù)安排這樣的短會(huì)就叫做scrum。
我不喜歡SCRUM的原因如下:
1)一個(gè)方法,搞出這么多名詞,加重我們程序員的負(fù)擔(dān),不好;
2)SCRUM的迭代周期為30天,而且一個(gè)周期叫一個(gè)“沖”,那不是要累死我們程序員?
3)每天有一個(gè)15分鐘的短會(huì),唉,XX黨的會(huì)多!
4)15分鐘的短會(huì)叫“混亂”,那....,15分鐘能結(jié)束嗎?
5)SCRUM強(qiáng)調(diào),開(kāi)發(fā)者每天要向管理者報(bào)告項(xiàng)目進(jìn)度,唉,我受不了了....2.Crystal Crystal根據(jù)項(xiàng)目規(guī)模和項(xiàng)目的重要性(如發(fā)射火箭的項(xiàng)目和一個(gè)“hello world”程序的重要性當(dāng)然是不一樣的)來(lái)區(qū)別項(xiàng)目,并賦以相應(yīng)的方法,所以,crystal是方法的組合.相對(duì)于其它敏捷方法,Crystal強(qiáng)調(diào)軟件開(kāi)發(fā)流程的紀(jì)律性,所以,它比其它敏捷方法易
于使用,但它的生產(chǎn)率不如XP等其它敏捷方法.3.ASD(Adaptive Software Development)
ASD強(qiáng)調(diào)開(kāi)發(fā)方法的適應(yīng)性(Adaptive),這一思想來(lái)源于復(fù)雜系統(tǒng)的混沌理論(這個(gè)
名字大家應(yīng)該都聽(tīng)說(shuō)過(guò)了,炒股的用的很多,呵呵)。ASD不象其他方法那樣有很多具體的實(shí)踐做法,它更側(cè)重于理論,因?yàn)樗淖髡呔褪歉憷碚摮錾淼摹?/p>
4.FDD FDD(Feature Driven Development)定義了5個(gè)流程,分別是Develop an Overall Model、Build a Features List、Plan by Feature、Design by Feature和Build by Feature。
前3個(gè)流程是在項(xiàng)目開(kāi)始就進(jìn)行的,其實(shí)總體相當(dāng)于我們現(xiàn)在的系統(tǒng)分析;后兩個(gè)則出
現(xiàn)在每次迭代周期中,FDD的迭代周期是兩周,相當(dāng)于我們現(xiàn)在的設(shè)計(jì)/編碼/測(cè)試。
開(kāi)發(fā)人員被歸為兩種,一種是主程序員,另一種是class所有者。主程序員不作具體的編程工作,但要負(fù)責(zé)將Feature和Class對(duì)應(yīng)起來(lái),并充當(dāng)開(kāi)發(fā)協(xié)調(diào)者、設(shè)計(jì)者、技術(shù)
支持和指導(dǎo)者等;class所有者則進(jìn)行實(shí)際的編程。我認(rèn)為這樣的劃分對(duì)國(guó)內(nèi)的軟件開(kāi)
發(fā)情況不合適,因?yàn)?真正達(dá)到主程序員水平的人,太少了!
對(duì)于ASD和FDD,國(guó)內(nèi)介紹的還是比較多的.5.XP
第五篇:關(guān)于華為敏捷項(xiàng)目管理
華為公司項(xiàng)目管理
關(guān)于華為敏捷項(xiàng)目管理
IPD – 集成產(chǎn)品開(kāi)發(fā),華為花重金從IBM購(gòu)買的一套產(chǎn)品集成開(kāi)發(fā)流程,業(yè)界有一本書,PACE講的就是這一套IPD流程,而IPD并不去講你的開(kāi)發(fā)要怎么做,IPD做的就是“投資決策、市場(chǎng)驅(qū)動(dòng)”,更多的是決定做不做這個(gè)事情,做這個(gè)事情對(duì)于投資人員是不是受控的,所以在IPD里面會(huì)有DCP點(diǎn)(決策評(píng)審點(diǎn)),每個(gè)點(diǎn)上都會(huì)去考慮該不該做、值不值得去做,在引入這個(gè)東西以前,華為實(shí)際上是技術(shù)驅(qū)動(dòng)的,并不是市場(chǎng)驅(qū)動(dòng)的,就是說(shuō)以前華為聽(tīng)說(shuō)有個(gè)新技術(shù),然后就開(kāi)始做,做了很多這樣的東西,但是后來(lái)都賣不出去,所以后來(lái)就引入了IPD,以市場(chǎng)驅(qū)動(dòng)。在引入IPD后,是解決了做什么的問(wèn)題,但是怎么做,還是按照自己的想法去做,后來(lái)就引入了CMM,引入CMM后對(duì)華為確實(shí)起了非常大的作用,其產(chǎn)品開(kāi)發(fā)的質(zhì)量確實(shí)是比起前提高了,所以在前幾年,通過(guò)IPD+CMM使得華為走向了一個(gè)非常成熟的過(guò)程。在這個(gè)基礎(chǔ)之上,關(guān)于質(zhì)量管理、項(xiàng)目管理華為提出一些自己的體系,比如從項(xiàng)目的開(kāi)始到項(xiàng)目的結(jié)束,有項(xiàng)目review、度量分析、根因分析、缺陷預(yù)防等一系列活動(dòng),在項(xiàng)目管理方面有風(fēng)險(xiǎn)管理、問(wèn)題跟蹤管理等活動(dòng),同時(shí)還會(huì)有質(zhì)量審計(jì)以及相關(guān)的推動(dòng)等事情,通過(guò)這些項(xiàng)目管理和質(zhì)量保證使得IPD和CMM很正常的運(yùn)作下去,但是現(xiàn)在行業(yè)已經(jīng)發(fā)生了一些變化,比如需求變化快等方面華為也碰到了一些問(wèn)題,以前產(chǎn)品質(zhì)量是可控的,大多數(shù)產(chǎn)品的發(fā)布周期也是穩(wěn)定的,比如對(duì)客戶承諾什么時(shí)間提交產(chǎn)品基本上是有保證的,另外項(xiàng)目在管理層的進(jìn)展也是非常清晰化的,你在向某某領(lǐng)導(dǎo)匯報(bào)的時(shí)候只用告訴他比方項(xiàng)目到了SRS階段了,基本上這個(gè)項(xiàng)目的老大就知道這個(gè)項(xiàng)目還有多少事情需要去做,比如告訴他到單元測(cè)試階段了,他就知道快搞定了,這樣確實(shí)使得這個(gè)進(jìn)展能夠口頭化。其實(shí),流程存在的價(jià)值,就是能夠給我們的管理層提供進(jìn)展的可視化,所以從目前來(lái)看,對(duì)于客戶、員工、管理層這三個(gè)利益相關(guān)人來(lái)講確實(shí)達(dá)到了這樣一個(gè)目的。
但是現(xiàn)在行業(yè)中,需求變化太快,不管我們?cè)趺磁θプ觯l(fā)現(xiàn)還是不能滿足客戶的需要,不管需求搞得多么細(xì),到交付產(chǎn)品給客戶的事情,總是有這樣那樣的問(wèn)題,這個(gè)時(shí)候就不得不去修改我們的軟件,這是華為面臨的一個(gè)挑戰(zhàn),如何解決這個(gè)問(wèn)題?
軟件開(kāi)發(fā)中有三個(gè)要素:人、過(guò)程、技術(shù)和工具。對(duì)于一個(gè)軟件項(xiàng)目成功來(lái)說(shuō),這三個(gè)要素都不可省,而在以前大家強(qiáng)調(diào)IPD和CMM,更多的是強(qiáng)調(diào)大家規(guī)范的把它運(yùn)作起來(lái),對(duì)于人、技術(shù)和工具基本上不提了,忽略了,所以后來(lái)就反饋出一個(gè)問(wèn)題,就是很多項(xiàng)目,看起來(lái)那個(gè)過(guò)程做的那個(gè)漂亮,那個(gè)報(bào)告寫得那個(gè)完美,但是交出去的產(chǎn)品那個(gè)爛,其實(shí)這三個(gè)因素是缺一不可的,你必須得均勻的發(fā)展,還有一個(gè)是人的方面,因?yàn)槿耸蔷邆鋭?chuàng)造能力的,所以從華為的教訓(xùn)給我啟發(fā),過(guò)度的關(guān)注過(guò)程而忽視人、忽視技術(shù)和工具,我們就得要思考和反省了。
針對(duì)這些問(wèn)題,華為也就提出了敏捷。華為在99年之前基本上都是土生土長(zhǎng)游擊隊(duì)的做法,到了2001年的時(shí)候就引入了IPD和CMM,到2006年的時(shí)候,就發(fā)現(xiàn)了瀑布模型的問(wèn)題,如交付周期特別長(zhǎng),就是每做一個(gè)客戶的需求,然后一分析,這樣一走半年就過(guò)去了,所以就引入了RUP,最初的想法就是加速我們項(xiàng)目的交付周期,能夠快速的給客戶響應(yīng),但是敏捷實(shí)際上已經(jīng)進(jìn)入了一個(gè)低谷期,所以當(dāng)時(shí)就引入了迭代,實(shí)施了一年之后也發(fā)現(xiàn),RUP里面的東西實(shí)際上也是挺多的,所以后來(lái)就接觸了XP、SCRUM這些方法,這樣就從07年開(kāi)始向敏捷這個(gè)方向在走。
有一個(gè)圖在業(yè)界流傳比較廣泛,也叫洋蔥圖,共分三圈,也就是從三個(gè)不同層面描述了敏捷開(kāi)發(fā)方面的一些最佳實(shí)踐。XP為什么叫極限編程?如果你覺(jué)得這個(gè)軟件開(kāi)發(fā)的實(shí)踐是一個(gè)好的實(shí)踐,那么你就把它發(fā)揮到極致。比如,結(jié)對(duì)編程,一個(gè)在編,一個(gè)人在看,實(shí)際上看的人不會(huì)白看,其實(shí)起到了一個(gè)review的作用,既然review這個(gè)作用有效,那么為什么不把這個(gè)作用發(fā)揮到極致,所以就采用了結(jié)對(duì)編程將review這個(gè)作用發(fā)揮到極致。在敏捷中有一個(gè)8個(gè)字的原則:溝通、反饋、交流、勇氣。它認(rèn)為項(xiàng)目團(tuán)隊(duì)中的成員這個(gè)溝通是比較重要的,既然你非常重要,那么我也要把你發(fā)揮到極致,所以兩個(gè)人一起在干活的時(shí)候就會(huì)不停的有交流與溝通,所以,結(jié)對(duì)編程是一個(gè)典型的把review、溝通交流發(fā)揮到極致的實(shí)踐。另外,TDD也可以認(rèn)為是那剛好夠用的事情發(fā)揮到極致。我們以前傳統(tǒng)的軟件開(kāi)發(fā)的做法是,先做好這個(gè)軟件,然后去測(cè),看看是不是實(shí)現(xiàn)了這樣一個(gè)功能,但是我們總會(huì)發(fā)現(xiàn)這里面有很多代碼其實(shí)是從來(lái)就沒(méi)有用過(guò)的,只是在下代碼的時(shí)候順手就把它寫了,在分析那些產(chǎn)品的時(shí)候發(fā)現(xiàn)有的產(chǎn)品這樣的沒(méi)用到的代碼高達(dá)50%,而TDD的思想是,我既然要實(shí)現(xiàn)什么功能,然后我就先寫對(duì)應(yīng)的用例來(lái)驗(yàn)證它,然后在開(kāi)發(fā)的時(shí)候就開(kāi)始寫代碼,使得這個(gè)用例剛好通過(guò),這樣就使得我們寫出來(lái)的代碼是剛好滿足這個(gè)系統(tǒng)的功能的代碼,這樣,前面出現(xiàn)的50%就可以不用做了,這就是把剛好夠用發(fā)揮到極致。其他的就不一一講了。XP在2001年到2003年之間非常的紅火,過(guò)了之后又相對(duì)的沉寂了一點(diǎn),現(xiàn)在又冒出來(lái)一個(gè)新的敏捷的方法論,就是SCRUM。XP是過(guò)分的強(qiáng)調(diào)將軟件開(kāi)發(fā)里面的實(shí)踐發(fā)揮到極致,而這些實(shí)踐都是同編程實(shí)踐相關(guān),但是在管理方面就比較弱,所以,在用了幾年之后,大家發(fā)揮XP不是起到那么大的作用,所以就開(kāi)始沉寂下來(lái)。這個(gè)時(shí)候就出現(xiàn)一個(gè)流派,就是SCRUM。SCRUM其實(shí)就是一個(gè)非常非常輕量的項(xiàng)目管理框架,基本上沒(méi)有什么編碼實(shí)踐方面的東西,你說(shuō)看到的都是管理上的活動(dòng),這個(gè)管理上的活動(dòng)很多人就會(huì)有一種似曾相識(shí)的感覺(jué),記得前不久,同華為的一個(gè)項(xiàng)目團(tuán)隊(duì)在聊,就談到這個(gè)項(xiàng)目的backlog,一講,項(xiàng)目團(tuán)隊(duì)的人就說(shuō)其實(shí)他就是那樣子做的,他以前也沒(méi)與聽(tīng)說(shuō)過(guò)什么SCRUM,就是把這些需求一條一條的列出來(lái),鎳鎘優(yōu)先級(jí),估個(gè)工作量,一看,就是這個(gè)東西。SCRUM的核心其實(shí)比較簡(jiǎn)單,2分鐘就能講出來(lái),就是3個(gè)3。
一、3個(gè)角色。Product Owner,負(fù)責(zé)決定產(chǎn)品要做什么,做成什么樣子;保證項(xiàng)目能夠遵循SCRUM的方式運(yùn)作下來(lái);項(xiàng)目團(tuán)隊(duì)成員,包含開(kāi)發(fā)、測(cè)試、質(zhì)量等等所有的人。
二、3種會(huì)議。迭代的計(jì)劃會(huì)議、中間的站立式會(huì)議、迭代的評(píng)估會(huì)議,屬于三個(gè)管理的活動(dòng)。
三、3個(gè)交付件。待開(kāi)發(fā)的任務(wù)列表、待修復(fù)的缺陷任務(wù)列表、項(xiàng)目的進(jìn)度圖。
SCRUM就是通過(guò)這3個(gè)3將項(xiàng)目非常簡(jiǎn)潔的管理起來(lái),有一個(gè)思考就是關(guān)于PMP里面講到的9大領(lǐng)域多少活動(dòng)不一定對(duì)這種敏捷項(xiàng)目適用。那么大家可能提出一個(gè)疑問(wèn),就是項(xiàng)目的進(jìn)度是不是就不可視了。其實(shí),敏捷項(xiàng)目的進(jìn)度可視很簡(jiǎn)單,就是通過(guò)一個(gè)白板(進(jìn)度墻、任務(wù)看板),將每個(gè)人的進(jìn)度情況這么一貼,這就是最簡(jiǎn)單最直接的管理方式,一看,所有人都知道,就算你去開(kāi)發(fā)一些什么復(fù)雜的一些IT支撐系統(tǒng),可能都起不到這個(gè)白板的作用。在華為關(guān)于敏捷的一些項(xiàng)目管理工具,用Scrumworks、Bingo這些管理工具也能夠把項(xiàng)目的進(jìn)度管理起來(lái),但是你要做的就是必須得把電腦打開(kāi),要把瀏覽器打開(kāi),這樣才能看到你的進(jìn)度是什么樣子的,而在辦公區(qū)直接樹(shù)一個(gè)白板就能夠很簡(jiǎn)單、很方便的知道我的這個(gè)進(jìn)度情況。所以,在華為,對(duì)于敏捷項(xiàng)目,管理的框架上是采用的SCRUM,指導(dǎo)如何編碼實(shí)現(xiàn)上就采用了一些XP的實(shí)踐,當(dāng)然XP的實(shí)踐不會(huì)全部去選,會(huì)根據(jù)項(xiàng)目的實(shí)際情況
去選一些實(shí)踐,如果你把所有實(shí)踐都選的話,實(shí)際上的效果是非常差的。那么如何來(lái)選擇就得根據(jù)項(xiàng)目的實(shí)際情況去評(píng)價(jià)。華為在實(shí)踐的過(guò)程中也引入了精益、消除浪費(fèi)的思想。比如,在平時(shí)的工作中存在停工等活的浪費(fèi)。什么是停工等活的浪費(fèi)呢?比如我們開(kāi)發(fā)在做開(kāi)發(fā)的時(shí)候,我們的測(cè)試就會(huì)輕松一點(diǎn),那么測(cè)試在做測(cè)試的時(shí)候我們的開(kāi)發(fā)就會(huì)輕松一點(diǎn),大家覺(jué)得這樣也挺好的,但是你從整個(gè)組織角度去分析,實(shí)際上是停工等活的,開(kāi)發(fā)時(shí)測(cè)試在等著,測(cè)試時(shí)開(kāi)發(fā)在等著,如果你從精益的角度考慮的話,為何不通過(guò)迭代的方式把開(kāi)發(fā)和測(cè)試等待的時(shí)候整合在一起來(lái)工作,使得效益得到提升。有很多項(xiàng)目團(tuán)隊(duì)自己去做了,確實(shí)效果比較明顯。其實(shí)在2006年實(shí)踐RUP的時(shí)候就感覺(jué)到這樣的好處了是非常明顯的。引入敏捷之后,自然而然的就會(huì)想到同公司已有流程之間的關(guān)系,原來(lái)是IPD+CMM,所以就有同事問(wèn)到是不是我這個(gè)就不用了。分析可以知道,IPD是決定做不做,決定之后如何去做就可以采用敏捷開(kāi)發(fā),所以對(duì)于敏捷產(chǎn)品的流程就是IPD+敏捷的方式,所以有很多以前采用瀑布型的團(tuán)隊(duì)逐步的被敏捷代替了,還有些團(tuán)隊(duì)正在代替中,還有些團(tuán)隊(duì)就覺(jué)得原來(lái)那套玩得很流暢就繼續(xù)采用原來(lái)的方式。所以目前在華為,項(xiàng)目團(tuán)隊(duì)是可以自己來(lái)選擇采用哪種方式進(jìn)行,現(xiàn)在可以發(fā)現(xiàn),那些愿意選擇敏捷方式走的往往就是原來(lái)那些頑固不化的爛項(xiàng)目,因?yàn)橐郧霸谕屏鞒痰臅r(shí)候,那幫人整天在那里叫,有問(wèn)題,我不干,我不愿意做,實(shí)際上,后來(lái)做深入分析發(fā)現(xiàn),他的那種模式并不適合按照瀑布型去做,但現(xiàn)在成了積極分子,所以每個(gè)項(xiàng)目的模式是不一樣的。
在做敏捷的時(shí)候也存在一些容易做的事情和不容易做的事情。比如說(shuō)SCRUM的項(xiàng)目管理是比較容易去實(shí)踐的,就是3個(gè)3,對(duì)于那些想敏捷的,我建議可以先做這個(gè),還有也會(huì)做一些結(jié)對(duì)編程、持續(xù)集成的實(shí)踐。比較難的,有這么幾點(diǎn)。華為從99年開(kāi)始都是按照開(kāi)發(fā)、測(cè)試等團(tuán)隊(duì)去運(yùn)作的,團(tuán)隊(duì)與團(tuán)隊(duì)之間就會(huì)形成部門的墻(華為有一個(gè)外籍員工給起了一個(gè)名字叫Chinese Wall),對(duì)每個(gè)部門來(lái)說(shuō),希望把這個(gè)墻樹(shù)高一點(diǎn),這樣能獲取更多的資源非常順利的開(kāi)展工作,所以墻就會(huì)越樹(shù)越高,很多部門甚至還有checklist,你只要給我什么東西,我就按照checklist打勾,打勾不通過(guò)的就要干啥干啥,這樣通過(guò)約束管理層,罰款的制度就來(lái)了,而這個(gè)問(wèn)題就很難搞,涉及到很多很多的人員,涉及到部門角色定位的問(wèn)題,這是華為覺(jué)得最難的一點(diǎn)。第二難的問(wèn)題就是TDD,在很多項(xiàng)目都試過(guò),但是試過(guò)之后,很多項(xiàng)目都無(wú)疾而終,或者訴苦說(shuō)這個(gè)我實(shí)在搞不下去,分析后發(fā)現(xiàn),是涉及人做事情方法的改變,這個(gè)挺難的,以前寫代碼都是邊想編寫,就能寫出來(lái),現(xiàn)在你就得先想好、驗(yàn)證好等等,然后再想辦法填進(jìn)去,就發(fā)現(xiàn)這個(gè)很難,這是一個(gè)開(kāi)發(fā)習(xí)慣的改變,這也是很難的一件事情。第三個(gè),就是Customer Tester,就是要客戶參與驗(yàn)證,可能對(duì)于互聯(lián)網(wǎng)企業(yè)可以部署一個(gè)系統(tǒng),用戶參與測(cè)試就可以做起來(lái)了,但是對(duì)于華為而言,客戶是電信企業(yè),而電信是買方,買了之后再供他們的客戶去用,這個(gè)里面客戶就存在好幾層,所以要客戶真的參與進(jìn)來(lái)還是比較難的。第四點(diǎn),也是很難的,我們有一個(gè)團(tuán)隊(duì),要到各個(gè)團(tuán)隊(duì)去宣傳為什么做敏捷,這涉及到觀念的轉(zhuǎn)變,所以這也是非常難的事情。(一夜的引入,長(zhǎng)時(shí)間的改變。)比如你說(shuō)你這個(gè)團(tuán)隊(duì)敏捷了,明天就開(kāi)始站立式會(huì)議,但是你最后會(huì)發(fā)現(xiàn),要真正敏捷實(shí)際上是一個(gè)漫長(zhǎng)的過(guò)程。
在華為實(shí)施敏捷的過(guò)程中,也有一些經(jīng)驗(yàn)性的東西。第一個(gè)是QA從警察的角色轉(zhuǎn)變到一個(gè)教練的角色。在以前,團(tuán)隊(duì)實(shí)施CMM的時(shí)候,QA更多的是一個(gè)警察的角色,他整天拿著一個(gè)checklist、報(bào)告什么的到處去團(tuán)隊(duì)里面看,你是否ok,不ok就要怎么怎么樣,整天就干這個(gè)活,但是引入敏捷之后,QA就覺(jué)得有點(diǎn)失落,都敏捷了,我都不知道該怎么下手了,然后,在華為,就把QA轉(zhuǎn)變了一下,將QA更多的充當(dāng)教練的角色,充當(dāng)?shù)慕巧ブ笇?dǎo)項(xiàng)目團(tuán)隊(duì)該如何去開(kāi)這個(gè)站立式會(huì)議,該怎么去做迭代的計(jì)劃等等指導(dǎo)性的工作,這樣QA也覺(jué)得挺好,這樣他能參與到在不同的團(tuán)隊(duì)中去,這樣他見(jiàn)得也多,所以在敏捷的實(shí)踐里面是需要這么一些人來(lái)干這么一些事情。第二個(gè)就是要營(yíng)造一個(gè)一體化的團(tuán)隊(duì),也就是將所有有墻的部門通通打掉,直接按照項(xiàng)目型運(yùn)作,把大家拉到一起,不要考慮你原來(lái)是什么部門,先把項(xiàng)目做出來(lái)再說(shuō),這就是在XP的外圈中的Whole Team實(shí)踐,因?yàn)榇蠹揖驼嬲且粭l船上的。在很對(duì)項(xiàng)目中,總是存在這樣的一些人,項(xiàng)目成功不成功對(duì)他們是無(wú)關(guān)緊要的,但是有些人項(xiàng)目不成功對(duì)他們是非常重要的,而真正的敏捷項(xiàng)目就要這些人來(lái)掛帥,并且這些人是站在一條戰(zhàn)線上的,所以就叫拉到一體化的團(tuán)隊(duì)里面來(lái),大家都對(duì)交付負(fù)責(zé)。第三個(gè)就是辦公環(huán)境最好也能夠隨著改變。以前大家都是那種小格間的方式,但是這種方式是非常不利于做交流和做項(xiàng)目的。第四個(gè)就是現(xiàn)身說(shuō)法。前面講到有很多這樣的人會(huì)到團(tuán)隊(duì)中去說(shuō)敏捷怎么怎么好,但是如果你讓一些對(duì)項(xiàng)目成功不成功都不相關(guān)的人去講是沒(méi)用的,因?yàn)榇蠹乙宦?tīng),首先就會(huì)質(zhì)疑50%,所以華為當(dāng)初經(jīng)常搞的活動(dòng)就是讓項(xiàng)目經(jīng)理他們?cè)谥v,將他們當(dāng)時(shí)是怎么開(kāi)展敏捷的,這樣別人一聽(tīng)才能理解到原來(lái)你是這么這么做的。