1. 敏捷是“一個”過程
?敏捷不是一個過程,是一類過程的統稱,它們有一個共性,就是符合敏捷價值觀,遵循敏捷的原則。
?敏捷的價值觀如下:
?個體和交互 勝過 過程和工具
?可以工作的軟件 勝過 面面俱到的文檔
客戶合作 勝過 合同談判
?響應變化 勝過 遵循計劃
?由價值觀引出的12條敏捷原則:
?我們最優先要做的是通過盡早的、持續的交付有價值的軟件來使客戶滿意。
?即使到了開發的后期,也歡迎改變需求。敏捷過程利用變化來為客戶創造競爭優勢。
?經常性地交付可以工作的軟件,交付的間隔可以從幾個星期到幾個月,交付的時間間隔越短越好。
?在整個項目開發期間,業務人員和開發人員必須天天都在一起工作。
?圍繞被激勵起來的個體來構建項目。給他們提供所需的環境和支持,并且信任他們能夠完成工作。
?在團隊內部,最具有效果并且富有效率的傳遞信息的方法,就是面對面的交談。
?工作的軟件是首要的進度度量標準。
?敏捷過程提倡可持續的開發速度。責任人、開發者和用戶應該能夠保持一個長期的、恒定的開發速度。
?不斷地關注優秀的技能和好的設計會增強敏捷能力。
?簡單——使未完成的工作最大化的藝術——是根本的。
?最好的構架、需求和設計出自于自組織的團隊。
?每隔一定時間,團隊會在如何才能更有效地工作方面進行反省,然后相應地對自己的行為進行調整。
?建立敏捷聯盟的17位大師所創立的敏捷方法包括:極限編程,Scrum,特征驅動開發,動態系統開發方法,自適應軟件開發,水晶方法,實用編程方法。這些方法統稱為敏捷方法。
?其實每個人都可以從敏捷宣言和原則出發,明確問題,找出一些解決方法,形成自己的過程。我覺得國內的軟件環境這么復雜,程序員的自主精神又這么強,敏捷方法應該是在中國首先提出才對,只是國人都有唯標準唯規范至上的心理定式,即使找出好辦法,也覺得不規范,沒有深入形成理論,無法提升高度,始終是跟著鬼子屁股后面走,我想這也是國外軟件行業不成熟的表現之一吧。
?2. 敏捷僅僅是一個軟件過程
?如果僅僅從軟件過程的角度去認識敏捷實施敏捷,效果不會太好。敏捷相對以前的軟件工程最大的革新之處在于把人的作用提高到了過程至上,正如敏捷宣言的第一條“個體和交互勝過過程和工具”所說的。
?涉及到人的問題,就已經不再是過程所能覆蓋的了,就到了企業管理的層面上了,包括企業的價值觀和文化。這也是敏捷在國內實施的最大障礙:
?把客戶當作合作伙伴而不是對手,從客戶角度出發去想問題,充分的跟客戶溝通,而不是出了問題推諉責任。目標是讓軟件實現客戶的價值,而不是收錢就完事兒。
?把人的能動性調動起來,給動力而不是給壓力。
?要實用而不是要規范。讓開發人員理解并實施,體驗到敏捷的好處,而不是盲目機械地實施規范。
?沒有絕對的權威,每個人都有可取之處。