1. 程式人生 > >我對《敏捷軟體開發宣言》的理解

我對《敏捷軟體開發宣言》的理解

先po一下敏捷軟體開發宣言以及其遵循的原則吧

2001年,17位程式設計大師共同釋出《敏捷軟體開發宣言》:
“人”以及“人與人的互動” 勝於 “過程”和”工具”
Individuals and interactions over processes and tools
可執行的軟體 勝於 面面俱到的文件
Working software over comprehensive documentation
客戶合作 勝於 合同談判
Customer collaboration over contract negotiation
響應變化 勝於 遵循計劃
Responding to change over following a plan

遵循的12條準則:

1.我們最優先要做的是通過儘早的、持續的交付有價值的軟體來使客戶滿意。
2.即使到了開發的後期,也歡迎改變需求,敏捷過程利用變化來為客戶創造競爭優勢。
3.經常性地交付可以工作的軟體,交付的間隔可以從幾個星期到幾個月,交付的時間間隔越短越好。
4.在整個專案開發期間,業務人員和開發人員必須天天都在一起工作。
5.圍繞被激勵起來的個體來構建專案。給他們提供所需的環境和支援,並且信任他們能夠完成工作。
6.在團隊內部,最具有效果並且富有效率的傳遞資訊的方法,就是面對面的交流。
7.工作的軟體是首要的進度度量標準。
8.敏捷過程提倡可持續的開發速度。責任人、開發者和使用者應該能夠保持一個長期的、恆定的開發速度。
9.不斷地關注優秀的技能和好的設計會增強敏捷能力。
10.簡單–使未完成的工作最大化的藝術—是根本的。
11.最好的構架、需求和設計出自於自組織的團隊。
12.每隔一定時間,團隊會在如何才能更有效地工作方面進行反省,然後相應地對自己的行為進行調整。

個人看法

現代軟體開發的環境是十分複雜的,客戶的需求可能會隨時的發生改變,因此一個如軟體的開發過程也會變的十分的複雜。所以最重要的一點就是需要隨時和客戶保持交流互相交換意見,調整軟體的開發方案,這樣在最後才能使軟體按照預期的方向進行發展。敏捷開發,顧名思義開發速度需要快,所以要儘可能早地將客戶所要求的軟體交付給客戶。我們從軟體開發的開始到結束,到要時刻準備好面對客戶需求的改變,因為開發軟體的最終目的是滿足客戶的需求,為了能夠讓最終的軟體能夠發揮其最大的作用,我們隨時接受改變,接受挑戰,直到最後時刻。同時我們還可以產出許多軟體開發的中間產品,因為,開發過程會是漫長的,如果在這個漫長的期間客戶沒有收到任何有功能的產品,可能會對產品的開發方向失去控制,並且在最後拿到最重產品甚至會對產品功能一點也不熟悉,從而使產品的價值大打折扣。在開發期間,最少不了的就是業務人員以及開發人員的要求,一方提供方向性的規劃,另一方提供實現的路線,只有雙方不斷溝通協調,軟體才會朝著要求的方向順利地開發下去。一定要提倡面對面的交流,只有當面才能把我們最真實的想法給表達出來,產生摩擦與認可,甚至會有好的想法出現,所以面對面交流是十分重要的甚至能夠帶來意想不到的結果。敏捷開發過程我個人認為是十分緊湊的,所以一個好的領導是必不可少的,合理分配人力資源和各階段的進度,能夠有效地提高開發的效率與進度。同時好的領導要善於發現每個人的特點,要及時地掌握各種新的技術,使得各盡其所,每個人都能夠發揮其最大的作用。同時在開發過程中,我們還應該不斷的組織反省,集體討論開發過程當中所遇到的一系列問題,總結歸納,使得在之後的過程中能夠更加順利。

可以看出敏捷開發思想的優勢十分明顯,相比於傳統的過程模型,其效率有了明顯的提升,同時效果也得到了質的飛躍。傳統過程模型是為了任務而開發,而敏捷開發是為了客戶而開發,這之間的區別可想而之。所以以上思想和原則對我們今後的幫助會很大,我從中學到了許多知識。