目前,项目的开发方式有两种:一种是瀑布法,一种是Scrum方法。然而,对于Scrum来说,它就是一种敏捷开发流程,是一种革命性的新思维,是一个组织性的变革 。借用Scrum创始人Jeff Sutherland话说:“ 创建Scrum的初衷就是为了给科技行业提供一个更快、更可靠、更高效的软件开发方法。”
《敏捷软件开发宣言》的价值
人胜过流程、
可以使用的软件胜过面面俱到的文件、
客户合作胜过合同谈判、
应对变化胜过遵循计划。
瀑布方法的问题
- 项目划分多个阶段、且每个阶段有严格评审,然后才能进入下一个阶段。这样很大程度会导致开发进度缓慢、具有高度的不可预期性,而且往往开发出来的产品不符合用户的预期,用户不愿买单。
- 流程容易延迟交付。将预先规划的方案细节放在甘特图中,虽然可以让管理层感觉一切都在掌握中,但结果通常都会是开发进度一延再延,预算超支。
Scrum带来的不同
- 我们可以直观的看到人们实际是如何工作的,而不是嘴上宣称自己是如何工作的
- 它鼓励人们发现新问题,找到新创意,而非限制在图表中
- 它把项目分解为多个小循环,可以让早期用户及时提供反馈,能立即避免浪费精力。
- 团队确定各项任务的优先顺序,然后必须在规定的期限内完成
- 允许研发团队近乎实时地收到反馈,根据反馈判断方向正确与否
- 从用户角度看问题,而不是从自己角度
- 有助于大大提高团队工作效率,改善团队业绩
- Scrum方法不仅应用于软件开发,还可应用于汽车制造、教师授课、经营干洗店、制造太空飞船、计划婚礼等
- 任何一款软件,80%的价值来自20%的功能,如果人们按照价值的高低对各项任务进行排序,那么就能促进人们优先完成最有价值的20%
- 快速迭代,快速失败,才能快速改正