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入門