中小型软件企业的技术生存方式大体可以分为两类,一类为应用服务型,另一类为技术研发型,目前大部分的中小型软件企业均属于应用服务型,笔者所在公司的技术生存方式也属于第一种类型,即为应用服务型。下面,仅就技术服务型技术生存方式软件企业的技术管理工作发表一些自己的建议,供同行参考:
一、开发和管理岗位分离
技术部门的管理,一上来就不能够将开发和管理混为一团,其结果必然是差强人意的,目前大部分的中小型软件企业,在考虑到成本或者根本就没有意识到这个问题的情况下,技术部经理和技术总监往往是一人兼任,这样做带来的直接后果是,技术总监是一个优秀的开发技术人员,但却不是一个合格的管理人才,而技术部门的团体战斗力是不能依靠个人英雄主义来成全的,如果企业处在这样的一种境遇中,其技术部门人员的流动,技术部门人员的内部培养,技术部门工作的管理,必然存在诸多不足之处,原因很简单,人无全才,做技术做的好不一定做管理做的好,做管理做得好不一定做技术做的好。
二、具有一定的通用积累
技术部门的管理,其最终目标是具有高效的投入产出比,借用软件工程的复用思想,技术部门的管理者必须要有一套长远的通用积累计划,通过把繁复的工作转换为一系列可复用的过程来提高整体的技术生产力,目前,有很多软件企业已经在进行这方面的工作,但是仍然不够清晰,这方面的工作主要体现在,产品架构的良好设计,基础类库的设计和构造,快速开发工具如代码生成器的一些开发,界面通用模板的设计,业务构件的通用封装,数据结构规范,软件开发规范等等,技术生产力的高低依赖于投入产出比,而高的投入产出比依赖于高的通用积累储备。
三、良好的内部分工体系
技术部门的管理,构建在良好的内部分工体系之上,评价内部分工体系是否良好的标准,不能够用我们通常所认为的“一人一岗,各司其责”标准来衡量,因为对于一个应用服务型软件企业来讲,其技术部的工作日程不可能是四平八稳的,企业要生存,必须要能够快速、高效、优质的完成客户交付的项目,技术部门通常是压力最大、日程最紧的一个部门,因此,除了在传统的“一人一岗,各司其责”基础之上,还得引用“备份”机制,不能出现缺少某个人而不能正常运转的情况,从需求调研、软件设计、软件编码、软件测试、发布更新、配置管理直到技术管理,每一个岗位都必须有一个预警措施,能够确保工作不依赖于某一个人,这样就确保了良好的分工体系,不把某个人累垮,也不依赖于某个人。
四、长远的技术规划
古人云:“凡事预则立、不预则废”,中小型企业的生存是第一要义,但是从团队培养的角度来说,只有具有持续吸引力的团队才是最稳固的团队,凝聚技术性人才的真正动力,在超越了收入这一层次的时候,技术素养的培养更具有吸引力,这就必然要求技术部门的管理者要能够有一个相对长远的技术规划,一方面能够让企业在技术手段上能够立于不败,另一方面能够使团队的每一个成员感受到吸引力和进步感,这样,既能够稳定技术结构,又能够稳定人员结构。
总而言之,中小型软件企业的生存压力,一方面来自于市场的竞争,另一方面更来自于企业管理自身,而后者往往被大部分的企业决策者所忽略,没有一个企业决策者不想把自己的企业做大做强,但是,并不是每一个企业决策者都能够付诸行动,我想,这正是技术部门是否能够留住一流技术人才、软件企业是否能够持续发展壮大的一个根本原因之一。
欢迎业内同行相互探讨和学习,作者联系方式:sharpnessdotnet@163.com
请支持本土软件事业,http://itabby.com