对于一个刚刚推进软件工程的组织来说,总会有一个问题摆在面前:SEPG是干什么的?当了解到SEPG就是软件工程过程组,主要的职责就是推进组织的软件工程和软件工程过程改进,那么就会有另一个问题出现:SEPG应该是专职还是兼职?
要回答SEPG是专职还是兼职这个问题,首先就要了解SEPG的职责,了解SEPG承担的任务。
在一些人的眼里,SEPG的职责是这样的:
●组织CMMI认证
●建立并维护软件工程规范
这样看起来,一旦软件工程规范建立起来,并且通过了CMMI认证,SEPG的工作就很少了,真的是这样吗?
正如前面所说,SEPG的职责是应该是推进软件工程,负责软件过程改进。所以,不仅仅是组织认证和写过程文件这样简单,这样距离推进软件工程差距还远得很。实际上,SEPG有6大作用:
建立软件标准
作为SEPG,应当能够及时从组织的软件开发活动中挖掘出合适的软件标准,用以规范软件开发活动,提高软件开发质量。
SEPG建立这个软件标准,不是随心所欲的,而是基于组织存在的弱点,找出解决问题的优秀实践。这不仅要求SEPG有足够的洞察力,还要有丰富的行业经验。
软件标准的建立也不是一蹴而就的。需要发现问题、引入实践、标准编写、标准评审、标准试点、效果评估、标准推广等一系列步骤。这些也都是SEPG的职责。
维护过程数据库
随着软件项目的进行,可以产生越来越多的软件过程数据,这些数据对于组织来说,都是一笔宝贵的财富。而要用好这笔财富,就需要SEPG做好这些过程数据的收集、分析,做好过程数据库的维护工作。
不是什么数据都会对组织有帮助的。精华与糟粕往往掺杂在一起。SEPG就要具备分辨出哪些数据对组织是有价值的,哪些只是垃圾。经过筛选和处理的数据才是真正有价值的。
筛选出了有用的数据,还要使数据受控,不会轻易地被改动;同时,也要便于项目组知悉和获取。这也是SEPG的工作。
技术引进
SEPG一定是组织中对软件工程相关的先进技术最了解的那个人。他能够根据组织和/或项目的需要,及时引进新的技术,并且为技术的引进做好投入产出预测,培训、试点和推广等工作。SEPG应当使组织引进新的技术带来的风险最小化。
过程培训
正如前面那些人认为的那样,SEPG应当是组织中对软件工程过程体系最熟悉的,因为他们是建立体系的人。所以,组织如果要对软件过程进行培训,SEPG就是过程培训教师的首选。
项目咨询
SEPG都是软件工程的专家,所以,如果项目遇到了一些困难,进展受到了阻碍,SEPG可以提供专业的意见,帮助项目度过难关。比如,当项目遇到交付的软件质量问题频出,或者迫于时间的压力,有些既定的测试活动是否裁剪,诸如此类的问题,不妨听听SEPG的建议。
定期评估
SEPG的一个重要职责之一就是对组织的软件过程不断改进。而改进的一个入口就是对组织的软件过程定期进行评估。
这个也是SEPG的工作。通过定期对组织的软件过程进行评估,发现组织的过程在实施当中存在的问题,并提出针对性的改进建议,试点、推广,这样逐步使得组织的过程越来越完善。
SEPG有这样的职责,这样的作用,岂是那么轻松写意就能完成的吗?所以,SEPG是该专职还是兼职,那也就一目了然了吧?
(本资讯于2017-01-12首次发布)