• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 在項目中期實踐XP--第一次迭代小結

    發表于:2007-05-26來源:作者:點擊數: 標簽:
    在項目中期實踐 XP --第一次迭代小結 NetReptile推薦[2005-4-12] 出處:chinaxp 作者:bing he 第一個迭代周期已經完成,因為素材的限制,迭代周期很短,只有1.5Week。目前已經開始第二個迭 代,我從第一個迭代中實施的實踐以及從中得到的經驗和教訓包括: 1

    在項目中期實踐XP--第一次迭代小結


    NetReptile推薦 [2005-4-12]
    出處:chinaxp
    作者:bing he
     

    第一個迭代周期已經完成,因為素材的限制,迭代周期很短,只有1.5Week。目前已經開始第二個迭
    代,我從第一個迭代中實施的實踐以及從中得到的經驗和教訓包括:
     
     1、站立式會議
     的確有效果,繼續執行。
     2、計劃游戲
     我們根據實際的情況,修改了計劃游戲選取素材,分配任務和領取任務的流程。但還是碰到了一系列
    的問題。 首先就是大家對素材的估計相差較大,因為開發人員對素材的熟悉程度不同,導致對素材的
    開發量估計相差較大,其次就是大家對理想工作時間的評估不同,還有一個問題就是因為是結對編程,
    如果A和B程序員估計的每周理想工作日都為1.5D,那么結對者是否就是工作效率為3D每周?在討論之
    后,實際將理想工作日的評估改為實際工作日,估計工作效率為3D/實際工作日/每周/每人,因為工作
    效率已經考慮了開會,結對等的影響,所以結對團隊的工作效率是可以累加的。
     可能你認為這個計算方法很牽強,但既然是Spike,那就不妨一試。在迭代周期完成后,發現第一個迭
    代周期中的個人工作效率為3.6D/實際工作日/每周/每人,也就是說,如果2人結對,一周可以完成7.2D
    的工作任務。是否很奇怪?這給目前的這個迭代周期的任務安排帶來困難。另外一個可能有爭議的做法
    是,我們采取的是按素材領取任務,而且素材完成期間不更換結對者。
     計劃游戲中的將素材劃分成Task后再進行估計開發時間這個想法的確不錯,將素材拆成Task后再估計
    準確率會大大提高。
     3、簡單設計
     第一次迭代中,只有一個素材,而且領取素材的程序員對這個素材比較熟悉,因此設計做得很簡單。
    基本上在專門預留的本子上進行的設計書寫,且僅僅寫基礎的框架和重要的內容。在第一次迭代的總結
    上發現,這種方式有幾個問題。
     首先就是原本考慮將這些草稿就是計劃的想法錯誤了,因為字跡太過潦草,而且思想很跳躍,留下的
    草稿沒有辦法給其他人了解。
     其次就是如果有測試先行的功能模塊,的確可以不需要太多的設計,寫測試代碼就象寫設計一樣,但
    是如果有功能模塊沒有寫測試代碼的話,就需要更詳細的設計。
     因此,在第二次迭代中要求簡單設計的過程需要寫電子文檔,同時,如果沒有進行測試先行的模塊,
    設計需要多花些時間以彌補。
     4、結對編程
     結對編程的確增加了效率,一個素材原本估計需要6D實際工作日/單人,在結對的情況下,4D的實際工
    作日就完成了,即使算上結對者,好像也只是用了8個工作人日,不過從這一個素材上并不能看出全
    部,還需要日后在其他的迭代中反復檢查。
     但結對編程的結對要求實在太高了,特別在我們目前的項目中(項目實施到中后期),Bugfix,聯
    調,電話支持等等,一旦某個程序員中間有其他事情的打擾,結對就經常中斷,這樣會明顯影響結對的
    效果??赡躊P可能在項目的開發階段實施比較合適,在中后期實施PD可能更好,我會在后期的迭代中觀
    察,如果需要,可以用PD代替PP。
     結對編程后其他感受是,程序人員會自覺的經常更換鍵盤,并大量的討論;結對編程更容易讓開發人
    員感到疲勞;結對編程的開發人員最好是互補的,或者水平不要相差過多;對哪些應該結對,哪些不應
    該結對開發,還有分歧,例如,在畫界面的時候是否需要結對?目前來說認為需要??偟膩碚f,對結
    對,結對者還是認為有效果的,但是無法說明有多大的效果。
     至于第一次迭代的結對編程是否真的可以顯著提高軟件的質量,具體還要等測試完成所提交的報告才
    能給出更全面的分析。
     5、測試先行
     第一次迭代中,并沒有真正意義上做到測試先行。在所有代碼中,測試先行的代碼只有100多行,相比
    開發代碼要少得多。這主要是因為測試需要有大量得數據庫操作,所以在第一次迭代中僅完成了非數據
    庫操作的測試先行代碼。在第一次迭代后,已經專門花時間將這些數據庫的測試代碼單獨抽取出來進行
    了編寫,方便日后的重用,因此真正意義上的測試先行需要在第二次迭代中才能看到效果。
     但是在第一次迭代的代碼檢查中已經發現了問題,開發人員所些的測試案例和相應的代碼沒有突出重
    點,部分測試案例根本不是主路徑或者煙霧測試案例,而是一些第三測試級別的容錯性測試。
     6、代碼規范
     代碼規范做得還算可以,雖然在后來的代碼評審中看到一些問題,但是問題不大。
     7、8小時工作制
     因為其他工作可能的影響,在我制訂的“XP人的一天”中,每天結對的時間為6.5小時,程序人員是完
    全按照其執行的。但下班后他們往往不愿離開,對這個問題上,以他們的意愿為主。
     8、重構
     結對開發人員會比個體開發人員進行更多有意識的重構行為,而且也會在相應的討論中互相學習,而
    且這完全是自發的,非常棒!
     9、持續集成
     目前正在進行持續集成的第一步環境的搭建,也就是自動定時編譯發布環境,計劃月內完成,等第一
    步完成后,再搭建自動單元、黑盒測試的環境。附帶說下,CruiseControl這個持續集成工具用起來真
    的麻煩,而且主要用于Java的開發環境上。
     10、CRC卡片
     說實話,我不知道如何書寫CRC卡片,我所見過不同的文章所描述的CRC卡片的描述方法也不同,第一
    次迭代中我們采用平鋪直述的方式描述素材,但這好像不如用例模式的方式書寫,這讓程序人員有相當
    的問題需要詢問“在場客戶”,在第三次迭代中,將采用用例模式來書寫素材。

     

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>