由來 :
先來說一說敏捷宣言的歷史吧,2001年2月,Martin Fowler,Jim Highsmith等17位著名的軟件開發專家齊聚在美國猶他州雪鳥滑雪聖地,舉行了一次敏捷方法發起者和實踐者的聚會。在這次會議上面,他們正式提出了Agile(敏捷開發)這個概念,並共同簽署了《敏捷宣言》。
那內容是什麼呢 ? 我將翻譯過後的版本貼上來分享給大家。
藉著親自並協助他人進行軟體開發,
我們正致力於發掘更優良的軟體開發方法。
透過這樣的努力,我們已建立以下價值觀:
個人與互動 重於 流程與工具
可用的軟體 重於 詳盡的文件
與客戶合作 重於 合約協商
回應變化 重於 遵循計劃
也就是說,雖然右側項目有其價值,
但我們更重視左側項目。
敏捷宣言背後的原則 : 中文 英文
我們遵守這些原則:
我們最優先的任務,
是透過及早並持續地交付有價值的軟體
來滿足客戶需求。
竭誠歡迎改變需求,甚至已處開發後期亦然。
敏捷流程掌控變更,以維護客戶的競爭優勢。
經常交付可用的軟體,
頻率可以從數週到數個月,
以較短時間間隔為佳。
業務人員與開發者
必須在專案全程中天天一起工作。
以積極的個人來建構專案,
給予他們所需的環境與支援,
並信任他們可以完成工作。
面對面的溝通
是傳遞資訊給開發團隊及團隊成員之間
效率最高且效果最佳的方法。
可用的軟體是最主要的進度量測方法。
敏捷程序提倡可持續的開發。
贊助者、開發者及使用者應當能不斷地維持穩定的步調。
持續追求優越的技術與優良的設計,
以強化敏捷性。
精簡──或最大化未完成工作量之技藝──是不可或缺的。
最佳的架構、需求與設計皆來自於
能自我組織的團隊。
團隊定期自省如何更有效率,
並據之適當地調整與修正自己的行為。
The principles of agile methods
● Customer involvement 客戶參與
客戶派員參與開發過程,開發團隊若有需求上疑問,由該人員負責回答、決定,以及每次版本開發完後,是否決定繼續開發(迭代性)
● Incremental delivery
每個Increment開發完成後,視為一個軟體版本,該版本交付於客戶。
● People not process
確切了解團隊內成員會的技能,並確定該技能對於專案開發是有幫助的。團隊成員的組成沒有強迫的規範,只留下有用的人即可。
● Embrace change
設計的系統要能適應變化,保持靈活性,對應user和客戶對於需求的改變
● Maintain simplicity 保持簡單
軟體開發與發展的過程應該注重簡潔。積極從系統中消除復雜性。
簡化整個開發流程。省去對於開發進度(程式碼生成)效益不大的行為(ex寫文件)
資料參考 : Agile 原則和價值,作者:Jeff Sutherland, wiki
留言列表