《敏捷軟體開發:原則、模式與實踐》--敏捷開發讀書筆記
敏捷開發過程中必須遵循的原則
1.我們最優先要做的是通過儘早的、持續的交付有價值的軟體來使客戶滿意。
初期交付的系統中所包含的功能越少,最終交付的系統的質量就越高。--構建高質量產品。
2.即使到了開發後期,也歡迎改變需求。敏捷過程利用變化來為客戶創造競爭優勢。
敏捷開發團隊要非常努力地保持軟體結構的靈活性,多考慮軟體的擴充套件性,當需求變化時,對系統造成的影響是最小的
3.經常性地交付可以工作的軟體,交付的間隔可以從幾周到幾個月,交付的時間間隔越短越好。
不贊成交付大量的文件或者計劃,而應該交付給客服帶來實際價值的可靠的軟體。
4.在整個專案開發期間,業務人員和開發人員必須天天在一起工作。
頻繁而有效的互動,會使開發人員更好的瞭解業務人員需要什麼,開發人員的建議會使業務人員更好的拓展需求的思路,會使系統良性健康的迴圈迭代。
5.圍繞被激勵起來的個人來構建專案。給他們提供所需要的環境和支援,並且信任他們能夠完成工作。
在敏捷專案中,人被認為是專案取得成功的最重要的因素。需要創造對人有利的影響,可以通過改變其他因素來激勵人,比如,過程、環境、管理等等。
6.在團隊內部,最具有效果並且富有效率的傳遞資訊的方式,就是面對面的交談。
文件不是預設的溝通方式。預設的溝通方式是交談。為了避免無效的交談,必須設定好交談需要達到的目的和成果。團隊成員可以去編寫文件,如果對於這些文件的需求迫切並且意義重大。通過溝通的方式來確定文件需求的迫切性和意義的大小。
7.工作的軟體是首要的進度度量標準
敏捷開發有別於傳統的開發階段,不能夠根據所處的開發階段、已經編寫的文件的多少或者已經建立的基礎結構程式碼的數量來度量開發進度。只有當30%的必須功能可以工作時,才可以確定進度完成了30%。
8.敏捷過程提倡可持續的開發速度。責任人、開發者和使用者應該能夠保持一個長期的、恆定的開發速度。
團隊不是以全速啟動並試圖在專案開發期間維持那個速度。而是以快速但是可持續的速度進行。
9.不斷地關注優秀的技能和好的設計會增強敏捷能力。
高的產品質量是獲取高的開發速度的關鍵。
10.簡單--使未完成的工作最大化的藝術--是根本的。
敏捷團隊不會試圖去構建那些華而不實的系統。
11.最好的架構、需求和設計出自於自組織的團隊。
敏捷團隊的成員共同解決專案中所有方面的問題。每一個成員都具有專案中所有方面的參與權力。不存在單一的團隊成員對系統架構、需求或者測試負責的情況。整個團隊共同承擔哪些責任,每個團隊成員都能夠影響它們。
12.每隔一定時間,團隊會在如何能夠更有效地工作方面進行反省,然後相應地對自己的行為進行調整。
敏捷團隊必須不斷地對團隊的組織方式、規則、規範和關係等進行調整。