标杆公司:华为
为什么会产生敏捷开发模式?之前的瀑布或V模型的模式有什么缺陷?
项目周期较长
变更不可控
敏捷开发模式:scrum 要有产品经理指定短期内的功能,协作实现短期目标
xp 对团队的人能力要求比较高
特点:
结对编程:两个人同时写一个功能 相互帮助进行
小步快跑:每次功能定义明确 周期在1~4周之间
使用大量的自动化测试 TDD
行为驱动测试 userstory
单元测试较多
持续集成 每天、每小时或每半天自动打包
强调人与人的沟通 高效协作
弱文档
站会 燃尽图展示项目进度、计划,每天沟通问题和计划 全局了解
分批次上线
自动化测试代码和开发代码是一起提交 (google的代码提交模式是功能代码和单元测试代码一并提交并有人review,通过后才能成功提交)
重构 只做明确需求不做过度设计,以前会为了预计会产生的兼容性进行过度设计