【IT168 专稿】
负责一个小型软件开发项目就跟掉层皮似的,其需要花费的心力不亚于负责一个大型的软件开发项目。近期公司让我做一个小型软件开发项目的主管,由于在资源、人力、管理水平等各种方面都有所欠缺,使我所负责的小型开发项目走了很多的弯路。为什么小型软件开发也有那么多的麻烦事情,到底问题在哪里呢?
初期的开发失败给我很大的打击,对此我做了许多反思和总结。后来,我终于明白到是由于缺乏切实可行的开发制度来为开发过程保驾护航,致使开发人员和测试人员不知项目该如何稳步地往下走,对于出现的异常情况也不知如何预防和规避,而且在出现问题时也未能有步骤的及时进行快速反应。简单的说,缺乏制度化管理是这次开发暂时失利的重要原因。
开发受挫源于对制度化的误解
所谓开发制度化,是指在软件开发过程中大量使用的口头的或文字化的规章、标准或约定等。开发制度化对于软件开发项目来说,就像规矩对于画方圆一样,其重要性不言而喻。但目前许多小型软件开发团队对于开发制度化却有不少的误解。
(1)开发制度流于形式,缺乏实质性操作
目前许多软件开发的管理制度都是为大中型开发项目制定的开发制度与规范,如CMM、ISO9000等。因此在实际操作中,许多小型软件开发团队以这些为大中型软件开发项目制定的开发管理流程为基准的、模仿制定的规范制度,不但未起到明显效果,有时还会落得个"东施效颦"的骂名。
原因并不是这些制度化的管理规范本身有什么问题,而是许多小型软件开发团队模仿所制定的开发管理制度,并没有针对小型软件开发项目的实际配置进行合理优化。因此,许多小型软件开发团队花大心血建立的开发制度只流于形式,缺乏实质性操作,在一定程度上导致了项目的失误,最终形成东施效颦,差之千里。
(2)过犹不及,患上制度迷信病
制度迷信病是小型软件开发团队在其开发管理过程中另一个常见的问题。原因是有些曾在大中型团队或项目工作过的开发人员,在负责小型开发项目时,也往往喜欢套用大中型开发项目的经验,强调要用"制度"管人,用"制度"去指导开发。但由于缺乏对小型软件开发活动特点的深入理解,这些开发人员往往会不自觉地形成简单问题复杂化的僵硬化思维。久而久之,就会产生了一种叫做"制度依赖或制度迷信"的病态不健康思维方式。
这些开发人员在开发过程中过分的期望通过制度来实现对人的有效管束,但却忽视了小型开发项目的特点,结果是执行力越来越差,效率越来越低,抱怨却越来越多。这个时候,有制度比没有制度还糟糕,这就是患上了我们熟知的"制度病"。
(3)过分人本管理,却欠缺制度化管理
许多小型软件开发主管在处理开发活动和制度化管理关系过程中,常犯的通病是没有或不善于将人本管理与制度化管理有机地结合起来,使开发过程中过分倾向于人本管理,而忽视了制度化、规范化的管理。他们只着眼于单纯地、或过份地依赖其个人的管理能力,结果反而造成许多对开发质量稳定性不利的影响。
(4)制度执行不力,使其成为一纸空文
许多小型软件开发团队在开发过程中并不缺少文件化的制度,但往往却容易陷入另一个困境,就是执行不力。究其原因有三个:一是开发制度太多太滥令人无所适从;二是泛滥的制度化带来了大量的额外烦琐的管理工作量;三是对违反开发制度的行为缺乏相应的制裁措施。结果使开发制度无法有效执行,使其成为一纸空文,最后束之高阁。因此有一句大实话是值得小型软件开发团队重视的,就是有制度不执行等于没制度,执行不到位也等于没有制度。
为什么小型软件开发更需要制度化管理?
俗话说:没有规矩,则不成方圆,要想画出合乎要求的方和圆,就要有矩和规的帮助。目前,中国软件行业中大量存在的仍然是中小型软件开发团队。这些小型软件开发团队虽然资金有限、人力有限、管理水平和技术有限,但却是麻雀虽小,五脏俱全。因此,对于小型软件开发项目来说,要想比较顺畅的完成任务,就必须要提高软件开发过程的管理素质。换句话说,就是必须要有相应的制度框架给予支持。
(1)制度化管理可把开发活动导向正轨
软件开发工作有一条不变的原则是--开发总会遇到方方面面的阻力,使到开发计划总是在变。变化如果在项目预期内,在预设的轨道内运行,软件开发就是可控的。否则,项目就会脱轨变得不可控。因此,无论是大型还是小型软件开发项目,只有有"轨道"可依才能实现高效率的项目管理。实质上,制度化管理不但是软件开发从"低文本文化"向"高文本文化"过渡的具体表现,而且还是软件开发过程实现"法治轨道"的具体表现。简单的说,就是软件开发制度化不但是落实开发计划以达到规范管理的过程,也是把纷繁复杂的开发活动导向"法治轨道"的管理过程。