APP下载

实现人才培养与市场需求的无缝链接

2010-12-31苏麒匀

计算机教育 2010年11期

  现在,每年有超过600万大学生毕业,求职竞争十分激烈。然而,在很多本科生、硕士甚至博士生找不到工作的同时,我们却看到企业在抱怨招不到符合要求的人才。因此,如何实现高等教育与企业需求的无缝对接成为高等教育界亟待解决的问题。作为一名北京交通大学软件学院(以下简称交大软院)研二年级的工程硕士研究生,在今年就业形势异常严峻的情况下,我最终签约北京某知名软件企业,虽然不能说是特别成功,但是我认为我能够顺利就业和交大软院采用的CDIO教育模式培养有着十分密切的关系。
  CDIO采用学生“做中学”的教育模式,它不仅教授学生基本的工程技术知识,并且通过实际项目训练让学生获得真正的工作能力,而最终实现面向能力的人才培养以满足企业的需求。我将结合自己找工作以及在交大软院所受教育的实际经历谈谈我对CDIO教育模式的一些亲身感受,希望能够给从事高等工程教育的老师们提供一些参考。
  
  1 分析问题能力的培养
  
  在经历很多次招聘企业的笔试与面试后,我发现企业最先考察的是一个人对问题的分析能力,即如何识别与发现问题,如何思考的能力。在交大软院的学习期间,我担任了张红延老师主讲的“软件系统分析与设计”课程的助教工作,这门课从认知高度讲述了问题分析的一般方法与过程,并将软件作为现实问题空间的解来阐述目标、业务、系统与系统元素不同抽象空间对象内容定义的刻画方法与规格。这门课的助教经历让我分析问题与系统定义的能力有了质的飞跃。
  “软件系统分析与设计”课程采用研究生科信息管理系统为能力培养的项目载体,让学生通过项目实践亲身经历问题分析、需求捕获与定义、系统功能定义与设计、编码实现以及最后部署与上线的完整软件开发过程,并在项目过程中穿插了各种小组评审活动和项目管理活动,项目做下来几乎完整地走了一遍标准的软件公司开发流程。在这其中,我体会最深的是对于需求的收集和分析。在开始阶段,我们收集到的需求是凌乱的,有些需求之间甚至出现了相互冲突的情况,还有些需求完全是用户自身的想法而无法系统实现,定位问题、定位系统目标并梳理需求成为让我们头疼的问题。这个时候我们采用了“鱼骨图”的方法,将散乱的原始需求从“鱼骨图”各个层次汇总到主骨,再汇总到最后的业务目标,这样就将杂乱的需求信息有条理有目标地总结归纳了出来。然后我们在导师的指导下,再通过业务流程图、系统边界图、系统事件表、系统用例图等一系列标准的软件工程系统化分析与描述方法将需求逐步分析清楚并规格化描述出来,实现了从最初原始的用户需求到软件系统需求规格的转变。除此之外,我们在分析各类问题的同时还着重考虑了以下几点:
  (1)这个问题的紧急度和优先度是多少?因为,企业不是一个完美的行动主体,其内部或外部随时都会存在许多问题,这些问题有主次之分和轻重缓急之分,同时也是风险所在。识别哪些问题是要在最近解决,哪些可以延后解决,以及哪些问题所产生的影响严重,哪些问题产生的影响在可承受范围之内,这些都是在企业分析问题时优先考虑的内容。
  (2)要去解决这个问题的性价比是多少?企业的资源是有限且十分珍贵的,分析一个问题不单单要分析其原因,更重要的是要分析我们解决这个问题需要投入多少资金与人力以及在既有流程上需做出哪些改变。另外,最重要的是公司投入这些资源解决这个问题可以带来多大的回报?公司的资源投入都有强烈的目的性,如果这个问题的解决不能带来很好的回报,这个问题就不值得去解决。
  (3)解决这个问题可能会产生什么样的风险?解决问题如果已经满足了以上两条要求,那么公司必须考虑解决问题可能产生的法律、资金以及人力上的风险因素,分析这些风险是否在公司可承受的范围之内。
  在“软件系统分析与设计”的课堂上,张老师告诫我们:工程区别于科学与技术的最大特征在于工程不仅有问题的解而且值得去解,这称之为可行性研究。企业不同于事业单位,其动力来自于生存和盈利驱动,往往是面对大量问题时必须用有限的资源去解决一部分最值得解决的问题,并带来最大的回报。通过这样一个项目流程走下来,我学会了企业思维,在日后面对软件企业面试的种种问题时,我都采用了类似的方式,而这种企业思维和系统化问题分析方法是企业的面试官十分看中的,对我的应聘起了相当大的加分作用。
  
  2 方案设计能力的培养
  
  一个问题经过分析梳理并且确定要去解决,那么下一步就是设计解决这个问题的方案。在交大软院与这种能力培养紧密对应的教学环节除了课程实训还有项目实训,给我印象最为深刻的是“医疗信息系统项目实训”课程。在这个项目中我们除了需要完成上文中所提及的标准化软件开发流程外,还学习了项目管理的知识并在项目实践中进行实际演练,我体会最深的有以下几点:
  (1)在企业里,一个问题的解决需要牵涉到几个部门,这几个部门如何合作?在企业,解决一个问题不是一个人可以完成的,往往需要多个部门通力合作来完成。在设计解决方案的同时,也是在制定一个产品研发的行动路线图,即这个产品在什么时间段内、由哪个部门完成什么任务并提交何种工作结果是需要重点考虑的。“医疗信息系统项目实训”课程将我们分为6人一组,按角色进行分工,我们扮演着需求分析师,系统架构师,测试工程师,产品经理,软件开发工程师等不同的角色。在项目每一个迭代周期,我们都需要召开小组会议,综合每一个人所代表的职能部门的意见来制定下一阶段的执行计划,而不同职能部门所反映的意见经常会出现冲突,这个时候高效的团队沟通方式以及合理的协商机制成为解决问题的关键所在。
  (2)解决方案中涉及到的各个角色的权限与责任。如以上提到的解决方案需要多个部门的参与,那么各个部门参与这个项目的负责人的权限需要明确定义。另外,企业解决问题往往会要求有明确的预期目标,如果目标没有达到,是需要追究相关人员的责任的,因此,相关人员的责任也需要得到明确的定义。我们项目在制定执行方案的时候,明确的定位每一个人在每一个阶段的责任,并要求签字确认。这让我们在项目每一个迭代周期结束进行项目总结的时候能够迅速定位问题产生的根源。
  (3)解决方案的执行途中如果出现变更怎么办?初始的解决方案在执行过程中往往会出现需要变更的情况,这个时候的变更也会涉及到多个部门调整自身的执行计划,因此,需要一套完善的流程来执行变更行为。当时我们的实训项目小组按照老师的要求制定了一套完善的需求跟踪以及需求变更管理计划,并明确了在什么样的情况下什么人才有权限启动需求变更流程。
  对问题解决方案的设计和执行能力在企业的工作中是十分重要的,在我的求职面试和笔试经历中,针对以上问题的细节考题可谓层出不穷,如果没有经过在交大软院实训这一段的历练,我觉得我是很难闯过这一关的。
  
  3 方案实施能力的培养
  
  解决方案确定以后,接下来就是方案实施。在学术界,实施阶段往往意味着将学术成果进行检验;而在企业,实施则是非常复杂的一个过程,常设有实施工程师,实施顾问之类的工作职位。实施在企业往往意味着将一个符合需求定义的中间件放入到复杂的实际环境中并让其有效地运行,这里需要考虑环境的可变性、异构环境下应用与系统的互联性等问题。在实施过程中,往往能发现产品的问题和缺陷,这个时候就需要根据问题和缺陷的紧急度来确定修正方案。通过项目实训,我们深刻体会到实施过程的复杂性和重要性,记得我们在进行“医疗信息系统项目实训”课程的学习过程中,当时我所在的项目小组已完成软件编码工作、系统通过测试并准备上线,然而就在系统部署到实际运行环境中出了问题,系统登陆界面格式一片混乱,后来经过问题查找,发现是我们的系统只能够满足IE6浏览器,其他版本浏览器的支持不够完善。在后来去软件公司实习的工作过程中,我也在项目实施时发现种种问题并解决,而这要感谢学校的实训课程为我打好的良好基础。
  
  4 产品运营能力的培养
  
  对于传统的教育模式而言,一个项目经过实施阶段以后,往往就可以结束了,在我进入交大软院以前也持有相同的看法。然而,在研一的“统一软件过程”这门课上,让我完全改变了这种看法。当时给我们上课的是一位在美国IBM公司有着资深经验、现任国内某知名软件公司CEO的汪雄夫老师,当我们交付软件成品以及相关文档后,他对我们的成果依然不满意,他告诉我们:“你们的回答是失败的,因为你完全没有考虑你的产品能否为公司赚钱,并且也没有考虑怎样去销售这样一类产品。因为,如果没有经过完善的商业需求、市场需求调研去开发软件,这只能称之为程序员的自娱自乐,没有任何价值!”老师还告诉我们,企业最看重的是:在做一个产品之前,要确定产品的盈利预期、服务模式、销售模式、资金模式。
  (1)盈利预期:做这个产品能不能实现盈利,实现盈利的时间计划是什么,这样的计划有什么样的风险?
  (2)服务模式:软件是自身运营还是以代理模式运营。如魔兽世界这个网络游戏采用的就是美国暴雪公司开发,在中国寻求代理商运营的服务模式。
  (3)销售模式:销售是采用直销还是分销?在社会分工明确的今天,软件制造商往往不具备很好的营销能力,因此采用代理,以及哪种代理模式成为主要问题。
  (4)资金模式:利润的分成比例是多少?如何计算现金以及返点?另外资金的运转周期是多少?这些对于企业来说是至关重要的问题。
  (5)客服反馈:我们知道,产品的最终意见裁定者是用户,如何从用户处搜集对于产品改良的意见并筛选出有价值的最终信息是改良产品的关键。因此,在企业,往往会有专门的客服部门来处理客户的反馈信息,并从中发现商机。
  后来在找工作的过程中,虽然无数次被问起同样问题,但因有了以前的课程学习经历,让我的回答胸有成竹。现在回想起来,才感叹产品的运营策略真是我们去规划和制造一个产品之前最需要考虑的事情。5结语
  以上是我在交大软院接受CDIO模式教育的一些体会。我认为,CDIO基于项目的“做中学”让学生学习理论知识的同时极大地提高了实际工作的能力,不仅学到书本上的知识、还学会了分析问题与解决问题的一般方法,提升了应对未来职场竞争的实力,所学到的知识可以忘记,但得到的能力却终身受益。当然,任何先进的教育理念运用都离不开老师和学生双方的努力。这一方面要求老师应该有足够的时间、精力、理论与工程经验来指导学生,另一方面也要求学生切实具备相应的基础和素质。非常庆幸的是,我在交大软院的学习期间,得到了导师张红延老师非常多的指导,这种指导通常是一对一的、在平等而融洽的交流互动中进行的,而且经常是持续好几个小时,在这种交流模式下不但可以更加清晰地理解导师教授知识的涵义,也可以迸发出很多新的思想,并且这些思想可以在这种直接的交流中不断得到深