我的java歷程

          敏捷軟件開發有感

          敏捷軟件開發有感

          1.個體和交互勝過過程和工具
            一個優秀的團隊成員未必是一個技術一流的程序員,可能是技術一般的程序員,但他能很好的與他人合作,溝通,合作,良好的溝通以及交互能力比單純的編程更重要。
          2.可以工作的軟件勝過面面俱到的文檔
            一個可以工作的軟件需要具有文檔,用文檔可以傳達系統的原理及結構,以及對系統及設計決策進行描述。但過多的文檔也并不是一件好事,首先編制需要花大量的時間,保持各文檔同步,文檔與代碼之間的同步更是一件難事,如果沒有做到同步,那么會形成誤導,后果將更嚴重。
            對于團隊來說,需要編寫和維護一份描述系統原理及結構的文檔,描述系統原理,結構和設計原理。關于培訓新員工,則將其與業務及軟件均熟悉的老員工坐在一起,實時指導,并結合代碼。
          3.客戶合作勝過合同談判
            與客戶緊密的結合在一起,短周期的向客戶演示軟件的運行情況。得到客戶的反饋并及時跟進進行更改。
          4.響應變化勝過遵循計劃
            做短時間的詳細計劃,長時間的粗略計劃,時間越長計劃越粗略

           短周期,持續的交付能工作軟件給客戶,得到客戶的反饋。
           以人為本,給成員自信,激勵成員來溝建項目,信任每個人都成完成。
           以能夠滿足客戶需求的數量來度量軟件的進度。
           使團隊成員保持高度集中的精力,飽滿的精神,不要為了多做一點工作而借用明于的精力。
           最好的架構,需求,設計出自于團隊。
           每隔一段時間,團隊對更有效的工作進行反省,對組織方式,規則,關系等進行調整,達到更有效的工作方式



          極限編程

          1.客戶做為團隊開發人員,客戶可以是和開發團隊同一家公司的一組業務分析師或市場專家,可以是用戶團體委派的用戶代表。
          2.每兩周交付一次可以工作的軟件,迭代計劃(兩周做一次,重復周期),發布計劃,一次做大概三個月的發布計劃,做一次長周期的交付。
          3.驗收測試
          4.結對編程,兩個人使用一臺電腦,一個控制鍵盤,一個檢查代碼的錯誤及可以改進的地方,結對的關系每天改變一次,每個團隊成員應該和其他所有團隊成在一起工作過,這樣能夠促進業務知識及技術知識在團隊中的快速傳播,且能大大減少缺陷率。
          5.測試驅動的開發,編寫所有產品代碼的目的都是為了使測試通過,測試用例和代碼一起演化,基本是幾分鐘一次。結果,一個非常完整的測試用例集就和代碼一起生成起來。
          6.每個結對都有對任何一個模塊的檢出(check out)權,及修改權力,沒有程序員對某一個特定的模塊單獨負責。
          7.團隊人員保持穩定適中的開發速度,不允許加班。
          8.開放的工作空間,積極討論的工作環境。生產率會成倍的提高。
          9.簡單的設計開發,考慮能夠工作的最簡單的方式,如能夠能頁面完成的就不能EJB,不用數據庫。不能出現重復的代碼,一次就夠。
          10.團隊經常性地對代碼進行重構。 


           

          posted on 2007-05-18 12:27 landril 閱讀(414) 評論(0)  編輯  收藏 所屬分類: 其它


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 永丰县| 尖扎县| 茂名市| 沾益县| 金秀| 额济纳旗| 慈溪市| 广德县| 墨竹工卡县| 鲜城| 彩票| 忻城县| 大余县| 大同县| 瑞丽市| 湘乡市| 桓台县| 军事| 宜宾县| 辽中县| 华坪县| 常山县| 黎城县| 上杭县| 内江市| 承德县| 武宁县| 岗巴县| 永宁县| 喀喇沁旗| 平度市| 灵川县| 青龙| 尼勒克县| 德惠市| 吴桥县| 星座| 勐海县| 增城市| 东莞市| 凤台县|