导语:董轶,是某大型软件企业的资深项目总监,在行业软件及系统集成领域(政府、金融)有十七年的开发和管理经验。在上篇中,她认为技术人员转型做管理,一定要从以技术为中心转向以人为中心。下篇深入剖析行业软件领域的业务模式,相比风生水起的互联网技术圈,行业软件领域是典型的业务驱动模式,技术更新速度慢,氛围相对沉寂,各大技术会议和讨论上鲜见他们的身影。该领域的技术人员入行5-6年会遇到明显的瓶颈,在这样一个由业务驱动而非技术驱动的领域,技术人员应该如何做好职业生涯规划,突破个人发展的瓶颈?相信阅读完本文之后,会得到一些启示。
技术vs管理
“从开始做管理以后,我就觉得技术是一个相对简单的事儿,而且很多项目失败,十有八九不是因为技术的问题,基本都是因为管理的问题。”
- 技术人攻略:很多技术人员都不愿意做管理,对这个问题你怎么看?
要做技术的话,在不同的公司有不同的情况,比如说互联网公司比较注重技术,技术在整个的运营中占比较大的比重,管理能力就不需要很强。如果项目就2-3个人,真的不需要很强的管理能力,跟这几个人搞好关系就可以了。如果团队超过10个人以上,甚至几十个人,像我们有的大项目几百个人,你的管理能力就必须要强了。要不然几百个人是一盘散沙,10个人8个心眼,几百个人有几百个方向,力量怎么能形成合力呢,要拧成一股绳,必须靠管理。互联网公司可能技术要求更高一些,而且单兵作战更多一些,不会有那么大规模的团队,超过10个人,管理就一定是很重要的。有些人就是想走技术路线,做得也很不错,这也很好,萝卜白菜各有所爱,行行出状元。
l 技术人攻略:有因为技术失败的项目吗?你怎么看待技术和管理之间的关系?
从开始做管理以后,我就觉得技术是一个相对简单的事儿,而且很多项目失败,十有八九不是因为技术的问题,基本都是因为管理的问题。包括做的一些上千万、上亿的项目,有些好几年推进不下去,或者失败了,百分之百全是管理的问题。我做项目管理这么多年吧,接了各种各样的项目,真正因为技术失败的,几乎没有。
- 技术人攻略:是不是行业软件的技术相对比较简单?
也不是,当初做北京市民卡项目。北京的常驻人口是两千万,交易数据也是天文数字,涉及到大并发访问。最重要的还是安全性上的保证,这种关乎国计民生的项目有很大的政治影响,如果安全信息被泄露了,那会有很大的影响,这种项目在技术上要万无一失的,否则后果不堪设想,所以技术上也是有很大压力的。互联网企业确实在技术方面要求更高,也涌现出很多优秀的技术架构和技术策略,这些都是行业软件需要学习和借鉴的。
为什么说技术难题相对容易解决呢,因为不管遇到了多大的技术难题,我们解决不了,还可以找一些高人,花钱一般都能解决。但是管理问题一旦出现,花多少钱都解决不了。钱能解决的问题都不是问题,技术问题最终不管多难,它能办,管理问题你看它简单,你怎么都办不了,你耗上几年,拖死了,也办不了。关键技术问题是看得见、摸得着的,管理问题好像是看不见、摸不着,不容易察觉的,需要洞察力,但又实实在在存在的,所以我说它难。但是很多人,尤其我手里很多技术人员,工作了7-8年,甚至十年,都不理解这个事儿,他都认为技术是最重要的,于是也摆不正自己在项目中的地位。我承认技术很重要,但在我所处的行业环境里,不是最重要的。
项目是不是成功,项目经理和领导、客户的沟通特别重要。为什么项目经理的沟通能力那么重要,有时候你少说一句话或者说错一句话,客户火了,你底下人干再好,技术再出色也白搭。而且我们的客户主要面向政府,你跟他们谈技术,他看不起你。我们出去跟政府谈什么,谈商业模式、运营模式,客户关心的是我怎么把这个业务运营起来,政府服务社会的这个管理模式是什么。客户提到技术人员,如果说“那是个技术人员”,意思是没什么跟你好谈的。所以我们跟客户一般很少谈技术,客户认为技术不是最重要的问题。
- 技术人攻略:那在行业软件领域,技术人员该怎么寻求职业发展呢?
纯编码的技术人员在行业软件领域地位不高,随时招一批人都可以替换。比较关键的是业务人员,能跟客户谈需求,做系统设计,如果能谈业务运营、商业模式,那就是咨询顾问了。对于工作几年仍然在做coding的人,如果技术水平不是很高,又能coding点东西,但真出了问题又束手无策,这样的人就没有核心价值。有很多编码人员,做完一个项目,也不太清楚做得是什么,业务需求都不能描述,就是做完了不知道自己做的是什么。有很多日本,美国的公司都是把需求设计那在自己手里,中国人做低端的coding,做完了不知道自己做的东西是干什么的,怎么回事。一样的道理,如果只是做编码,核心竞争力就受到限制。
不过如果你技术上真是大牛,能拿得起来,例如出了个问题,比如出现故障、问题,别人束手无策,你能立马解决,这样特别牛的人在哪都需要。政府和金融的系统,一定要保持安全、稳定,万无一失,所以技术上必须不能有任何纰漏,也需要技术高手。
技术人员的发展瓶颈一般会出现在第5-6年,如果到30多岁的时候还不能成为技术大拿,就会遇到瓶颈。工资涨到一定程度就不可能再往上涨了,想要有发展,就要往系统设计、需求分析及项目经理的方向转。如果真能发展成技术大拿,公司出了什么技术问题都能解决,那也在公司有核心价值,如果只是普通的coder,遇到问题你只是参与,解决问题还得依赖于别人,或还得调集外部的资源解决,那就真的没有核心价值了。
不论是向业务、管理还是其他什么方向发展,有几年的过硬的技术基础都是非常好的优势。
精通业务需求
“我们在业务需求方面也没有达到专家的水平,不能主导客户需求,总是被客户主导。也只有精通需求,你才知道要花多少钱做这个项目,否则没做就亏定了。”
- 技术人攻略:为什么行业软件领域需求分析和系统设计的重要性比较高?
做软件之前要先进行系统设计,开发人员主要是根据系统设计进行编码。需求人员的要求更高,要能跟客户谈,还要能把握住这需求,如果需求控制不住,不断增加,项目有可能就会赔本。一个特别好的需求分析人员应该能引导客户,很多项目开始做的时候,客户根本说不出来要做什么。项目管理里对需求的定义非常精准,需求是“requirements and expectation”,就是客户的期望,期望是客户没有说出来但是想要的东西。控制需求的能力,就是虽然客户没说出来,但是做出来之后,客户一看正是他想要的。极少人能达到这种程度,这要求对客户的业务非常的精通。我们做北京市公务员系统的时候,法律刚公布,我们就要把公务员法整个给吃透。跟客户谈的过程中还要能引导客户,因为客户随口说的需求很可能是错的,如果你花了很多时间去做,最后做错了,你不能说是客户让我这么做的,原因还是你没有正确理解客户的期望。
很多情况下客户是真的想不清楚需求。我去年接了一个公司整合的项目,多家公司要整合成一个大的集团,需要做一个内部的OA系统,满足被整合的这几家公司的管理和运营,包括项目管理、销售管理、采购管理、财务管理、商务管理、人事管理等,几乎涉及到公司运营的方方面面。公司整合了,不同子公司的领导、职能部门还没有想清楚这么大的公司到底应该怎么管,每家公司的业务分类、具体运作流程都不一样,整合后的组织架构未定,那么在新的组织架构下,原有各个公司职能部门的职责如何分配都未定,不同子公司的领导、职能部门对整合后的想法、预期都不一样,也没想清楚怎么回事;而领导又急于建立起OA系统,把所有子公司的售前、实施中的项目都量化地管理起来,这些项目每年承前启后,大约有1000多个,如果没有OA系统,根本无法管理。面对这种复杂的情况,应该怎么应对?
做法就是站在公司整体运营管理的角度,从CEO的角度考虑怎么管这个公司,让OA系统既要体现统一管理,又要能兼容支持各个子公司在整合过渡期的需求,并且能过渡到统一管理的最终目标,这对系统的灵活性要求非常高。公司给出了建设思路、原则以及基本的业务流程,但很多具体的需求还要站在客户的角度,主动分析细化。这个项目很难做,你会发现对于一个需求,你和不同的人谈,会得到不同的回答,对于很对一个需求,都会得到N个回答,你怎么办?这就要求需求分析人员广泛收集方方面面的需求,深入分析各个子公司在项目、销售、采购、财务等各方面的管理差异,结合业界最佳管理实践和理念,按照以项目管理为核心的指导原则,采用最合理的运营流程来进行需求定义。关键是要有主导需求的能力。
面对复杂的情况一定要抓住关键!对于销售工作,管理要点是销售机会、销售合同、开票、回款,管理项目的要点是成本、进度指标,还要抓计划和监控,这些是万变不离其宗的。
还有就是从控制公司运营管理风险点的角度入手来定义需求。比如说怎么判断一个项目是不是健康,怎么提前发现问题,控制风险,要定期监控项目的进度和成本,不能光看成本,成本控制得特好,进度延后了,不健康;进度超前了,也不一定健康,要看是不是过量的投入了,有些项目提前囤积了大量的人,导致其他项目缺人。一个项目节约了不一定是好事儿,进度超前了也不一定是好事儿,要考虑到它对其它项目、公司整体运营的影响。不同业务类型的项目进度和成本的确认都有不同的方式,把这1000多个项目的成本、进度指标都量化计算出来,定期监控,超出标准值20%的项目就是有问题了。
如果做这个项目时,对于项目管理理论非常精通,那么做需求分析就会得心应手,就不会被众人的声音淹没,不知所措,而能够主导需求,分辨客户提出的需求哪些是合理的,哪些是错误的。为什么有的项目需求总是控制不住,客户没有想清楚总是在变化,这是客观因素,还有就是我们在业务需求方面也没有达到专家的水平,不能主导客户需求,总是被客户主导。这是很多项目最亏本的原因,大量的项目,包括几百万上千万规模的项目,需求频繁改动,永远没有完结的日子,项目好像总也做不完,这样拖上几个月,几年,亏损,客户还不满意,这样失败的项目非常多。我前面说的技术难题好解决,管理难题不好办,也是这个意思。不精通业务,就没法成功地做好项目,你花了几十万、几百万甚至更多,做出来东西客户说不是我要的,怎么办?所以说需求分析,业务规划非常重要。
这个项目我们在需求、设计上花费的时间和精力非常大,占到了工作量的40%以上,编码上的要求相对较低,技术上的压力相对小一些,但也要考虑大并发量下系统的快速响应问题。
还有就是如果不精通业务可能会受骗,客户给你100万的项目,但成本却花了200万。我曾经做过的一个大项目,光谈业务规划和需求就谈了两年。几千万甚至上亿的项目,要求我们要对业务方方面面有非常深入的掌握,如果你比客户还清楚,难道会不清楚要多少钱吗。也只有精通需求,你才知道要花多少钱做这个项目,否则没做就亏定了。
- 技术人攻略:你怎么看待行业软件领域的发展前景?
我感觉传统软件行业仍然是一个非常有发展的行业,这和国家有很大的关系。政府的十八大提出要建立工业化、信息化、城镇化、农业现代化,推动工业化和信息化的深度融合,这个上升到国家战略的高度。这就是说传统行业的方方面面都要增加信息化这个引擎,咱们很多的领域都是靠耗尽资源、破坏环境来获得GDP,新一届政府反复说要调整经济结构,怎么调整,就是要靠工业化和信息化的深度融合,传统行业都要改造成以信息化为引擎的行业。
举个非常简单的例子,老百姓头疼的交通问题要通过信息化的手段解决,例如GPS、电子路况导航,可以给每辆车装GPS,达到动态的监控城市的车辆状况,对交通进行动态的调节和疏导。再说环保,我们国家的环境污染非常严重,破坏生态环境是不可逆的,花多少钱都扭转不了。污水、废水都排放到江河里,怎么监控,靠人行吗,还是要靠信息化,要在关键的排污口、工厂,各种有影响的地方监测,搜集这些数据,靠信息化来监控环境,优化环境。食品安全问题也是一样,追根溯源,环节监控都要依赖信息化。
还有就是供应链的问题,将来的企业,尤其是大集团企业的竞争,不是企业与企业的竞争,而是供应链与供应链的竞争。比如生产汽车,需要上千家供应商,如果供应链非常健康,可以和几千家供应商、客户、代理商之间通过信息化的电子商务和信息化的供应链来沟通。好处在于可以及时响应客户的需求,可以按需生产,库存少,所以资金周转快,对现金流的压力就小。如果传统行业能打造端到端的供应链,那对传统行业就是更好的提升。
从企业之间的资源整合来看,B2B的角度也有很大的作为。总体感觉互联网和传统行业没有那么大的对立,都是不断的融合,促进经济发展,融合的趋势大于对立。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。