我公司坚持将SCRUM作为维护和扩展代码库的开发过程。SCRUM和传统/高度耦合代码
我们的代码库没有文档,用各种技术和高度耦合(各地的全局变量,在后端有大约800个Oracle PL-SQL存储过程的程序性JavaScript代码,没有对象,隐藏的假设等)编写。当然没有单元测试。而且,开发团队是新的,对现有代码没有经验,并且绝对不是跨功能的,因为他们每个人都具有特定的技术知识(例如JavaScript,但没有PL-SQL)。
当我们第一次试图引进SCRUM几个月前,我们悲惨地失败了,因为
- 没有想给估计,因为他们没有任何的代码,因为变化
- 编写单元测试是不可能的知识添加单元测试需要,给出的代码库需要重构
- 建立一个适当的测试环境也对自己 (收集测试数据等),一个巨大的努力
- 没有想尝试到c个月属于“外国”技术的手机代码(例如一个接触php部分的SQL人)。
另一方面,用户故事确实以可用的形式出现,我们有一个相当不错的流程来记录和解释开发团队的需求。
鉴于上述情况,我认为SCRUM可能不是最好的前进方向。不过,我想看看有没有人有计划提出如何在这样的环境中接近SCRUM。
如何使用SCRUM特别是遗留代码库的问题?问题与您选择的项目管理理念有何关系? – Matthew 2015-03-31 19:23:55
我的理解是SCRUM需要在sprint结束时测试用户故事的实现。鉴于代码库不支持单元测试(这就是我称之为遗留代码的原因),问题是我们是否可以采用SCRUM。我们应该花费太多时间重构要进行单元测试的代码,或者提供未经过单元测试的用户故事。 – user2465039 2015-03-31 19:30:52
还有其他类型的测试可以在不易于单元测试的系统上完成。有很多可用的集成测试框架。迈克尔羽毛的“与遗产代码有效地合作”也许是一本好书。 – Matthew 2015-03-31 19:56:46