什么是敏捷開發?
一種以人為核心、迭代、循序漸進的開發方法。
在敏捷開發中,軟件項目的構建被切分成多個子項目,各個子項目的成果都經過測試,具備集成和可運行的特征。簡言之,就是把一個大項目分為多個相互聯系,但也可獨立運行的小項目,并分別完成,在此過程中軟件一直處于可使用狀態。
敏捷開發是由一些業界專家針對一些企業現狀提出了一些讓軟件開發團隊具有快速工作、響應變化能力的價值觀和原則,并于2001初成立了敏捷聯盟。他們正在通過親身實踐以及幫助他人實踐,揭示更好的軟件開發方法。
通過這項工作,他們認為:
·個體和交互 勝過 過程和工具
·可以工作的軟件 勝過 面面俱到的文檔
·客戶合作 勝過 合同談判
·響應變化 勝過 遵循計劃
?
并提出了以下遵循的原則:
我們最優先要做的是通過盡早的、持續的交付有價值的軟件來使客戶滿意。
即使到了開發的后期,也歡迎改變需求。敏捷過程利用變化來為客戶創造競爭優勢。
經常性地交付可以工作的軟件,交付的間隔可以從幾個星期到幾個月,交付的時間間隔越短越好。
在整個項目開發期間,業務人員和開發人員必須天天都在一起工作。
圍繞被激勵起來的個體來構建項目。給他們提供所需的環境和支持,并且信任他們能夠完成工作。
在團隊內部,最具有效果并富有效率的傳遞信息的方法,就是面對面的交談。
工作的軟件是首要的進度度量標準。
敏捷過程提倡可持續的開發速度。
責任人、開發者和用戶應該能夠保持一個長期的、恒定的開發速度。
不斷地關注優秀的技能和好的設計會增強敏捷能力。
簡單是最根本的。
最好的構架、需求和設計出于自組織團隊。
每隔一定時間,團隊會在如何才能更有效地工作方面進行反省,然后相應地對自己的行為進行調整。
參看《敏捷開發橫空出世》
極限編程(XP)是一種輕量級的軟件開發方法論,XP從實踐中來,是對實踐的總結,也是經過實踐檢驗的,其主要特征是要適應環境變化和需求變化,充分發揮開發人員的主動精神。XP承諾降低軟件項目風險,改善業務變化的反應能力,提高開發期間的生產力,為軟件開發過程增加樂趣,相信這些足以吸引每個人的眼球。
在XP的項目開發中,首先引入了四個變量:成本、時間、質量和范圍,通過研究變量之間的相互作用,將項目開發分析的更加透徹,成功講述一個項目成功的原則。
為了能成功地實施XP,XP制定四個準則:溝通、簡單、反饋和勇氣
和十二條原則:計劃游戲、小版本、隱喻、簡單設計、測試、重構、結隊編程、代碼集體所有、持續集成、每周工作40小時、現場客戶、編碼標準
以及對開發人員的工作要求:編碼、測試、傾聽和設計。
XP是一個非常龐大的知識庫,每一項都是一門值得深究的學問。提出這些要求和原則后,XP有提出了一系列的解決方案,也就是策略,其中包含:管理策略、設施策略、計劃策略、開發策略、設計策略和測試策略。在真正去實現XP時,XP又提供了將策略成功應用的實踐。可以說XP為你的軟件開發的指導老師。
XP是從實踐中來的,應此有好多人圍繞XP發表了一些自己的實踐經驗,其中主要包括:測試驅動開發、結隊編程、重構和極限編程工具。
參看《敏捷開發的七種武器》
對敏捷設計的認識: http://jigee.cnblogs.com/archive/2006/06/25/435113.html
極限編程與敏捷開發: http://tech.acnow.net/Html/Program/soft_project/SoftProcess/2005-8/7/23175325.shtml
敏捷軟件開發(上篇) http://sd.csdn.net/n/20060809/93506.html
敏捷軟件開發(中篇) http://sd.csdn.net/n/20060809/93507.html
敏捷軟件開發(下篇) http://sd.csdn.net/n/20060809/93508.html
來源:http://www.cnbruce.com/blog/showlog.asp?log_id=1015
馬嘉楠
jianan.ma@gmail.com
posted on 2006-08-24 17:45
馬嘉楠 閱讀(4354)
評論(1) 編輯 收藏