- 相对于传统的瀑布开发模型,敏捷编程产生的原因是基于更注重编程人员,而轻流程的原则而诞生的,但是经过这么多年的发展,敏捷编程逐渐的偏离的其原本产生的原因,现在的 Scrum 更多的是重流程而轻人力,所有成员每天都要参与繁琐流程。
- Scrum 中有很多没有必要的流程,比如每日早晨的站会,对于一些团队来说,取消站会可以增加开发人员的效率,因为他们可以随时开始一天的工作,并且不担心会被打断。
- Sprint Review 在很多团队中都是不需要的,Story holder 可以每天从团队得到反馈,而不需要在 Sprint 结束时专门空出时间来展示。对于有完整的自动化 CI 的团队,Story holder 完全可以通过自己查看最新的未发布版本来知道开发进度。
- Sprint 将本来就是持续集成的开发流程切割成了一段段的时间段,这一点并不是特别的符合现在最新的开发模式,毕竟 Scrum 概念兴起的时候,持续集成的概念和工具还未提出。
- Agile 之所以变成重流程而轻人力的原因是因为开发团队的不断壮大,有了更多的层级结构之后,上层的管理人员需要通过这个流程去获取管理团队的数据,比如 Jira 可以通过简单的配置生成复杂的报表,所以整个流程变的更多是面向上层管理的工具,而轻视了真正的开发人员。
那该如何改进?
- 尽量的减少 Scrum 中团队不适合当前团队的流程
- 如果上层管理者需要数据,更多的通过自动化的方式去获取,比如分析项目的 Commits ,自动化测试的报告等
参考连接