zoukankan      html  css  js  c++  java
  • 有的放矢,用好软件开发的目标管理

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

    二.为什么目标管理易陷困境?
    我在接手这个软件开发项目后,立即按照目标管理的方法制定了项目目标,并进行目标分解,细化责任,同时也进行了目标量度和考核。但结果却让人意想不到,项目绩效与预期相差甚远。经过分析,我认为主要是由以下几个原因造成:
    (1)目标制定失误,目标之间关联性不高
    目标是根据项目需求来制定的,没有清晰明确的项目需求,制定项目目标时就会容易失误。正确的目标可促进项目进展,然而一个错误的目标,将会比没有目标对项目的危害还要大。而且,目标之间必须要具有高度的关联性。任何团队和个人的目标,都不能孤立于项目总体目标之外。在一个开发项目里,每一个目标都要具备高度的上下关联性,从而为整体目标服务。这是我在付出惨痛代价后,总结反思时最大的收获。
    (2)没有进行目标深度分解
    软件项目目标分解过程中最大挑战是目标深度分解的准确性差。由于软件开发项目都是具有独特性的,不能照搬其他项目的经验作为制定本项目分解目标的依据。因此,缺乏适当的目标分解是本次目标管理最大的败笔。事后总结经验,我学会了:目标要具备阶段性,并要对目标进行深度分解一个终期目标需要由几个阶段性目标组成。这就好像驾驶飞机,需要把每一次长距离飞行任务,分解成几个航程,在每一个航程预定的结束时间,检查飞机的位置、状态和航向。只有通过这种方式才能及时发现问题,进而解决问题。
    (3)目标分解没有数据支持和及时评测
    在项目开始的时候,由于不重视基础数据的收集和统计,我在目标分解常常是凭经验或“拍脑袋”而定,并没有足够的统计数据来支持目标的合理分解。在经过多次挫折后,我才明白有没有严谨、客观的数据评定系统,是目标管理方法能否发挥作用的重要基础。如果没有适当的数据评定系统,就不能评价阶段性目标和过程目标,目标管理本身就是一句空话
    (4)忽视过程目标成效
    忽视过程目标成效是我这次项目失败的另一个教训。现在我明白到不能只设定结果目标,还要设定过程目标。例如,我们乘坐民航飞机时,都希望不仅准时抵达,而且不能有剧烈颠簸,不能陡升陡降,还要有好的空乘服务和机上饮食。在这里,准时抵达是结果目标,避免颠簸等就是过程目标。对软件开发来说,这就意味着不能为了结果目标如财务指标,放弃对过程目标的管理,这些过程目标包括客户满意度、团队合作效率、创新、遵守公司政策等。应该是目标成果与过程成果并重,人与事并重。
    (5)缺乏定期对目标评估和绩效奖罚
    定期进行评估可以帮助发现潜在的目标陷阱,应该隔多久进行一次评估是很难确定的。但对目标的每一项任务都确立达标期限,这不仅是提供检查实现关键性目标成果的机会,而且提供了评估不同任务之间相对优先顺序的机会。虽然说大部分情况下,人们很难事先知道项目会有什么变化,但没有定期对目标进行评估则是项目失败的一个重要原因。因为当项目失控时,最明显的预警信号就是关键的目标没有实现,最好的应对方法就是进行定期评估。
    另一方面,落实奖罚是激励成员实现自己所规划的分目标的最好方式。一般来说,没有人会不受到奖赏和处罚刺激的影响,这种影响所带来的是激励人员全力以赴的工作。总之,有效的奖罚能使工作更具效率,也更为成功。相反,不当的奖罚将会使员工失去前进的动力。
    三、如何高效应用目标管理?
    目标管理方法可以简单概括为一句话,即“我现在做的,能使我更接近目标”。因此,高效的目标管理应该从这几个角度着手。

    (1)制定目标及分解目标
    根据项目需求确定目标,这是项目经理需要最先解决的问题,这也是目标管理最重要的阶段目标管理要求每一个分目标都有明确的责任主体。因此,在预定总体目标之后,需要重新审查现有团队结构,进行目标分解,并明确目标责任者和协调关系。分目标要具体量化,便于考核;分清轻重缓急,既要有挑战性,又要有实现可能。分目标制定后,要授予相应的资源配置的权力,实现责权利的统一。最好能绘制出目标图,使责权利一目了然。
    (2)制定及执行计划
    目标管理重视成果,强调自主、自治和自觉,但并不等于可以放手不管,相反由于形成了目标体系,一环失误,就会牵动全局。如果事先没有一个详尽的计划的话,很难将各项工作协调一致。因此,计划是目标实施过程中不可缺少的一部分。目标管理要求所有成员都要设定自已的分目标和执行计划,然后各就各位执行计划。同时,上级主管应要进行阶段性考查,根据实际情况作出调控,以便顺利的完成目标
    (3)应用二八原理,明确目标优先次序
    二八原理是意大利经济学家巴莱多发明的,他认为在任何一组东西中最重要的只占约20%,其余80%尽管是多数却是次要的。因此,项目经理要运用二八定律,根据目标优先次序合理分配时间完成。
    (4)定下完成期限,绝不拖延
    帕金森有一条定律:工作会展延填满所有的时间。因此,无论是派给自己或别人的任务,必须要有期限。而且这个期限要比计划提前一些,要给整个项目留下应急的时间在任务的期限内可以给自己和项目组员施加压力,以求尽快把工作完成尊重制定的完成期限,不养成拖延的毛病,也是目标管理中最重要的因素之一。

    (5)加强目标绩效考核

    对成果进行检查和评价,即把实现的成果同原来制定的目标相比较。对目标绩效进行考核与评估,并基于绩效进行奖惩是目标管理核心之一。但非常遗憾的是,对目标忽视考核是软件开发项目普遍存在的一个问题。要做到这一点,最有效的办法是设定项目的考核制度。例如,达到预定的期限后,各层级成员要一起考核各种目标的完成情况,并进行奖惩。

    总而言之,在复杂多变软件开发项目中,项目经理应该要应用和掌握高效的项目管理方法,而以目标实现为核心的目标管理就是其中一种方法。

  • 相关阅读:
    linux下启动和关闭网卡命令及DHCP上网
    python 编码问题
    paddlepaddle
    Convolutional Neural Network Architectures for Matching Natural Language Sentences
    deep learning RNN
    Learning Structured Representation for Text Classification via Reinforcement Learning 学习笔记
    Python IO密集型任务、计算密集型任务,以及多线程、多进程
    EM 算法最好的解释
    tensorflow 调参过程
    tensorflow 学习纪录(持续更新)
  • 原文地址:https://www.cnblogs.com/fengzhblog/p/3077939.html
Copyright © 2011-2022 走看看