项目管理:所有人都可能把项目搞砸

工程和IT洞察:当你喊“全体人员准备!”来帮助完成一个后期的项目,确保所有额外的资源不会进一步拖累项目。如果在项目结束时增加额外的人员,请将他们应用到独立的子任务中,使用有经验的人员,并组织工作以尽量减少所需的项目内部沟通。

通过丹尼斯Brandl 2012年4月19日

软件工程的经典书籍之一是关于项目管理的。不幸的是,许多自动化工程师和项目经理并不熟悉这项工作。这本书是Frederick P. Brooks (ISBN 0-201-83595-9)所著的《神秘的人-月:软件工程论文集》。它最初发布于1975年,1982年更新,1995年再次更新,它基于一系列IBM开发项目。虽然一本写于35年前的关于软件的书似乎与今天的互联网连接、移动和软件主导的世界无关,但对于任何参与包含软件组件的系统的人来说,它仍然具有宝贵的经验。书中传授的主要经验之一是,“在一个较晚的软件项目中增加人力会使它更晚。”在匆忙完成项目的过程中,这个简单而永恒的教训经常被遗忘,特别是当项目在开发周期的后期遇到麻烦时。

这个非直观的教训(也称为“Brooks法则”)的原因是软件项目,包括自动化软件项目,具有固有的集成需求。为了使系统正常工作,各个部件必须完美无缺地组合在一起。然而,在各个部分准备好集成之前,软件是不可见或不容易检查的。再加上自动化项目中硬件元素的复杂性,对集成的需求就更高了。因此,要建立一个可靠的系统,架构师、开发人员、管理人员和用户之间必须有大量的交流。当一个项目增加人员时,交流路径会非线性地增加(对于数学倾向而言,这是{n*(n-1)/2}),而额外人员的收益最多是线性地增加。此外,将人员添加到项目中还有其他成本,例如额外的培训(通常由现有的团队成员执行),额外的系统和工具(通常由现有的团队成员支持),以及额外的协调会议(通常由现有的团队成员参加)。

当项目落后于进度时,上层管理人员有时会希望向项目投入资源,希望它能解决问题。在一些项目中,外部团队会突然出现在项目团队中“提供帮助”,通常只会碍事,创造更多的文书工作,并在加快项目进度的过程中占用宝贵的时间。这些活动延迟了项目,并使已经延迟的项目变得更晚。Frederick Brooks在IBM的经验和大多数项目经理的经验都表明了在项目后期将人员投入项目的谬误。当这种情况发生时,项目通常会进一步落后于计划,促使管理层增加更多的资源,并导致进一步的延迟。

您可以通过添加满足非常特定需求的资源,以及拥有一个专为后期人员添加而设计的项目组织来解决这个困境。如果您在项目后期添加人员,那么您必须尽量减少与其他团队成员的交互。这意味着您添加的人员必须已经在所使用的系统中接受过培训,必须理解项目的策略和过程,必须从事非常具体且定义良好的任务,必须能够在最小的指导下独立工作,并且必须不允许重新定义已经达成一致的需求、设计或实现。简而言之,你需要有经验的高级人员,他们愿意专注于自己当前的工作任务,而不是试图“解决”其他领域的问题。这些人是供不应求的,而且通常会有额外的人员加入,他们对正在开发的系统以及要遵循的政策和程序知之甚少。例如,如果您在一个项目上需要额外的测试资源,那么只添加能够遵循先前定义的测试的有经验的测试人员。如果您需要代码开发,那么只添加了解系统和如何阅读需求的有经验的资源,这样他们就可以在不与团队其他部分进行广泛交互的情况下开发代码。

第二种方法是在项目后期添加人员,而不是更晚,布鲁克斯在书中题为“外科团队”的章节中也讨论过。如果您的项目团队可以使用外科团队模型来组织,其中每个成员都有一个非常特殊且定义明确的角色,那么沟通路径就会减少,学习也会减少(假设新人对角色有很好的了解)。如果您有这样的组织,那么添加资源来支持特定的角色将使项目受益,而不是减慢它。从布鲁克斯定律可以推导出一个简单的经验法则:“项目中的最大人数取决于项目中独立子任务的数量。”由于额外的“帮助”,被细分的任务越多,完成子任务所需的时间就越长。

如果你召集所有人来帮助完成一个迟到的项目,确保所有额外的资源不会进一步破坏你的项目。如果在项目结束时使用额外的人员,请将他们应用到独立的子任务中,使用有经验的人员,并组织工作以尽量减少所需的项目内部沟通。

- Dennis Brandl是北卡罗来纳州Cary BR&L咨询公司的总裁,www.brlconsulting.com。他的公司专注于IT制造业。与他联络:dbrandl@brlconsulting.com.马克·霍斯克编辑,控制工程www.globalelove.com

使用下面的链接阅读更多工程和IT洞察专栏。

//www.globalelove.com/cgi-bin/ce.cgi?cmd=Search !fmt =长形式= extended&GroupBySite =没有m = all&ps = 10 q = % 22丹尼斯+ brandl % 22 sp = 1 sy = 1 +类型= ul = wf = 2221 wm = wrd&s =组成

你们的制造IT项目原则是什么?

你们的制造IT项目原则是什么?