XP 實戰

ThoughtWorks

敏捷的核心:是一種理念、方法論、技巧

項目:確定目標

迭代:核實目標

日常:走向目標

?

團隊內一定要有一致的認識,做法(打通關節、人員調整、進行培訓),開發環境(房間、硬件、人員布置)

不斷觀察,定期總結流程的缺點,不斷改進完善,使之適合團隊

?

關于環境(無擋板、光線明亮、帶輪子的椅子、無線鼠或者鍵盤、大桌子、圈坐)

?

迭代:一個 story 平均 2 天,追蹤、總結、分析、對事不對人

項目大的時候需要專門的迭代經理,對內負責 checking 迭代報告),對外交流匯報(功能演示)

?

持續集成: 1 從項目的第一天就開始做起 2 )發散性廣播(聲音:哦。。。。。。,哦你媽個頭),熔巖燈 3 )如果集成失敗就必須立即解決 4 )頻繁發布,自動測試

?

測試驅動開發: 1 )增加測試范圍 2 永遠都要先寫測試(先定義接口,然后再寫單元測試) 3 )提高測試效率 4 )避免缺陷重現 5 )監督開發 6 )不僅僅是單元測試

?

考慮用 wiki 管理文檔,方便迭代

?

實施 XP 的項目團隊不要超過 10 人, 8 10 人最合適

?

web 測試的工具: salenium jwebunit junit (Fit jwebfit watir)

?

阿里巴巴: web 性能測試 陳日?。淙~夏日)
包括:阿里巴巴、淘寶、支付寶、雅虎

LoadRunner 是開發人員玩的

?

使用 JProfile 測試性能

優先級考慮的是數據庫調優( index ),最后考慮算法調優

Resin 研究使用,性能更好

?

1 )用戶行為分析 2 )應用網絡分析 3 )數據量分析

?

1、? 場景設計源自需求

2、? 并發用戶數

3、? 峰值、平均并發、時間分布

4、? 用戶空間分布(系統不同模塊的用戶空間分布)

5、? 穩定性要求

6、? 數據庫數量的大小、增長方式、訪問方式

7、? 用戶行為分析

?

紅工廠 JDO 專家組成員 黃海波 一個 Xper 的心路歷程

?

上班玩游戲,爽!――培養 TeamWork 的能力

40 歲的程序員,活到老,編到老,知道的多,平等,平和,可以良好的溝通

?

真正的 XP 可以達到:工作節奏平穩、有效率、有節奏

?

只有溝通不夠的項目,沒有溝通過度的項目

?

主動匯報 上司

?

以人為本:每個開發人員都能充分參與到軟件開發中,都以每一行代碼為己任,做到我為人人,人人為我。

?

最高境界:以人為本,而不是以流程為本

XP :改變人的思維品質

1 )敢于面對批評 2 )不怕暴露自己的不足 3 )主動承認不足 4 )主動溝通 5 )杜絕懶惰 6 )反省自己的開發流程

XP 中,碰到問題應該是先問誰會,如果沒有會的再 google

?

1 )結隊一定更加高效、高質 2 )從別人身上學習,看別人的優點,尊重伙伴 3 )一個人的價值不在于知道多少,在于能知道多少 4 )永遠測試先行 5 不要吝嗇問題 6 )盡可能得讓別人知道自己在做什么 7 )不要重復代碼

?

XP 挑戰人性的陰暗面(惰性-永遠都不要自尊-知道什么時候應該放下

?

Xper =合格的程序員

對于 XP 團隊,招聘的時候對性格也是有一些要求

說白了: XP 是一種更加剝削的方式

?

但是對個人成長和對公司發展都是有利的,只能說可能對公司的益處更加明顯。

如果我是老板我一定會選擇 XP ,

如果碰到實施 XP 的老板,那么就努力跟老板學習,盡快讓自己也成為老板。

順便推薦兩篇文章:
極限編程(XP)發布工具
Step by Step CruiseControl入門