<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 310, comments - 6939, trackbacks - 0, articles - 3
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
    應(yīng)該51CTO寫的專稿:http://www.51cto.com/art/200801/63843.htm

     

    敏捷開發(fā)(Agile Development)在國內(nèi)越來越紅火,隨著“敏捷”一詞出現(xiàn)在越來越多的項(xiàng)目中,于是,敏捷開發(fā)本身也被賦與了越來越多的意義,而敏捷的真正內(nèi)涵反而變得越來越模糊。如何邁出敏捷開發(fā)第一步?是按照敏捷寶典、操作指南或是教父語錄,還是因地制宜、因項(xiàng)目定方法?完成所有這些工作后,我們就真的“敏捷”了嗎?

    一、前言

    Agile是指企業(yè)能夠?qū)ν獠凯h(huán)境做出速捷、有效的反應(yīng),是未來企業(yè)的必備素質(zhì)。21世紀(jì)企業(yè)面臨的競(jìng)爭(zhēng)環(huán)境將是一個(gè)不斷變化、不可預(yù)測(cè)的環(huán)境。由于高新技術(shù)的出現(xiàn)和更迭越來越快,產(chǎn)品的生命周期日益縮短,企業(yè)要面對(duì)這樣的新的競(jìng)爭(zhēng)環(huán)境,抓住市場(chǎng)機(jī)遇,迅速開發(fā)出用戶所需要的產(chǎn)品,就必須實(shí)現(xiàn)敏捷反應(yīng)。

    狹義地講,敏捷企業(yè)就是將柔性的先進(jìn)制造技術(shù)、熟練掌握生產(chǎn)技能、有知識(shí)的勞動(dòng)力以及促進(jìn)企業(yè)內(nèi)部和企業(yè)之間的靈活管理三者集成在一起,對(duì)千變?nèi)f化的市場(chǎng)機(jī)會(huì)做出快速、有效的響應(yīng)。敏捷企業(yè)強(qiáng)調(diào)人、組織和技術(shù)的有機(jī)結(jié)合。通過這三者的緊密結(jié)合,敏捷企業(yè)可以發(fā)揮最佳的整體效益。評(píng)價(jià)一個(gè)企業(yè)敏捷性的具體指標(biāo)是時(shí)間、成本、穩(wěn)健性(Robustness)和適應(yīng)范圍。對(duì)敏捷企業(yè)的廣義理性,可以認(rèn)為敏捷企業(yè)是一個(gè)CIMS(計(jì)算機(jī)集成制造系統(tǒng))、動(dòng)態(tài)聯(lián)盟、并行工程、擬實(shí)制造、高素質(zhì)員工等多方面的系統(tǒng)集成,是一個(gè)基于CIMS、在CMS基礎(chǔ)上發(fā)展起來的一個(gè)更高層次的集成大系統(tǒng)。

    二、變味的敏捷

    敏捷是大家在一起高效率地工作,清楚所有溝通上的障礙,關(guān)注于增值的活動(dòng),從而使得開發(fā)更加成功。敏捷是大家肩并肩地工作,而不是什么都通過文檔。敏捷是管理者積極地參加到項(xiàng)目管理中而不是整天去寫狀況報(bào)告,用那個(gè)來監(jiān)督到底發(fā)生了什么事情。敏捷是開發(fā)人員和涉眾(項(xiàng)目開發(fā)中涉及的從需求到最后交付的各種人員)在一起制定實(shí)際的計(jì)劃,而不是用復(fù)雜的微軟Project去制定一些幾乎沒人看的進(jìn)度表。

    公平地說,很難設(shè)想敏捷術(shù)能如何發(fā)揮作用,尤其是在一些軟件開發(fā)本身都問題重重的傳統(tǒng)組織中,被誤導(dǎo)過的敏捷更是難以幫上什么忙。

    敏捷開發(fā),看到過這個(gè)詞時(shí),很多人一直沒有什么深刻的體會(huì),也沒有仔細(xì)去研究到底什么才是敏捷開發(fā)。而一直在很多人的思想里,敏捷開發(fā)的印象就是,開發(fā)速度比較快。沒錯(cuò),做互聯(lián)網(wǎng)的,快確實(shí)是一個(gè)制勝的法寶,那么敏捷開發(fā)似乎也就是在互聯(lián)網(wǎng)應(yīng)用的開發(fā)中最適合的方法了。那么敏捷開發(fā)中的參與者應(yīng)該是什么狀態(tài)?這似乎成了一直以來困擾很多管理者的嚴(yán)重問題。可以說,在敏捷開發(fā)中,并沒有覺得有多敏捷,進(jìn)度一拖再拖,問題一個(gè)接著一個(gè),讓我覺得我們是在進(jìn)行慌亂開發(fā)。為什么會(huì)這樣?

    另外關(guān)于實(shí)施敏捷的效果也是充滿置疑之聲。我們經(jīng)??吹揭恍┨?hào)稱 Agile 的國內(nèi)項(xiàng)目,按照菜譜、操作指南和教父語錄的提示,采用了許多花哨的技巧和實(shí)踐(做法),是啊,表面上確實(shí) Agile 了,那么結(jié)果呢?項(xiàng)目還是不能按時(shí)完成,甚至嚴(yán)重超支和超時(shí),這能叫“敏捷”嗎?

    三、敏捷十戒

     1.天報(bào)制度

    就算是進(jìn)行遠(yuǎn)程開發(fā)或是兩地使用開發(fā),項(xiàng)目組的成員每天至少碰一次,不管是當(dāng)面的,還是通過其它方式,如通過電話、emailSkype或其它。進(jìn)行敏捷開發(fā)的時(shí)間,任何團(tuán)隊(duì)都不能以任何理由進(jìn)行孤立的開發(fā)。

    2.例會(huì)制度

    即使每天通過Email給主管匯報(bào)工作,但有時(shí)主管還是無法及時(shí)準(zhǔn)確的掌握項(xiàng)目組成員的狀況及工作量。此時(shí),通過每周一小時(shí)左右的例會(huì)將會(huì)有效的解決此問題。通過例會(huì),大家面對(duì)面的就某些問題進(jìn)行共同的探討與討論,找到共同的解決方案。

    3.版本控制

    如果沒有一臺(tái)干凈的電腦來進(jìn)行團(tuán)隊(duì)代碼管理的話,則很有可能導(dǎo)致代碼的混亂。而每天只須花很少的時(shí)間,哪怕一天一次,進(jìn)行及時(shí)的數(shù)據(jù)提交與代碼提交,則可以有效的保證團(tuán)隊(duì)之前代碼的同步及代碼的備份。

    4.需求失靈

    即使手里拿著30頁且客戶進(jìn)行了簽字的需求說明,有可能仍然不知所措。相對(duì)起那些良好的設(shè)計(jì)、精確的分析等,與客戶持續(xù)的溝通、及時(shí)的反饋、不斷的演示這些工作顯得更加的有效果??梢杂行У墨@得需求變化,減少誤解,更加準(zhǔn)確的把握用戶的需求。

    5.單元測(cè)試是QA的工作

    很多開發(fā)人員,甚至一些高級(jí)的軟件開發(fā)人員,對(duì)于單元測(cè)試沒有足夠的認(rèn)識(shí),在行動(dòng)上也沒有足夠的注意。大家都一致的認(rèn)為那是QA的事情。就開發(fā)人員來講,單元測(cè)試應(yīng)該是一種白箱測(cè)試,能從功能上充分的測(cè)試軟件的功能性。而對(duì)QA來說,只能是一種黑箱測(cè)試,無法深入的去分析代碼的優(yōu)勢(shì),只是從用戶的角度進(jìn)行功能上的測(cè)試而已。

    6.質(zhì)量保證是QA的責(zé)任

    自從有了質(zhì)量管理這個(gè)詞以及后來產(chǎn)生的質(zhì)量管理部門后,很多開發(fā)人員就理所當(dāng)然的認(rèn)為質(zhì)量保證是QA的責(zé)任了。其實(shí)每一個(gè)人都需要對(duì)軟件的質(zhì)量負(fù)責(zé),特別是開發(fā)人員。Bug越最早發(fā)現(xiàn),那么解決它的成本就越低。

    7.項(xiàng)目進(jìn)度風(fēng)險(xiǎn)控制

    也許一個(gè)項(xiàng)目需要18個(gè)月左右才能完成,但在沒完成之前,誰也無法進(jìn)行比較準(zhǔn)確的時(shí)間估計(jì)。無法確定需要多長(zhǎng)的時(shí)間進(jìn)行設(shè)計(jì)、編碼及軟件組件的組合。但進(jìn)行項(xiàng)目設(shè)計(jì)、實(shí)現(xiàn)及融合的人應(yīng)該相對(duì)比較準(zhǔn)確的掌握與估計(jì)項(xiàng)目的時(shí)間。因此,需要進(jìn)行項(xiàng)目進(jìn)度的風(fēng)險(xiǎn)控制,風(fēng)險(xiǎn)總是存在的,但要進(jìn)行有力與及時(shí)的控制。充分意識(shí)到項(xiàng)目中可能會(huì)存在的風(fēng)險(xiǎn)因素,在制定計(jì)劃時(shí)預(yù)留一定的時(shí)間,如果在項(xiàng)目進(jìn)行中出現(xiàn)了沒有想到的問題,根據(jù)其重要性,考慮壓后解決,要在計(jì)劃的時(shí)間內(nèi)把計(jì)劃的事情完成好,并為后續(xù)解決問題爭(zhēng)取更多的時(shí)間。

    8.架構(gòu)師身體力行

    很多軟件架構(gòu)師基本上不寫代碼,這也許是好事。軟件架構(gòu)師嘛,當(dāng)然是比較高級(jí)的,他們對(duì)環(huán)境、語言、類庫方面都可能比軟件開發(fā)人員要更加在行,但他們一般不編碼。這樣的架構(gòu)師是危險(xiǎn)的,特別是那些基本上不與首席開發(fā)人員進(jìn)行溝通或咨詢的架構(gòu)師,離項(xiàng)目失敗可能已經(jīng)不遠(yuǎn)了。

    9.牽一發(fā)而動(dòng)全身

    很多時(shí)間,在功能上做了一個(gè)很小的變動(dòng),往往導(dǎo)致花費(fèi)好幾天的功夫來進(jìn)行軟件的集成與整合。如果沒有持續(xù)的整合、及時(shí)的回歸測(cè)試、可靠的整體設(shè)計(jì),一些看起來非常微小的修改都有可能導(dǎo)致很大的麻煩。

    10.加大管理執(zhí)行力

    目前項(xiàng)目中,開發(fā)者或者說參與人的狀態(tài)是混亂的,或者說是慌亂的。那問題在哪里呢?是工作流程出了問題?不應(yīng)該啊。在項(xiàng)目啟動(dòng)前已經(jīng)定了一個(gè)看似美好的流程,而且是經(jīng)過參與人討論一致通過的。那么問題在哪里呢?原來是溝通、傳達(dá)出了問題,執(zhí)行力不夠。那么,就必須加大執(zhí)行力,今日事今日畢,這是必須的。

    另外,在一些產(chǎn)品級(jí)的軟件開發(fā)中,覺得要實(shí)施敏捷式開發(fā),我覺得也有一個(gè)不好解決的問題:沒有具體的客戶!沒有具體的客戶,那你的溝通去哪里尋找呢?一般的做法也是給一些有興趣的用戶發(fā)布Alpha版本,或者是beta版本的軟件??墒钱?dāng)軟件都到了Alpha/beta版本的時(shí)候,軟件還有迭代的余地嗎?未必!從我個(gè)人理解的角度來看,敏捷開發(fā)的適用范圍還是很有局限性的。個(gè)人認(rèn)為最適合使用敏捷開發(fā)的軟件必須要有非常明確的客戶才能進(jìn)行,而有明確客戶的情況以定制型軟件為主。所以,我覺得最適合用敏捷方式開發(fā)的軟件應(yīng)該是——定制軟件!

    四、小結(jié)

    記得Jim Highsmith在他的《敏捷項(xiàng)目管理》一書中這樣寫道:敏捷是指在動(dòng)蕩的業(yè)務(wù)環(huán)境中,適應(yīng)變化并創(chuàng)造變化,從而獲得價(jià)值的一種能力。同時(shí)敏捷是平衡靈活性和穩(wěn)定性的一種能力。由此可見,望文生義地把“敏捷”理解為“做得快”也頗可商榷。如果缺乏有效的實(shí)施指導(dǎo)、忽視嚴(yán)格的敏捷實(shí)踐,單憑著高層面的理解甚至“文化”就開始盲目前行,往往會(huì)因?yàn)槿狈?duì)質(zhì)量的有力保障而失去平衡,最終欲速則不達(dá)。

    套用一句比較俗氣的話,敏捷不是放諸四海而皆準(zhǔn)的通用理論;敏捷不是玄而又玄的文化;敏捷不是在傳統(tǒng)項(xiàng)目合作模式下包治百病的金丹;敏捷不是拋開紀(jì)律盲目求快。除了這些,敏捷還不是什么?那么,今天你真的“敏捷”了嗎?


    評(píng)論

    # re: 敏捷真的是玄而又玄的“文化”嗎?  回復(fù)  更多評(píng)論   

    2008-01-11 17:46 by 小屁
    寫的好,最認(rèn)同的一句話:敏捷是平衡靈活性和穩(wěn)定性的一種能力。由此可見敏捷的重要性

    # re: 敏捷真的是玄而又玄的“文化”嗎?  回復(fù)  更多評(píng)論   

    2008-01-13 01:57 by 咖啡屋的鼠標(biāo)
    敏捷的本質(zhì)是快速反饋,不管是小組與客戶之間的,項(xiàng)目組成員之間的,你自己的的代碼與代碼之間的等等。
    背棄了這個(gè)原則,敏捷也就不成之為敏捷了。

    # re: 敏捷真的是玄而又玄的“文化”嗎?[未登錄]  回復(fù)  更多評(píng)論   

    2008-01-16 09:15 by hiswing
    我很認(rèn)同敏捷,但對(duì)它我仍然有所懷疑,它真的可以完成大型的項(xiàng)目嗎?也許項(xiàng)目本身并不是由同一家公司來做的,也許每個(gè)公司不在同一個(gè)地方甚至不在同一個(gè)國家,人員素質(zhì),以及默契等因素都會(huì)給項(xiàng)目帶來危機(jī)。若沒有嚴(yán)格的體質(zhì)和詳盡的文檔,很有可能導(dǎo)致項(xiàng)目的失敗。至少到現(xiàn)在,還沒有任何一個(gè)團(tuán)隊(duì)用敏捷開發(fā)過這樣的大型項(xiàng)目。還得有人先站出來!

    # re: 敏捷真的是玄而又玄的“文化”嗎?  回復(fù)  更多評(píng)論   

    2008-01-16 10:28 by 咖啡屋的鼠標(biāo)
    @hiswing

    那是分布式敏捷的情形。具db4o的人說,他們是采用分布式敏捷的。關(guān)于文檔和體制,敏捷追求的不是沒有嚴(yán)格的體制和沒有文檔,只不過選擇用切實(shí)的工作模式(站立式晨會(huì)、結(jié)對(duì)、TDD、卡片墻等等)替代文字條框,用代碼代替文檔。
    相對(duì)于敏捷,我一直在想,CMMI操作起來可能會(huì)有很多隱患,比如EPG的家伙們搞過級(jí)還可以,制定出來的文檔模板可能根本不好用,文檔可能看了幫助不大。中國的項(xiàng)目,工期大多是拍腦袋拍出來的,很有可能會(huì)是不可能完成的任務(wù)。小組成員還要分心寫文檔,一方面文檔大多湊付了事,后期文檔的效果會(huì)大打折扣;另一方面從事真正開發(fā)的時(shí)間進(jìn)一步減少。

    # re: 敏捷真的是玄而又玄的“文化”嗎?  回復(fù)  更多評(píng)論   

    2008-01-17 18:06 by rocket
    agile,not a method but a philosophy.
    主站蜘蛛池模板: 国产成人精品久久亚洲高清不卡 | 大桥未久亚洲无av码在线| 免费A级毛片无码A| 最近中文字幕免费mv视频8| 99精品视频免费观看| 黄床大片免费30分钟国产精品 | a级毛片在线免费观看| 亚洲Av永久无码精品一区二区| 亚洲成人福利网站| 日本红怡院亚洲红怡院最新| 亚洲国产精品毛片av不卡在线 | 一级毛片免费全部播放| 亚洲自偷自偷在线成人网站传媒 | 日本免费电影一区二区| jizz日本免费| 日韩毛片免费一二三| 欧美激情综合亚洲一二区| 最新亚洲精品国偷自产在线| 亚洲乱码在线播放| 亚洲激情视频网站| 亚洲成人网在线播放| 亚洲国产日韩在线一区| 亚洲日本精品一区二区| 日木av无码专区亚洲av毛片| 久久亚洲精品视频| 久久亚洲综合色一区二区三区| 亚洲日韩v无码中文字幕| 亚洲中文字幕无码一久久区| 狠狠亚洲狠狠欧洲2019| 伊人久久综在合线亚洲91| 亚洲人AV永久一区二区三区久久| 丁香亚洲综合五月天婷婷| 免费在线不卡视频| 亚洲麻豆精品国偷自产在线91| 亚洲第一区精品日韩在线播放| 亚洲国产V高清在线观看| 亚洲国产香蕉人人爽成AV片久久 | 三级网站在线免费观看| 最好免费观看高清在线| 久久精品私人影院免费看| 亚洲免费在线播放|