软件过程改进的12条
软件过程改进的12条:
-
过程改进必须做起来
软件工程是个实践的事,必须要做起来!
我们实施软件过程改进,是为了提高组织的软件工程能力,而提高软件工程能力不是看你掌握了多少理论知识,能力必须通过实践获得,软件过程改进也只有做起来才知道能不能给组织带来效益。
2.做改进的人一定会说不知道
软件过程改进必须实事求是,“知之为知之,不知为不知”,一次改进能否取得好的后果,给组织带来多大的收益,很多时候都是只有试点之后才知道。过程改进者不应该也没有必要非得说自己知道,那样会更不负责任,一旦改进没有达到预期效果,会让组织对改进失去信心。
3.给改进者一个安全的环境
过程改进会触动一些人的利益,会遭到一些人的反对,组织应当给过程改进者一个安全的环境,否则,过程改进可能进行不下去。
4.过程改进只能来自实践者!
过程改进必须由一线技术和管理人员进行,只有他们才最清楚哪个环节容易出问题,能够提出有针对性的改进点,能够第一时间验证改进的效果。不了解具体工作的人不可能做好过程改进。
5.裁剪要有红线!
过程改进的一部分内容是对过程进行优化,根据项目特点进行相应的裁剪。但是,裁剪要有红线,不能因为工期紧张就把必要的评审、测试活动裁剪掉。
6.做问题痛点驱动的改进
过程改进点要有选择,不能随意从项目组提交的过程改进建议或者内外部评估发现的问题中选择一个就进行改进,改进一定是要给组织带来价值,而解决软件开发过程中遇到的问题痛点则是最有价值的事。
7.用最小的代价做最多的事
软件过程改进是需要组织投入人力和成本的。所以,进行过程改进应当秉承“do more with less”(用最小的代价做最多的事)的原则,一方面,我们过程改进应当根据费效比对改进事项进行排序,优先做那些代价小成效高的改进;另一方面,我们的每一次改进要充分考虑到对各方面的影响,使改进成果可以最大化。
8.无价值的事不做,低价值的事少做,高价值的事多做!
过程改进是为了给组织带来更多的价值,那么该做什么不该做什么就要根据是否对组织或用户有价值来判断
9.过程改进是一把手工程
过程改进不啻为一场革命,它必然会受到阻力,没有一把手的强力支持,是很难有效地开展。
10过程定义要考虑执行人员能力,考虑实施风险
同样的一条实践,在别人那里是最佳实践,到了我们这里顶多就是优秀实践。因为组织环境不同,实践的效果可能完全不一样。这其中执行者的能力就是很重要的因素。对于能力强的人是优秀实践,对于能力弱的人可能恰好相反。所以,过程定义必须要考虑执行者的能力,考虑能力不足的人执行所带来的风险。
11.改进应循序渐进
即使我们看到了组织存在的诸多问题,但是改进也依然要循序渐进,不要妄想一口吃个胖子,步子太大容易出事。小步走,见效快,而且容易控制,即便出现些问题也能随时纠正。
12.有价值的事容易做!
过程改进应当使有价值的事情容易做。这样才能让人接受,便于推广,从而给组织带来更大的价值。