*靈活開發是一種開發方式,靈活團隊是按這種方式開發的團隊
1:盡早的,持續的傳遞可以工作的軟體來使客戶的滿意
盡早的傳遞有部分功能的系統和最終系統品質之間有很強的相關性,
初期傳遞的系統中所包含的功能越少最終傳遞的系統的品質越高
我們不贊成傳遞大量的文檔或計劃,那些不是客戶需要的東西
以逐漸增加功能的方式經常性的傳遞系統,傳遞的越頻繁,最終産品的品質越高
2:我們歡迎需求的變化,即使到了開發後期,靈活團隊能夠駕禦這些變化,為客戶創造競争優勢
這是一個關于态度的聲明,靈活團隊的參與者不懼怕變化,他們認為改變需求是好事情,
因為那些改變意味着團隊已經學到了更多如何滿足客戶需要的知識
3:在整個項目開發期間,業務人員和開發人員必須朝夕的工作在一起
項目不會象發射出去就能自動導航的武器,必須對項目進行持續不斷的引導
開發人員,業務人員,客戶(所有利益相關者)之間必須進行有意義的,頻繁的互動
4:圍繞鬥志高昂的人建構項目,給他們提供所需的環境和支援,信任他們能完成工作
人是取得項目成功最關鍵的因素,所有其他因素(過程,環境,管理等)都被認為是次要的,當他們對人有負面影響時,就要對他們進行改變.
5:在團隊内部,最有效率,也是最有效果的資訊傳遞方式就是面對面的交談
書面文檔和項目管理軟體僅在需要的時候才進行編寫和更新
6:可以工作的軟體是進度度量的主要标準
軟體進度與文檔無關,隻有30%的功能實作了,才能确定軟體完成了30%
7:項目提倡可持續的開發,投資人,開發者和使用者應該維持一個開發速度
太快導緻團隊精力耗盡,抄捷徑導緻項目崩潰,目标是使項目保持在一個高品質的開發速度上
8:對卓越的技術和良好的設計的不斷追求有助于提高靈活性
每個人都寫他們能寫的品質最高的代碼,不會制造混亂然後告訴自己以後有時間再整理這些問題,
他們今天的代碼出現什麼問題就今天解決掉
9:簡單--盡量減少工作量的藝術是很重要的
他們并不看重對于明天會出現的問題的預測,也不會為這些問題做防禦,
他們隻在今天用高品質的代碼完成最簡單的工作,并深信如果明天出問題,也會很容易進行處理
10:責任不是配置設定給單個團隊成員而是配置設定給整個團隊
每個成員都具有項目中所有方面的參與權,不存在某個團隊成員僅對項目的架構,需求,或者測試負責的情況
整個團隊共同承擔那些責任,每個團隊成員都能影響他們
11:每隔一定時間團隊就要總結如何更有效率,然後做出相應的調整
原文是Robert C. Martin寫的
這個人是業界牛人,原文位址已經遺矢,我對原文做了一些整理,加上了自己的一些認識.