技术开发 频道

有的放矢,用好软件开发的目标管理

【IT168 专稿】

  近日,公司委派我负责一个新的软件开发项目。有新的软件开发项目负责是一件令人激动的事情,这是一个机会,也是一个挑战,但同时也多少有些令人不安。现在我面临的问题是:如何才能按时高质量完成这个软件开发项目呢?需要做些什么工作才能让软件开发项目可控,并且朝着成功的方向走呢?
  
  在向多位软件开发项目管理经验丰富的前辈请教后,我决定采用大家一致推荐的目标管理。但事与愿违,在实际项目管理中还是经常出现各种各样的问题,整个开发项目遭遇挫折甚至面临失败。无容置疑。静心反思,我总结,正是我所应用的目标管理方式不当成为导致这个项目陷入困境的根本原因。
  
一.什么是软件开发的目标管理?

  在软件开发项目中,目标管理的影子随处可见,但要真正使技术人员的积极性都发挥出来,并不是“影子”所能完成的。正所谓“知易行难”,目标管理并不仅仅是管理目标这么简单。它有一套完备的目标体系;它需要科学的方法,需要一种对时间进度、任务分解、绩效控制的把握和判断的过程。

  (1)什么是目标管理
  目标管理由管理大师彼得杜拉克最先提出,也是现在正广泛被应用的一种项目管理方法。他认为并不是有了工作才有目标,恰恰相反,是有了目标才能确定每个人的工作。目标管理(Management By Objectives,MBO)是为了实现项目的任务与目的,给各层人员从上至下制定切实可行的目标,并且各层人员必须在规定时间内完成指定任务的一种管理方法。
  
  去掉繁复的理论包裹,目标管理其实很朴素。我们在软件开发中常常应用的“归口管理”,其实就是目标管理的变形。目标管理需要做好三件事——目标设定、制定计划并执行、控制和度量目标达成度。也就是说,项目启动前要有目标和计划,项目进行当中要有控制,项目结束之后要对目标进行度量。目标管理的关键点在一头一尾,头是分层级设定目标,尾就是考核、评价和奖惩。
  
  因此,目标管理是一种程序或过程,项目经理通过目标对下级进行管理,当确定项目总目标后,必须对其进行有效分解,转变成各成员的分目标,项目经理根据分目标的完成情况对下级进行考核、评价和奖惩。目标管理量化了目标,从而使目标具体化、可视化。简单地说,目标管理是以目标为导向,以人为中心,以成果为标准,使团队和个人取得非常好的业绩的管理方法。
  
  (2)重视人和成果考核的目标体系
  目标管理以制定目标为起点,以目标完成情况的考核为终结。目标管理通过专门设计的过程,将团队的整体目标逐级分解,转换为各成员的分目标。在目标分解过程中,目标方向一致,环环相扣,相互配合,形成统一的目标体系。因此,只有每个成员完成自己的分目标,项目的总目标才有完成的希望。
  
  同时,目标管理是以目标的实施及完成情况的检查、奖惩为手段。其中成果考核是评定目标完成程度的标准,也是人事考核和奖评的依据。目标管理加大了对员工成果绩效的考核力度。简单点说:可能管理过程是松散的,完成目标的具体过程、途径和方法,项目经理并不过多干预,但目标成果考核是严谨的。所以,在目标管理制度下,过程监督的成分很少,但控制目标实现的能力却很强。故能降低软件开发项目的管理成本,使开发项目更易生存。
  
  (3)目标管理的优点
  对于开发项目而言,目标管理的好处是:①目标管理对项目内易于度量和分解的目标会带来良好的绩效。例如,对于在技术上具有可分性、可量化的工作,由于责任和任务明确,因而常常能起到立竿见影的效果,而对于技术不可分的任务则难以实施目标管理。②是目标管理有助于改进团队的职责分工。例如,由于项目目标的成果和责任力图划归一个职位或成员,更容易发现授权不足与职责不清等常见的管理缺陷。③目标管理启发了自觉,调动了各成员的主动性、积极性、创造性,强调自我控制,自我调节,将个人考核和团队利益紧密联系起来,因而提高了士气。
  
  (4)目标管理的缺点
  在实际项目运作中,目标管理也存在许多明显的缺点。主要表现在:①在软件开发项目内的许多目标都难以定量化、具体化,这些都使得软件开发项目的许多活动制订数量化目标很困难。②分解目标时容易作过分乐观的假设,尤其是在监督不力的情况下很难确保目标的达成率。当分解目标不当时,目标管理所要求的自我承诺、自治气氛就难以形成。③分解目标商定时可能增加管理成本。目标商定要上下沟通,这是很费时间的。同时每个团队、个人都会倾向于关注自身目标的完成,很可能会忽略相互协作和总体目标的实现,滋长本位主义和急功近利倾向。④有时奖惩不一定都能和目标成果相配合,也很难保证公正性,从而削弱了目标管理的效果。
  
二.为什么目标管理易陷困境?

  我在接手这个软件开发项目后,立即按照目标管理的方法制定了项目目标,并进行目标分解,细化责任,同时也进行了目标量度和考核。但结果却让人意想不到,项目绩效与预期相差甚远。经过分析,我认为主要是由一下几个原因造成:
  
  (1)目标制定失误,目标之间关联性不高
  目标是根据项目需求来制定的,没有清晰明确的项目需求,制定项目目标时就会容易失误。正确的目标可促进项目进展,然而一个错误的目标,将会比没有目标对项目的危害还要大。而且,目标之间必须要具有高度的关联性。任何团队和个人的目标,都不能孤立于项目总体目标之外。在一个开发项目里,每一个目标都要具备高度的上下关联性,从而为整体目标服务。这是我在付出惨痛代价后,总结反思时最大的收获。
  
  (2)没有进行目标深度分解
  软件项目目标分解过程中最大挑战是目标深度分解的准确性差。由于软件开发项目都是具有独特性的,不能照搬其他项目的经验作为制定本项目分解目标的依据。因此,缺乏适当的目标分解是本次目标管理最大的败笔。事后总结经验,我学会了:目标要具备阶段性,并要对目标进行深度分解。一个终期目标需要由几个阶段性目标组成。这就好像驾驶飞机,需要把每一次长距离飞行任务,分解成几个航程,在每一个航程预定的结束时间,检查飞机的位置、状态和航向。只有通过这种方式才能及时发现问题,进而解决问题。
  
  (3)目标分解没有数据支持和及时评测
  在项目开始的时候,由于不重视基础数据的收集和统计,我在目标分解常常是凭经验或“拍脑袋”而定,并没有足够的统计数据来支持目标的合理分解。在经过多次挫折后,我才明白有没有严谨、客观的数据评定系统,是目标管理方法能否发挥作用的重要基础。如果没有适当的数据评定系统,就不能评价阶段性目标和过程目标,目标管理本身就是一句空话。

0
相关文章