斗胆发一篇写给领导的工作小结,希望有管理经验和开发经验的朋友批评指正
伍子V5 2005-03-09 08:46:24 转眼间,自己从事IT已经两年了。期间亲身经历了一个MIS系统的沉沉浮浮,感受到了国有企业管理存在的诸多问题。让我体会最深的是:一个技术人员光靠提高技术知识还不行,因为管理比技术带给项目的影响更深。所以当一个公司管理存在一定问题时,技术人员总是感到力不从心。21世纪的中国,需要的是人才,尤其是管理人才。
虽然我只是一个项目的开发成员,在企业管理上没有任何经验。但我却一直在观察和思考,所以这里我想对两方面进行总结,一是企业管理,二是项目开发。
我们公司以前的业务主要面向网络架构与系统维护,在软件开发上还没有稳定的开发环境、没有成熟的开发流程、没有丰富的开发经验,人才匮乏,基础薄弱,这就是我们的现状。作为一个企业,做项目赢利是生存之道,但为了长远的发展,我觉得公司应该着力于建立开发环境,开发流程,开发规范,然后在实际的项目中检验完善,并把开发经验整理成文档。
1、完善开发环境
由于我们公司在LINUX的研究上已经有了一定的基础,因此可以建立起两套开发环境,一是LINUX+APACHE+MYSQL+PHP(LAMP),二是LINUX+TOMCAT+MYSQL+JAVA(LTMJ)。PHP以快速开发见长,它有丰富的函数库,有易于替换页面的模板技术,很适合中小型WEB项目的应用,所以建议普通的网站采用LAMP。JAVA博大精深,有功能强大的中间件支持,有开源免费的框架结构,另外支持的企业也很多,资源丰富。因此大型项目建议采用LTMJ,其中的TOMCAT根据实际需要可以被其他应用服务器替换。公司应该明确这样的发展方向,有针对性地建立并完善开发环境,提高开发团队的开发能力。JAVA虽然已经是企业级系统开发的行业标准,但它对公司的积累,开发人员的素质要求也更高,所以我认为公司一方面要加大力度对该技术的研究,另一方面不要被潮流所左右,要对每一个项目进行客观分析,我们只选择最适合的,不选择最流行的,争取项目利润的最大化。LINUX研发应该有更高的要求,而不仅仅是停留在使用的层次上,因为它本身就是一个大的编译环境,开发环境,所以应该让有编程经验的人加入,那样才会提高研发成果。
2、培养企业形象,扩大企业知名度
公司应该从***计算机中心的角色中转变出来,培养自己的企业形象。我们不但要提高工程部的服务质量,也要保证软件部的产品质量。我们所开发的产品除了要满足功能需求外,还要注意细节的完善。比如用户界面、人机交互已经不在是软件的奢侈品,而是必需品。为客户考虑得更多,会潜在地为我们带来更多的客户。公司应该确立项目和产品齐头并进的方针,有项目时做项目,没项目时做产品,既多了一个利润增长点,也可以锻炼队伍,还可以扩大企业知名度。我们公司作为一个软件公司,竟然没有自己的门户网站,也没有一套象样的管理系统。其实,我们完全可以以此为契机,完善公司的开发流程。比如企业网站,先根据功能进行抽象,比如:新闻发布,网站调查,用户留言,活动社区等,然后建立各个模块的代码库。如果把企业网站比作是一台机器的话,各个功能模块就是零部件,当我们用开发的零部件组装成一台完整的机器后,我们公司的门户网站也就建起来了。更重要的,我们已经具有了快速开发企业网站的能力,无非就是各种功能模块的选择与装配。甚至,我们还可以做一个装配的软件,这就是我想象中的能够制造软件的软件。当然,能够做出这样一个软件难度肯定更大,但我觉得对于一个企业来说这是值得去尝试的,而且,企业网站的功能相对比较简单,技术上也是可以实现的。对于公司的管理系统,我认为可以尝试开发一套适合中小型企业的OA系统。这两套系统,只是我的一个初步设想,考虑肯定还不够完善,还需要做充分的市场调研和详细的系统分析。
3、完善规范和建立资源库
标准和规范对于软件开发的重要性不用多说了。制定标准和规范也应该是一件很慎重的事,尤其是开发规范应该由有丰富开发经验的人来制定,否则效果只会适得其反,降低开发效率。开发规范跟语言有关,我们公司主要使用两种开发语言JAVA和PHP,由于面向对象编程已经完善和成熟起来,而JAVA无疑在OO编程占统治地位,因此我建议PHP开发规范向JAVA靠拢,这也符合我们公司现状:开发人员较少,难免会出现交叉开发,既一个人扮演多重角色,参加多个项目,使用多个语言。这样,在语言变换的时候就不会出现不适应的情况。至于资源库,根据我们公司特点,应该包括软件库(开发软件),图片库(网页素材),代码库(通用代码),资料库(开发资料),备份库(软件文档备份)。应该建立起一套系统来进行安全和类别管理,并有专人维护,也可以把这套系统纳入企业管理系统之中。规范和资源是随着项目的开发不断完善和增加的,对于企业来讲,这就是一笔财富。
4、人才的培养务专不务全
IT技术日新月异,要求开发人员需要不断地学习新的知识,新的技术。但人的精力毕竟是有限的,谁也无法掌握所有的技术。因此公司应该把个人爱好和公司需要结合起来,有目的、有方向地培养人才。我们不需要样样都会,样样都只知皮毛的人,而需要需求专家、数据库专家、语言专家、界面专家等专业人才,这样组合起来的团队才能各尽其才,各展所长,这样组合起来的团队才是技术上有深度的团队,这样开发出来的产品才会是高质量的产品。当然作为我们开发人员自己,平时要注意拓展自己的知识面。软件开发,绝不仅仅就是计算机的事,需要的是个人修为。公司应该制定长期和短期的学习培训计划,定期进行技术总结和交流。比如一周花两个小时进行技术总结和交流;一个月开发团队要学会哪一个框架;半年应该学会某一门语言。同时还要鼓励技术创新,奖励肯在技术上进行钻研的员工。
5、制度的完善
作为一名员工,应该培养自己好的职业习惯和高尚的职业道德。但作为一个企业,却绝对不要指望员工能有多高的思想觉悟,自觉圆满完成各项工作,而应该不断完善规章制度及其监督制度,引导和监督员工的工作行为。合理的制度是不会让员工反感的,相反,这可以帮助他们戒除恶习养成好的工作习惯从而变的更优秀,惩罚恶例奖励优秀从而让大家获取更大的利益。其实这和依法治国的原理是一样的,法律只对有违法行为的人才有约束作用。所以请恕我直言:当一个公司工作效率不高,风气存在问题,在抱怨员工素质不高的时候,管理人员请首先从自身找问题。软件开发,是一个特殊的职业,很难度量员工的工作量。因此,这就为公司管理提出了更高的要求,如何才能有效刺激员工的工作积极性,保证团队的开发士气。合理的薪酬制度是一把有力的武器,它可以惩莠促良,提高公司的向心力和向前力。我们应该承认每个人的能力是不一样的,所以就应该接受薪酬的差距。软件公司普遍都使用基本工资加项目提成的办法,对于不在项目团队的员工,比如维护或做产品,则加适当的奖金补足。项目提成,要采用风险制,即项目完成的质量高,成本控制的好,时间使用的少提成越高,如果项目失败了,则没提成,这样可以提高项目成员对项目的责任感。
其实软件开发人员是一个比较特殊的群体,我们虽然很在乎薪酬(生存需要),但我们更看中做事,看中创造性活动的带来的成就感。企业只有为员工提供施展才华的舞台,让他能够感受到编程带来的快乐,能够为员工谋得更高的工资,让他能感受到工作的优越感,员工才能以自己的聪明才智为企业创造更大的利润,才能让一个企业真正走向良性循环,做到员工和企业双赢的结果。