在公司工作久了,总会发现工作上有些困境。
1. 软件开发讲的是持续集成和改进,
我的理解是:对于某个功能一开始按最方便最适应需求的方式做,不一定最好。在项目发展和开发过程中,但有更好的方式和方法时,就开始重构。
2. 公司目前的流程是RUP的,本来RUP也是强调迭代的,不过当项目一直在面临新功能(需求)开发的压力,以及人手不够时(开发5个,测试3个),对于旧系统的重构和测试就直接面临“巨大”的成本问题,往往就搁置,即无限期推迟了。
而这样的结果是RUP名存实亡,实际上是一个瀑布式的开发。
对于公司来说,项目面临的巨大风险,一旦需求变更,工作所需的人天将大大增加,项目变的不可控。
对于个人,代码没有及时重构,主观上影响了新写代码的审美感,客观上造成更多更难修补的代码,一旦代码沉积下来,单元测试将变的困难,代码的测试将更多的依靠于集成测试,此时个人的精力不得不忙于改bug,没有时间思考,个人的进步也就谈不上了。
如何平衡迭代开发和成本控制的矛盾,对于项目经理来说是一个很大的考验。
1. 软件开发讲的是持续集成和改进,
我的理解是:对于某个功能一开始按最方便最适应需求的方式做,不一定最好。在项目发展和开发过程中,但有更好的方式和方法时,就开始重构。
2. 公司目前的流程是RUP的,本来RUP也是强调迭代的,不过当项目一直在面临新功能(需求)开发的压力,以及人手不够时(开发5个,测试3个),对于旧系统的重构和测试就直接面临“巨大”的成本问题,往往就搁置,即无限期推迟了。
而这样的结果是RUP名存实亡,实际上是一个瀑布式的开发。
对于公司来说,项目面临的巨大风险,一旦需求变更,工作所需的人天将大大增加,项目变的不可控。
对于个人,代码没有及时重构,主观上影响了新写代码的审美感,客观上造成更多更难修补的代码,一旦代码沉积下来,单元测试将变的困难,代码的测试将更多的依靠于集成测试,此时个人的精力不得不忙于改bug,没有时间思考,个人的进步也就谈不上了。
如何平衡迭代开发和成本控制的矛盾,对于项目经理来说是一个很大的考验。