Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6732522
  • 博文数量: 1956
  • 博客积分: 10648
  • 博客等级: 上将
  • 技术积分: 23793
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-22 09:38
个人简介

HI,movno1

文章分类

全部博文(1956)

文章存档

2022年(1)

2021年(8)

2020年(2)

2019年(12)

2018年(2)

2016年(2)

2015年(1)

2014年(2)

2013年(19)

2012年(8)

2011年(41)

2010年(388)

2009年(122)

2008年(385)

2007年(259)

2006年(704)

我的朋友

分类:

2006-03-25 15:21:53

连载:一个可令中国超越美国软件的方法 
 转作者: stephenlaw8 发表日期: 2006-03-15 17:38 


  软件业是目前世界上竞争最激烈也是风险很大的行业,中国正在参与这项游戏。要赢得游戏是学习美国模式好,还是学习印度模式好?我认为盲目的抄袭是不可能走上成功之路的,而令中国真正超越美国软件的方法更大程度上来源于软件管理思维的转变和锻炼。

  此前 20 多年来,我曾在数家美国最好的软件机构工作,与美国最好的软件科学家及管理人员一起合作,并有机会参与世界上最大型的软件开发顶目。我那个时候以为自己知道软件战场应该是怎样管理的,因为需要看的书已看过,还有数位十分有经验且聪明的人肯辅导我。但后来我才发觉书本不但没有一套完整的软件战场管理理论,而且错误地引导我把注意力、精力放在比重不是最高的地方。

  以学习典范美国为例,极少人会留意到她在软件管理方面存在巨大漏洞。现在美国开发大型软件的失败率,与 5 年前、 15 年前,甚至 25 年前相比,都没有明显改善。原因就在于,目前全球先进国家的管理人才受到的都是工业时代管理的训练,软件企业仍然通过机械地控制时间、成本和质量来管理具有高度创造力发挥的软件开发工作,导致了在不乏投资、实验及实践的条件下仍然难以进步(少数企业则走向极端,认为软件企业管无可管,放任自流)。

  软件管理属于智力领域,对智力成果进行管理实际上远比想象中的复杂。一次我问一个在美国已有 20 年项目管理经验的专家顾问(当时他的办公室里贴满了大大小小的甘特图):“你的项目活动那么多,你能够预测每一个重要活动的进展吗?”他回答说他给每一个期限都加了 20% 的时间(他把这个叫做 Siegel factor )。当我再问他为什么是 20%,而不是 5 %或 35%,他的脸色有点变了;其他两位经验丰富的高级项目经理只是说那个顾问很有经验,他那么做一定有他的道理。结果,那顾问的项目最后超时一倍还没能交出,项目也因此被取消了。这些软件项目管理中常见的模糊性,都源于软件生产具有如下特点:

  • 产品是智力成果,但受实体限制(如时间、成本、实体测试);

  • 智力传递工作过程难以直接监控,成果难以衡量,团队成员 责任不清;

  • 生产的可见性极低(需求、设计及编码,都是不容易一目了然的东西,更难说它们是否 100% 正确);

  • 团队性高( 2 至 2000 人),输出连带性高,过程相互依赖性高;

  • 产品的重要性及危害性极高;

  • 产品的改动性大,维护期长,它的完成初期与原作者或产品商关系紧密。

  因此,真正的软件生产管理应能够兼顾实体管理和智力管理,既能让智力工作者自由发挥,而整个软件项目又能按时按质按量交货。在软件管理实践中,对“人”和对“物”是两种不同的方向,走错了方向只会扩大错误的影响范围。多年实战经验让我摸索出,追求百分之百的控制是不可能的(这是对机器才可以做到的),应该追求可以控制的部分。由此,我认为“承诺管理”(包括了“自我管理”和“后果管理”)是管理软件项目的最好方法,它可以成为连接智力与实体的最好的桥梁。承诺管理包含了以下三项内容:理解和评估,协议和公布以及后果管理。

  ( 1 )承诺者的自我理解和评估:高效软件团队的基础是良好的自我管理能力。软件或 IT 活动有成千上万需要互相倚赖的东西,在缺乏自我管理的环境中,常见情景如下:

  A 问 B :你可以在星期五前交付 X 项目吗?

  回答一:我可以,但我需要倚赖 C 做 Y 。

  回答二:我可以,但如果 C 迟的话,我也可能会迟。

  回答三:我可以,但 C 一定要在星期三前交付 Y 给我。

  B 在这种情况下是很容易用 C 或 Y 来做借口的,如要确保 B 成功,上级 A 必须同时管理 B 和 C 。如果 A 不懂得加强团队的自我管理,就容易陷入自己追踪项目里每一样东西的局面。自我评估,意味着一个智力工作者要清楚地知道自己的能力,自己需要依赖的东西(同事、上级和生活中的不可控因素)以及管理这些依赖的能力。

  ( 2 )协议和公布。承诺者必须承担人尽皆知的压力,并愿意为自己的承诺负责。这就好比西方的结婚誓言一样,所有的亲朋好友都会在教堂里见证你的承诺,当你要破坏承诺时就会有很大的压力。

  ( 3 )后果管理。任何良好的管理制度都应该确立一个奖励和惩罚的依据,但在责任相对模糊的软件开发工作环境中,没有一个公正的标准来判断。所以,“承诺”要量化,要能以工具的形式向上报告每个人承诺兑现的结果,为企业提供个人的承诺兑现记录( corporate memory )。

  “承诺”其实是个最简单的管理常识,但却是软件项目(尤其是大型软件项目)中最关键的要素。而目前流行的项目管理模式如 Microsoft Project 则缺乏这些最基本的理念。我在中国管理界常听到“执行力”一词,什么是“执行力”?一个人可以随意的向别人承诺和大谈理想,但如何去“兑现”承诺和理想才是真正的“执行力”。

  由于中国软件业仅发展了十年,需要克服的问题当然很多。但我认为,中国软件业仍是具备硬起来的本钱的:第一,年轻,受旧软件管理观念影响尚浅(美国已受其影响 25 年之久),更容易接受新的、先进的软件管理概念和工具;第二,拥有技术和商业经验相结合的华人(包括国内和海外)越来越多;第三,低成本优势是目前世界上其他任何国家都无法替代的。上述三个优势结合起来,会令中国成为全球最理想的设立软件企业的地方,也决定着将来世界软件产业大规模转移的方向。

  我在《第八个管理》一书中阐述了我 25 年来在大型软件项目管理方面的一些经验和心得,对中国软件业的商业机会和商业运作方式也进行了一些探讨。我将在这个博客上,以连载的形式刊登书的内容,欢迎大家讨论。

阅读(1277) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~