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