一些背景资料
我是内部软件开发团队的一员。它包括
- 5位开发人员(经验从2到5年不等,我是其中之一)
- 3名实施人员(他们进行软件部署和培训)
- 和一名项目经理。
我们开发了大量的中小型项目,它们的时间表通常重叠。开发过程如下:
- “客户”给我们提出了一系列初步要求
- 我们按照上述规范开发系统
- 向“客户”展示所述系统
- “客户”根据上述介绍向我们提出了其他要求
- 重复2-4,直到“客户”用完新要求或部署目标日期临近
- 设置和部署系统
这与事实是,大多数情况下都是由“客户”来处理最后期限(这是一个危险信号,根据我在Programmers和PM.SE中的了解),我们没有遵循明确的开发方法牛仔编码,几乎不可维护的代码以及通过生产而产生的错误等。这就是为什么我们选择采用像Scrum这样基于敏捷的方法。
为什么是Scrum?
这是我们经理的倡议,鉴于我们目前的情况,每个人似乎都对此表示同意。
Scrum的问题
Scrum的某些元素与我们目前无法轻松解决的设置存在冲突,特别是敏捷开发人员的“万事通”性质。部署团队不知道如何编程,开发人员的沟通和培训技能低于平均水平。而且这个阵容不会很快改变。
问题
它会影响Scrum作为一种方法的有效性吗?是否需要进行其他更改以补偿?还是完全放弃这种想法而考虑另一种方法会更好吗?