2. 增量交付前端
3. 开发团队和用户反馈推进产品开发程序员
4. 持续集成编程
5. 开发团队自我管理后端
上面说了敏捷是一种指导思想或开发方式,可是它没有明确告诉咱们到底采用什么样的流程进行开发,而具体的开发方式有哪些呢?框架
Scrum,极限编程(XP),精益软件开发(Lean Software Development),动态系统开发方法(DSDM),特征驱动开发(Feature Driver Development),水晶开发(Crystal Clear)等等。工具
除了Scrum和XP,对于上面的其余开发方式,我也只是简单了解,你们能够多查查相关的资料。测试
咱们能够简单的对比一下Scrum和XP: 设计
Scrum和XP的区别是,Scrum偏重于过程,XP则偏重于实践,可是实际中,二者是结合一块儿应用的。blog
咱们经过身体力行和帮助他人来揭示更好的软件开发方式。经由这项工做,咱们造成了以下价值观:后端开发
在每对比对中,后者并不是全无价值,但咱们更看重前者
Scrum 是一个用于开发和维持复杂产品的框架 ,是一个增量的、迭代的开发过程,一般用于敏捷软件开发。。原词来自于橄榄球中“带球过人”。在橄榄球比赛的每次冲刺前,都将有一个计划安排的过程,但冲刺开始后则由队员在原计划的基础上随机应发
不少以为Scrum并没什么实质性做用,缘由有这么几点:
1. 对于没有接触过Scrum的程序员来讲,很难作到敏捷。
2. 用户故事的划分以及产品列表挑选最高优先级有点困难
3. 开发的过程当中,团队中全部程序可以一直保持积极主动性很难把握
4. Scrum对于自组织的团队要求很高
5. 对于在实施Scrum的过程当中,对于把握全局的master以及产品负责人的要求更高。
6. 可否在实施的过程当中及时发现问题,及时解决问题
不可忽视Scrum做用:
1. Scrum团队老是先开发对客户具备较高价值的需求。
2. 更好的管理软件开发项目,它一样能够用于管理运行软件维护团队,或者做为计划管理,或者做为计划管理方法。
3. 提升团队的开发效率,下降项目的开发周期,最大限度的发挥团队的做用,更好的知足用户的需求。
优缺点:
Scrum的优势就是敏捷的优势,很注重实效,能更好的应对变化。
缺点是,他过于强调了人的自我管理。 有的观点认为,Scrum适用于一帮资深程序员组成的团队,每一个人都是牛人,每一个人都有激情干活,这样才work。在国内你们缺少能动性,没什么激情,很不适合Scrum。
还有一个问题,就是很容易不停的由于目标变化而从新设计,最终致使不能交付。
Scrum并不能保证项目成功,它只是给你更多的反馈,更多的可控性,让你更灵活的应对变化。在实际项目中咱们应该对Scrum进行可适应性调整。