天天看點

靈活宣言靈活軟體開發宣言原則

靈活軟體開發宣言

           人和互動     重于     過程和工具

可以工作的軟體     重于     面面俱到的文檔

           客戶合作     重于     合同談判

    随時應對變化     重于     遵循計劃

雖然右項也有其價值,但我們認為左項更加重要。

原則

1.我們最優先要做的是通過盡早地,持續地傳遞有價值的軟體來使客戶滿意。

項目開始的幾周内傳遞一個基本功能。然後,每幾周傳遞一個功能漸增的系統。客戶選擇将功能加入産品或者繼續改進功能。

2.我們歡迎需求的變化,即使到開發後期,靈活過程能夠駕馭變化,為客戶創造競争優勢。

需要保持軟體結構的靈活性,需要面向對象設計的原則、模式和時間來維持靈活性。

3.經常傳遞可以工作的軟體,從幾個星期到幾個月,時間間隔越短越好。

不贊成傳遞大量的文檔或者計劃,關注的目标是傳遞滿足客戶需要的軟體。

4.在整個項目開發期間,業務人員和開發人員必須朝夕工作在一起。

客戶、開發人員以及利益相關者之間必須要進行有意義的、頻繁的互動。

5.依靠鬥志高昂的人建構項目,給他們提供是以須的環境和支援,并且信任他們能夠完成工作。

人是項目取得成功的最重要的的因素,其他的因素(過程、環境、管理等)都是次要的,當它們對人有負面影響是,就要對它們進行改變。

6.在團隊内部,最有效率也最有效果的資訊傳達方式,就是面對面的交談。

首要的溝通方式就是人與人之間的互動(包括語音,視訊,分享桌面)。

7.可以工作的軟體是進度主要的度量名額。

度量目前滿足客戶需求的軟體功能來度量開發進度。僅有30%的必須功能可以工作時,才可以确定進度完成30%。不能用代碼量和文檔量進行衡量。

8.靈活過程提倡可持續開發。出資人、開發者和使用者應該總是保持穩定的開發速度。

靈活團隊會測量自己的速度,不允許自己過度疲憊(産品上線前一周除外)。

9.對卓越技術和良好設計的不斷追求有助于提高靈活性。

緻力于隻編寫他們能夠編寫的最高品質的代碼。今天制造了混亂,就在今天把混亂清理幹淨。

10.簡單——盡量減少工作量的藝術是至關重要的。

不要建構華爾不實的系統,采用和目标一緻的最簡單的方法。不看重明天會出現問題的預測,也不會再今天對問題進行防禦。

11最好的架構、需求和設計都源自自我組織的團隊。

靈活團隊是自我組織的團隊,整個團隊共同承擔職責,不會出現A負責系統架構,B負責需求,C負責測試的情況。

12.每隔一定時間,團隊都要總結如何更有效率、然後相應地調整自己的行為。

不斷的對團隊的組織方式、規則、決定和關系等進行調整。