就这么五六个人,七八条枪,能搞好软件工程吗?

程序员不是一个容易的工作,加班是家常便饭不说,还要不断忍受需求变更的折磨。

就这么五六个人,七八条枪,能搞好软件工程吗?

与IT公司中的程序员相比,军工单位的软件工程师就更不容易了。他们当中大多数都是一人承担多个软件的研发任务,时间紧、任务重,而且他们的工作还要按照质量管理体系、软件过程体系、职业健康与安全体系、保密体系等的要求做,为了满足这些要求,软件工程师用于软件开发的时间被进一步压缩。本来一人开发多个软件就已经吃不消了,而且还有很多和软件开发不太相关的事情要做,软件工程的很多要求都不能得到很好地落实,软件工程师对于交付出去的软件都没有什么信心。可是,软件工程师们也不想这样啊,宝宝心里苦啊——你以为我愿意软件出问题吗?我根本就没有时间进行充分的验证啊!

软件任务多,各种体系要求多,而组织只投入很少的人力。就这么五六个人,七八条枪,软件不出质量问题,那就是奇迹了。

不重视这个问题,不着力解决这个问题,会给软件研发带来巨大危害。而要解决这个问题,可以从组织内部和组织外部两方面着手。

在组织内部,管理层要清醒地认识到这一问题对软件质量带来的严重危害,积极主动地从过程方法、资源投入、组织领导力等方面挖潜力、想办法。

1. 过程体系改进

组织应当重视软件过程体系的评估和改进,研究当前软件过程体系是否存在一些冗余的活动,研究是否可以裁剪一些实践:哪些实践必须执行,哪些实践可以让步执行,哪些实践无须执行。通过对软件过程体系的简化和裁剪,从规程和方法层面为软件工程师进行减负,让软件工程师能有更多的时间投入到软件开发活动中。

2. 加大资源投入

当组织评估目前的资源投入仍然无法满足简化后的软件过程体系要求,就应着手加大对软件开发的资源投入。资源投入包括人和工具两个方面。除了扩大软件开发人员的队伍之外,工具的投入也应该考虑。软件开发过程管理中的数据收集、统计报表报告生成、产生特定格式的技术文档等,都应尽量由工具来完成。软件工程师只要完成设计、实现、验证等活动后,其结果都应有工具自动收集、记录、统计和分析。工具的投入也可以节省软件工程师完成管理活动的时间。人力投入多少,工具投入多少,这些都需要组织好好权衡。

3. 加强组织领导力

组织应当重视项目管理和项目团队建设。项目团队应当是由合适的人组成的。项目管理者能够知人善任,让每个项目成员都能在适合自己的岗位工作,都能充分发挥出各自的特长,而且团队中有大牛、也有小白,相互之间可以优势互补,最终让项目团队能够发挥出1+1>2的效果。

在组织外部,要借助军用软件能力评价和型号质量专项检查,

军用软件能力评价分为4种评价方式:初评、复评、变更评价和监督评价。初评和复评的工作重心是检查组织的软件过程体系是否满足GJB5000标准的要求,在软件工程三要素——方法、工具、过程——之中,更多地是对过程这一要素的确认。而监督评价则是要对软件过程体系的落地情况进行确认,在这个时候可以并行检查下软件“能力”是否满足任务的要求。因为“能力”不仅体现在过程、方法上,更重要的是把这些过程、方法、工具和人组织起来保质保量地完成软件任务。在监督评价的时候,可以检查组织在人力和工具投入上是否足够,是否影响了软件任务的完成。如果发现有这样的情况,应当向被评单位指出来。评价组的关注,能够在一定程度上推动组织重视这个问题。

型号质量专项检查,不仅要发现质量问题,还要分析下问题产生的原因,以帮助组织尽快找到问题的根源,迅速解决问题,完成软件任务。如果当中有资源投入不足的原因,专家组应当要求组织在一定限期内解决。

组织在软件研发方面的投入不足的问题,是一个长期存在,又常被忽视的问题。但是这一问题会使得软件任务完成受到很大影响。要解决这一问题,需要组织自身的重视,也需要外部的推动。


分享到:


相關文章: