思考:西安软件公司最需要的是天才软件开发人员还是技术经理?
在西安软件公司技术经理的要求与沿海相比一般有相当大的差别,查看一下招聘,对软件技术经理的要求通常首先是熟悉某些工具,某几种语言,其次是某一行业的背景,而项目管理的技能则显得不是那么重要。所以,对大部分的西安软件公司来说,软件公司技术经理首先必须是技术专家、行业专家,而后才是管理者。
无可否认,这就是当前西安软件业的环境,正因为这样,西安软件行业充满着失败或基本上失败的项目,以及失意的软件技术经理。本文要谈的是,现在的软件公司技术经理面临这种可以说是恶劣的环境,如何才能成为一个成功的软件技术经理:
一、责任心取得项目的成功无疑是软件技术经理的责任。因为我们绝大部分软件企业运行在相对混乱的状态(CMM一级),组织不大可能对项目以及软件技术经理的责任做出明确、合适的界定,所以,影响项目成功的一切因素都是软件技术经理的责任,包括客户、环境、考核、激励等等。有些软件技术经理把满足用户的需求作为项目成功的唯一标准,这一观念往往成为项目最终成功的障碍。
结果通常是客户不满意(表面上是需求变了,实际上客户的需求并没有改变,只是陈述的需求变了),软件开发人员抱怨多(工作没有成就感),系统没有扩展性、可维护性。软件技术经理只有把客户的满意和企业长期利益作为自己的责任,项目成功才有可靠的基础,对于公司的战略性项目尤其如此。
二、常识和直觉大多数有违常识和直觉的做法最终会被证明为错误的,软件技术经理要积累足够多别人已犯的错误充实自己的常识。如果发现项目中有违反常识的现象,应该把它作为一个问题来解决,看一看是自己的常识需要改变还是这个现象需要改变。软件技术经理要尽量使项目按照常规运作,不要故弄玄虚,或过多使用软件开发人员不熟悉的新名词来表现自己的水平,这样不仅无助于软件开发人员形成良好的心态,而且无谓增加了项目的混乱。有一本书叫做《微软项目求生法则》,其实西安的项目才更象是在丛林求生的猎人,软件技术经理面对的是不断变化的环境和未知的将来。早上去上班,也许某个关键软件开发人员要辞职,客户的需求发生了重大的变化,或是老板又有了什么让你头疼的新主意。面对这样的环境,软件技术经理必须保持敏锐的嗅觉,准备弹性较大的项目计划和设计方案,在大部分变化到来之前有所准备,以免项目受到重大的打击。
三、学习的心态软件技术的发展日新月异,软件技术经理必须了解最新的发展方向,如:J2EE或.NET,UML等等,看看能否应用于项目之中。而且软件技术经理还得学习管理方面的知识,CMM,PMBOK或是RUP,学习这些理论体系对于西安的大部分小企业来说,最重要的不是完全的导入,软件技术经理首先应该从这些先进思想中看到差距,在关键问题上做好改善工作,逐步推动项目管理和技术的进步。umWkQ每个软件开发人员都有其独到之处,软件技术经理应承认软件开发人员有强于自己之处,并尽力促进成员间知识、技能的交流。
四、尽一切力量去维护项目团队西安的软件企业一般没有很好的文化和管理去构造一个富有凝聚力的团队。维持项目团队的稳定和战斗力成为软件技术经理的责任:
1、软件技术经理必须关心软件开发人员:尽力让软件开发人员专注于自己的工作,杂事造成的影响远比这些事本身花的时间多。相对说来,软件开发人员在处理杂事的时候效率会比一般人更低,也更容易犯错误,从而导致情绪变坏,影响工作。软件技术经理有时候应勇于承担勤杂工作。
2、要有宽容的心态,特别是对软件开发人员。现在的软件开发人员都比较年轻,自己觉得有点骄傲的资本,又处在一个浮燥的环境中,所以,有时候会做出一些过分的行为,软件技术经理千万不能太过在意。
3、甘做幕后英雄,不斤斤计较。软件技术经理经常要在技术上支持软件开发人员,但不能到处宣扬,而要把成绩归功于软件开发人员。在项目紧张的时候,软件技术经理有时间的话要参与到繁琐的测试和调试工作中,或做一些代码工作。
4、维护公平原则。软件技术经理在分配工作、对项目成员进行考核评估时必须做到公平合理,让大家心悦诚服。五、沟通与交流软件技术经理应该了解参与系统设计开发的成员,他们的特长和兴趣在哪里,以便更好地进行交流,这种非正式的项目外的交流对于团队的建设是至关重要的。此外,成功的软件技术经理也要善于与公司领导层的沟通,这是获得必要的资源支持的保证。有些优秀的软件公司技术经理可以与项目成员、相关部门或客户进行很好的交流,但没能与上级进行良好的沟通,他们在领导一个或几个项目取得成功之后,却发现在新的项目中缺少了基本的来自领导的支持。最终,有些软件技术经理选择了离开公司,而另一些则不得不放弃软件技术经理的角色。沟通与交流能力基本上是技术出身的大部分软件技术经理的致命伤。
十年前,西安软件行业最需要的是天才的开发人员,最近几年管理的重要性日益凸现