Kent Beck&Dave Thomas:務實的敏捷
敏捷中國大會2009終于落下了帷幕,總的來說今年的大會辦得相當成功。Kent Beck和David Thomas,兩位敏捷宣言的簽署人,給大會帶來了十分精彩的演講。
Kent Beck做了一個很切題的主題演講——“務實的理想主義”("Pragmatic Idealism")。現實和理想往往是比較矛盾的,但是在充滿競爭和變化的現代社會,這種矛盾卻無處不在。對軟件開發來說,我們的理想目標包括:
• 責任心(Accountability),客戶和團隊之間,團隊成員之間,公司內部不同部門之間不再需要相互遮遮掩掩,所有人勇于承擔自己的責任;
• 可依賴性(Reliability),軟件團隊只忙于對客戶最有價值、有用的功能;
• 可預測性(Predictability),團隊以比較穩定的速度和質量發布軟件,團隊總是能夠信守對客戶的承諾,按時給客戶發布可靠的軟件;
• 專注(Focus),每個成員能夠專注于真正給帶來價值的工作;
• 有效性(Effectiveness),僅僅把時間花在做有價值的事情上;
• 財務有效性(Cost Efficiency),盡管軟件開發的成本以及門檻變得越來越低,我們還是需要更有效的投資。有效的投資能夠保證公司嘗試更多的選擇,在激烈競爭中更容易生存;
• 更高頻率的發布周期,高頻率的發布帶來的好處是更多的客戶反饋,公司能夠從反饋中快速學習,不斷調整。
怎樣實現這些看似很難實現的理想目標,Kent給我們的建議是:
• 在敏捷團隊中樹立標桿;
• 分享敏捷開發的成功經驗;
• 給團隊激勵、支持和認可,鼓勵團隊一步一個腳印的向理想的目標靠近。
Dave Thomas的演講題目是“務實的敏捷”("Pragmatic Agile")。敏捷其實是一種怎樣做事情、做什么樣的事情的方法。“卓有成效的程序員”作為與敏捷宣言同一個時代出版的書,其中很多基本原則仍然有很多 現實意義,而且這些原則與敏捷開發的原則相輔相成的:
• 破窗理論,團隊應該專注處理小問題,及時處理小問題能夠大大減少大問題出現的幾率,正如老子說的“為之于未有,治之于未亂”;
• 不重復原則(DRY),無論是代碼還是設計都應該減少重復;
• 減少代碼耦合,試圖同時做所有事情,結果往往是一事無成;
• 自動化一切重復工作。
敏捷并不是一個目的,我們要用敏捷的思維方式來指導我們開發程序、寫書以及做很多其他的東西。這個務實意味著“只做有用的東西”(Doing what works, if not wok, stop; Working at what to do),關注與給客戶帶來價值。