爬山和做项目[转载]

     软件项目如何按时、按质量交付是项目管理的一个难题。对于交付,有两层意思,一个是按质量交付,一个是按时间交付。很多时候,我们无法两全,还有更多时候,我们一样也做不到。这究竟是为何?一个项目做起来为何这样的难?

     在我们的公司,经常出现这样的情况,项目开始的时候,由于已经预见到工作量的巨大和潜在的变化,在做计划的同时,就已经把加班放到项目的正常规划中,开发人员日复一日的加班,大家希望这样能够尽早的把软件做完,可是实际情况往往是,在连续几个月加班后,事情还没完,客户的修改依旧没完没了。这种做项目的方式大家都不喜欢,可是当你拿不出更好的解决方法之前,你只有遵守。难道我们就真的就没有应对之道吗?
    
     我喜欢爬山,很多时候,我觉得做一个项目就像攀登一座雪山,周密合理的计划,较好的天气,身体强健且意志坚定往往缺一不可。看看我们的项目吧,很多项目的工期严重违背客观规律,对于这一点,项目经理必须有勇气、有实力、有技巧的坚决提出,对于很多项目来说,成功失败在此一举,如果你能够争取到时间,一切都好办。项目经理必须有这个勇气,很多人(包括自己)有的时候明明知道这样的情况,可是无法坚持。之所以无法坚持的一个重要原因是:当领导问你,理由是什么,如果再给你一个月的时间,如果再给你加人,你能不能完成?很多时候我们无法作肯定承诺,因为我们没有这个实力。你不能用事实或道理证明你的结论,连自己都不信,别人也难啊。最后你还必须有技巧,因为你必须考虑到实际的客观环境,比如:客户方重要领导定下了期限,这样情况下,你要用事实说明,你或许可以把项目实际的完成情况定期、及时的通报,你必须让大家看到你的努力,当各方都看清楚了实际的(最大)速度后,你再找机会沟通,应该会有办法的,只要你想。如果你能够有勇气、有实力、有技巧的要求你的项目资源,结合这些做出的计划便不算太差了。
  
     一个项目成功,客户方的配合也非常关键,这就像攀登雪山,天气不好,常有的,强行登顶,凶多吉少。很多项目难也难在这,客户内部的地雷,陷阱密布,很多问题岂是一个软件能够解决的。我们要做的是:把问题和可能的解决方案有技巧的反应给项目相关各方,尤其是领导,所以建立一个透明的沟通渠道是非常重要的。变化无常的天气,对于软件来说,还可比作不断变化的需求,这几乎是不可逾越的障碍了。在项目的需求文档签字后,我们能够做的是:坚持变更审批的流程,客观评价需要的时间,和客户协商,根据优先级别来做。很多时候,你会发现,当你这样做的时候,客户更加信任你了,他会选择那些对他重要的东西,所以你的负担也没想象的那么重。

     以上说的这些,如果没有优秀的人来做,一切都是空谈。好比攀登雪山,没有强壮的身体又没有坚定的意志那又何从谈起。可我们的项目往往就是这样,为了节省成本,往往大量采用(以前没有用过相关技术的)新手,甚至都是学生,这样的风险何其大也,就像你很难想象带领一群十四、五岁的孩子,来攀登雪山。他们缺的不光是身体,更重要的是精神,他们还至少需要1到2年,所以项目组中学生、新手的比例绝对不要超过三分之一。但最大的风险还不在于此,最大的风险在于项目经理,以我之见,至少有一半项目的项目经理是不合格的,或许他们技术出众,或许他们做过同类项目,可是如果他们不太清楚如何来要求资源,如何来制定计划,如何来组织团队开发,如何控制质量和进度。那么他们只能打不及格。判断一个合格的项目经理的标准是,他能够全面提高项目成员素质,或者换句话说,一个项目后,项目团队中能够出现若干个新的项目经理。因此,公司最重要要做的事情应该是:培养优秀的项目经理。

     不依靠长期加班,一个优秀的项目经理,也能够控制项目的进度和质量。如何做到这一点,靠的是团队的每个成员的努力和创造。而这需要正确的文化,以及量化、及时的考核和监督制度。我们需要树立客户永远是对的观念,我们要从客户的要求中找需求,而不是抵制;我们要树立安装到客户的软件,应该是没有BUG(指由开发人员造成的BUG)的,而不是万行代码几个BUG(用户永远不会根据这个衡量我们的软件);我们要学会从问题中找解决办法,通过创新来优化软件流程,提高软件质量,而不是生搬硬套。这些就是文化。

     我们还需要建立制度,比如:我们要确定好的代码的标准,每周,甚至几天(项目初期)来评比大家完成的代码数量和质量,要看看是不是遵循测试驱动,而且代码复审的结果要作为奖励的重要标准;我们要让每个人都拥有完成计划的能力,让大家制定自己的计划,每一周给自己设定目标,每天完成每天提高。只有这样,当我们每天按时回到家里,才可以轻松,因为对于我们的工作我们有信心,我们相信自己的质量,这是可以得到证明,而且还在持续提高的。大家都知道,海尔有一个制度叫:日事日毕、日清日高,微软有一个著名的日冒烟的项目管理方法,其实道理或许就是这么简单,但简单的事情重复做,也不容易,这需要制度来保证。

     说到这,文章开头的几个问题,我隐约有点答案了,我觉得要使项目做成功似乎也不那么难了,要应对不断的加班和需求变更,好像也胸有成竹了。但实际的情况,谁知道呢。

posted on 2006-04-21 11:11  hunter_gio  阅读(332)  评论(0编辑  收藏  举报

导航