流程提升一般分为三步:
1. 定义流程
前面提到的流程的一个良好特性就是流程是用来解决问题的,所以当你遇到问题的时候,为了防止问题再次出现,你可以定义一个流程来解决它。 这就需要你对问题进行深入分析,听取各方的经验教训,并在此基础上规定人员的责任、权利、做事的步骤、需要满足的条件等。
2. 进行流程试点
流程明确后软件开发的过程,需要获得相关各方的认可,然后进行小规模试点。 在试点过程中,应收集一些测量数据来衡量该过程的收益和成本。
3. 流程有效性评估
试点完成后,应组织对该过程的有效性进行评估。 该评估基于步骤 2 中收集的测量数据。根据良好流程的另一个特征(流程的收益大于成本)来评估流程的质量。 如果评估结果不好,必须分析原因、优化流程、重复试点。 如果评估进展顺利,请考虑在整个组织内推广该流程。
当然软件开发的过程,以上流程推广的三个步骤只是从组织者的角度完成了流程的推广。 事实上,只有项目团队知道流程是否可用。 如果前三步是由管理者完成的,过程中没有很好地听取项目组的意见,开发出来的流程对项目组来说将是一场灾难!
对于项目负责人来说,如果你遇到这样的情况,这里推荐三个技巧来帮助你处理。
它并不总是有效,但值得一试。
1. 为你的团队让路
由于某些领导的要求,某些流程可能只是添加一些文书工作。 会占用开发者大量的时间,并且对软件产品没有帮助。 项目负责人可以自己承担这部分工作,而不是交给你的团队。 虽然这可能会让你感觉自己是团队的秘书,但牺牲你的时间来换取团队在软件产品上投入更多的成本可能是值得的。 此外,这将为您赢得团队的更多信任。
2. 投注不符合流程
如果你的团队被要求实施一个新流程,作为项目负责人,首先你将召集你的团队,讨论该流程,找出该流程的目的——它想要防止或确保什么,并讨论替代方法。 然后,您可以向经理保证您的团队无需此流程即可实现这些目标。 给它一些时间进行实验。 如果您的实验失败,您同意该过程; 如果你的实验成功,你就不会采用这个过程。
3.忽略过程
如果团队讨论的结果一致认为该流程没什么用处,那么作为项目负责人,您可以决定忽略该流程。 这只会让你面临两种情况:第一,负责晋升流程的人会联系你,问你为什么不这么做。 你可以告诉他你讨论好的流程不适合的原因; 其次,没有人问我为什么不遵循流程,所以流程并不那么重要。
在新组织中,这通常很有效,因为你还有一个不熟悉组织的借口。 但要小心:忽视官僚机构可能会危及你的政治前途。
这正是:
三步流程推进,注重效果评估
必须拒绝不良流程以确保项目成功
参考文献:《程序之美》系列:团队和项目管理之美,Andrew Stellman、Jennifer Greene、Scott Berkun,机械工业出版社
作者简介:王小双长期从事GJB5000的推广、实施、评估和改进工作。 创建“软件工程思考”微信公众号,一直在“软件工程思考”中分享GJB5000、CMMI和软件工程的知识和见解。 现致力于GJB5000软件过程改进和软件工程能力提升的咨询和研究工作。