极限编程(XP)和SCRUM大概是2种最著名的敏捷开发方法。二者有啥区别呢p>
一、XP的特点
1、迭代周期更短,并强调持续反馈
2、测试驱动,自动化测试
3、项目初期迅速生成总体计划,之后迭代发展和完善
4、持续演化
5、依赖口头交流、测试和源程序进行沟通
6、团队紧密协作
7、程序员短期利益和项目长期利益取得平衡
二、XP最佳实践
1)计划游戏
2)小型发布
3)隐喻
没人能扯得清这是个啥东东。从描述来看,隐喻是个数据字典p>
4)简单设计
5)测试先行
6)重构
7)结对编程
8)集体代码所有制
9)持续集成
10)每周工作40小时
11)现场客户
12)编码标准
三、SCRUM的特点
没有查到资料说scrum有什么特点。也就是说,scrum是什么也没有人能扯得清。我只能自己总结一下:
1、分为三种角色:产品负责人、流程管理员、开发团队
1)产品负责人:主要负责确定产品的功能和达到要求的标准,指定软件的发布日期和交付的内容,同时有权力接受或拒绝开发团队的工作成果。
2)流程管理员
主要负责整个Scrum流程在项目中的顺利实施和进行,以及清除挡在客户和开发工作之间的沟通障碍,使得客户可以直接驱动开发。
可见
3)开发团队
主要负责软件产品在Scrum规定流程下进行开发工作,人数控制在5~10人左右,每个成员可能负责不同的技术方面,但要求每成员必须要有很强的自我管理能力,同时具有一定的表达能力;成员可以采用任何工作方式,只要能达到Sprint的目标。
2、多职能团队
开发团队成员没有专属工作,比如开发人员也可以兼顾测试工作,人人都是多面手。
3、迭代进行
以最快的速度完成每个迭代(sprint,拼抢)
四、scrum最佳实践:
1)燃尽图跟踪计划
2)计划扑克评估完成Sprint 任务项花费时间
3)ROI(投资回 率)可用于确定Sprint任务项目的优先级
4)任务板和简单的计划/ 告工具(例如Excel, SPR intometer , projectsimple )跟踪过程和质量
5)必要的文档
6)每日晨会
7)站立会议
8)需求( Backlog ) 打上编
9)迭代内容不更改
10)保证每天6小时冲刺时间
五、XP与SCRUM的区别
1、xp的迭代周期通常为 1 ~ 2 周,而scrum为 2 ~ 4 周
2、迭代期间,需求变更,XP可以作出调整,而scrum则留待下一迭代再实现
3、迭代期间,对于用户故事,XP严格遵循优先级处理,而SCRUM比较灵活,可按实际需要处理
4、xp有严格开发流程模式管理,而scrum较自由,靠程序员自律
从这点意义上来说,XP像软件公司自己养一支开发团队进行项目开发,而scrum像是把项目外包出去,软件公司只安排了一个接口人,然后不停的对外包团队说,你们就尽管卖命拼抢(sprint)好了,我只关心进度。
六、什么是敏捷开发方法
敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法。
以人为核心:敏捷开发只写有必要的文档,或尽量少写文档,注重人与人之间,面对面的交流,所以是强调以人为核心。
敏捷开发不代表开发进度快,而是说它本身很轻盈。
七、敏捷开发基本原则
1、短平快会议
2、小版本发布
3)较少的文档
4)合作为重
5)客户直接参与
6)自动化测试
7)适应性计划调整
8)结对编程
9)测试驱动
10)持续集成
11)重构
参考文章:
10个SCRUM最佳实践
Scrum三大角色特点
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!