敏捷方法論的前世今生- 敏捷歷史,敏捷宣言與敏捷12條原則

敏捷方法論的前世今生

敏捷方法的歷史:

  • 敏捷一詞來源於2001年初美國猶他州雪鳥滑雪勝地的一次敏捷方法發起者和實踐者(他們發起組成了敏捷聯盟)的聚會。
    • 迭代和增量開發方法最早可以追溯到二十世紀三十年代非軟件項目。
    • 二十世紀六十年代美國航天局水星計劃使用了一些極限編程和測試先行的防範。
    • 在二十世紀九十年代,各種各種輕量級軟件開發方法紛紛被提出,其中包括:
      • 1991: RAD (rapid application development)
      • 1994: UP (unified process) 和 DSDM(dynamic systems development method).
      • 1995: Scrum
      • 1996: Crystal Clear & XP(extreme programming)
      • 1997: FDD (feature-driven development)
    • 2001年,17位軟件開發者齊聚在美國的猶他州的雪鳥(snowbird),討論上述輕量級的軟件開發方法,並寫下了敏捷軟件開發宣言。

敏捷宣言(Manifesto for Agile Software Development):

- 個體和互動高於流程和工具 (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. 團隊定期地反思如何能提高成效,並依此調整自身的舉止表現。

敏捷12條原則英文版 (Twelve Principles of Agile Software):

1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
4. Business people and developers must work together daily throughout the project.
5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development. The sponsors, developers, and users should be ableto maintain a constant pace indefinitely.
9. Continuous attention to technical excellence and good design enhances agility.
10. Simplicity--the art of maximizing the amount  of work not done--is essential.
11. The best architectures, requirements, and designs emerge from self-organizing teams.
12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

評價一個敏捷團隊是否合格的衡量標準(個人觀點僅供參考)

- 迭代開發:整個開發過程被分爲好幾個迭代週期,每個迭代週期可以是定長或者不定長。
- 增量交付:產品在每個迭代週期內被增量交付使用,而不是在整個開發週期結束的時候一次性交付。
- 團隊成員與用戶積極反饋以推動產品的開發:用戶全程參與到產品的開發過程中。
- 持續集成: 新的功能或者變化持續整合到產品中。
- 自我管理: 積極的,自我管理的,具備自由交流風格的團隊。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章