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