Autumn E-Learning  秋天数位学习

关注于现代远程教育,力求专业,努力成为E-learning方面专家!

我的远教十年——从需求控制说起 三月 9, 2009

Filed under: 秋天随笔 — Iautumn @ 10:48 上午

  远教十年,我是从技术人员开始的,当然以技术为主的项目开发与项目管理是经历最多的案例,这个行业中技术占到的比重很大,如在线教学和学习环境支持系统,教学资源建设,综合性学习支持与管理系统等等项目,有很多人感叹现在做软件项目,最痛苦的三件事:1、周期短、任务重;2、资源少,人手紧;3、需求变更大。今天我就从这需求与变更控制谈起。

  国外国内论述需求开发与需求管理的教程、文章、案例很多很多,培训班和课程也很多很多,这里就不费功夫与口舌了,如果项目经理都完完全全按书中所述去做项目,那么恐怕没有一个会成功的。我认为做项目如同行军打仗,纸上谈兵的结果就会和马谡一样,孟子云:尽信书,不如无书。尤其大家在中国做项目更要具体情况具体分析。我们常常遇到,项目做到一半,客户的需求变了又变,预先签过字的需求,最后还是要变,总是项目还没做完,不知道内部版本都更新过几次了,总是需求越控制越变更,越变更越难以控制,最后开发人员晕了,项目经理疯了,公司领导倒了!

  这里我想表达一个观念,需求变更与控制从哪里开始?很多人都觉得,应该是从客户确认签字完需求说明书后,那我要强调,这是个严重错误的思想,我觉得需求变更与控制从你第一次与客户接触时就开始了。有很多项目后期发生的需求变更都是在前期的需求获取,甚至是商务接触就埋下了隐患,忽略它,那么它就是今后项目的定时炸弹,一定会爆发的,等到变更发生后再去控制,那是更本控制不住的。我们面对的软件项目当去向客户进行需求获取时,你所得到的需求往往会是两者情况:一是大而概,想规划报告式的,问了半天也问不出什么实质性的需求;一种是小而全,这类用户往往把注意力放在了页面的颜色啊,按钮的位置啊,甚至是,版权的措辞啊,讲了半天你所得到都是毫无建设性的需求,这两种结果会导致,你都不能正确理解用户的真实需求。很多讲解需求开发的专家都强调,开发人员不能做需求,我完全同意这种观点,他们用意在于,避免开发人员用技术实现的角度去进行需求获取与分析,而没有真正理解需求和用户的目的,我要表达一个意见就是,项目经理必须既要真正理解用户的需求和最终的目的,又要预估该如何实现用户需求,更重要的是会面临怎样的风险,需要多长工期和资源,成本有多高?当遇到用户的需求与实现有矛盾的时候,项目经理必须发挥自身的经验,以专业的角度去引导用户的需求,这就是需求控制的开始,而不是生硬的跟客户说,不行,做不到,风险大,有技术壁垒……然后让客户签字确认需求,到项目实现交付用户后,用户发现与自己需求有差距,提出更改时,又跟用户说,需求里面没提啊,这个变更超出了需求范围啊……那不用我说出来,大家也能猜到最后的结果了,这个项目Over了,这个团队Over了,这个企业也Over了!

  我们应该把为客户进行软件开发叫做提供信息化服务,开发仅仅是一个普通程序员的工作,一个企业,一个专业项目经理,所扮演应该是一个专家型的咨询师,他是为客户建议,规划和实现信息化工作,引导和帮助客户走上信息化的道路的高级人才。应该站在比用户更高的角度去考虑问题,回答解释客户的问题,用行业的角度去分析用户所提出不合理的需求会产生什么的风险和连锁反应,让用户自愿去放弃固有的想法,而从内心里去接受你的意见,并且主动的去说服用户团队的其他人的意见。如何能达到这个目的呢?主要一点就是,你要比客户更专业,更懂行,我这里的懂行是指要熟悉客户所在的那个行业,而不是指软件、互联网、IT行业。不要向用户滔滔不绝的去陈述技术参数与技术名词,不要指望用客户不熟悉或者不知道的专业辞令就能吓唬住对方,不要去强调用户不懂技术,不要认为他提的需求都很“白痴”。问问自己吧,你懂吗?用户不懂技术是很自然,是很正常的,有时候是天经地义的,而为客户提供信息化服务的你不懂行业,那就是你的不专业了,你的不称职了,你才是“白痴”。

  就拿我熟悉的远程教育行业的软件项目来谈吧。当你去给客户开发教学教务管理平台时,你正在为他们“电子教务”,实现互联网信息化教学教务管理,你需要熟悉和了解远教行业教学教务工作,招生工作、教学工作、学籍管理、考试管理、成绩管理、论文与实习管理、毕业环节工作、学位管理等工作的特点,各个业务环节具体的工作流程是什么?不同业务之间的工作衔接与配合情况,部门划分与人员分工大体什么样?甚至是这个单位人员的组成情况,年龄分布,做事风格,领导喜好等等,你应该站在整体的高度去思考问题,当这些工作进行信息化管理时会发生什么样的变化?会对现有客户的实际工作产生什么样的影响?推进工作中会遇到什么样的困难?会对项目的成功产生什么样的风险?你需要向用户去建议基于信息化管理的业务工作科学流程,甚至给出人员与工作岗位合理调整与划分,只有这样才能体现出你的专业,客户相信你的技术实力,从而接受你的建议,达到控制需求的目的。

  当你在给客户进行课件开发的时候,一方面你应该把自己当成一个教师的身份,要了解这门课程该如何讲授,知识点与章节该如何划分,如何指导学生该如何去学习这门课程的知识体系,哪些是学生应该掌握的重难点,如何对学生学习过程进行评价以检测学生掌握知识的程度并给出改善性的意见,一方面你要以技术专家的角度去引导课程教学负责人去修改原始的课程脚本,使得能够利用互联网技术、信息技术和教育技术将教师的教学思想与教学技巧融合在课件的制作过程中,还要去启发老师,在课件中适时去补充多媒体的素材。一方面你还要站在学习者的角度去考虑学习行为习惯,陌生的课程,如何能明确的告诉学生应该学习,课程结构什么,需要掌握什么知识点,学习的步骤和方法,阶段性的学习结果反馈,遇到问题该如何提问并得到解答,并给予学习者界面友好的操作和方便的学习与知识导航等等。如此在可以体现出你作为学习支持服务专家的专业度,你所制作出来的课件才会得到用户的认可,而不是仅仅你是一个多媒体页面的制作人员。

  回到主题,我再次强调一个观点,技术(特别是软件开发)只是一个工具,他需要依托相应行业才能体现出价值,没有一种技术可以脱离具体的行业之外而单纯以技术论技术。项目(特别是软件项目)是需要团队力量完成的,我们需要一个熟悉行业特点的团队,不仅仅是个别人懂,需要整个团队都懂,这个团队中需要一个精通熟悉项目对应行业并且专家型人才,这项工作必须有团队负责人担任。记住你是给用户提供服务,服务是基于无形和有形的,有形式的是你研发出来的产品,无形的是你在项目开始直至今后给用户提供的面对用户所在行业进行信息化建设方面的服务。记住你要扮演的是一个行业专家而不是一个程序员!

Advertisements
 

发表评论

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s