acm-header
登录

ACM通信

ACM通信

论坛


我读了Robert Glass的“实用程序员”专栏(“发展一个项目成功的新理论”,1999年11月,第17页),并想加入一个实践者的观点。

首先,我同意软件项目需要“更准确、更诚实的评估”。更多地理解范围的复杂性。更多的专家的帮助。”如果我们拥有这些,我们的状态会很好。但每一个目标都有障碍,往往是无法克服的。

关于准确的估计,当项目的范围没有提前完全知道的时候,很难完全估计项目的工作量。然而,在项目完成或者你之前在相同的平台上做过完全相同的工作之前,你几乎不可能知道整个范围。根据我的经验,后一种情况很少见。然而,有一点经验的优秀程序员可以做出粗略的估计。然而,当估计值“似乎”过高时,无论是管理层还是客户,他们的反应都是:“不可能花那么长时间。你怎么能花这么长时间呢?”我从内部管理层和客户那里听到了类似的反应。可悲的事实是,如果像我们这样,我们是在为外部客户做定制工作,你不会赢得很多高估价的工作。因此,项目继续进行,老板或客户直接或间接地强制执行一个不是基于程序员最佳猜测的时间表。

与评估问题相关的是对复杂性的理解。除了在您到达之前不知道您在那里这一点之外,软件开发已经从规格说明优先的瀑布方法发展到各种迭代方法。这意味着每个人大概都同意在项目开始之前不会知道所有的细节,并在此过程中进行修订,包括一定数量的“范围蔓延”。迭代方法最适合最终用户,但这意味着在一开始就不知道完整的复杂性。(从销售的角度来看,这也会引起问题,因为很难说服客户在小的阶段为项目提供资金,或者随着项目的发展对成本的变化持开放态度;或者,设定一个最终会造成损失的价格。)

从Glass的专栏中得出的一个结论是,如果范围蔓延是糟糕的,而预先理解所有内容是好的,那么我们应该回到可靠规范的瀑布方法作为第一步。但历史不是表明,尤其是从用户的角度来看,这不是最好的方法吗?

最后,我们来谈谈专业知识。以我的经验,在几乎所有的项目中,程序员都在做一些他或她以前从未做过的事情,无论是涉及硬件、软件还是应用程序细节。即使程序员使用与以前相同的软件开发环境,也很有可能会使用新的(对程序员来说)函数,或者以新的方式使用已知的函数。程序员很少是手头工作的真正专家,如果我们把“专家”理解为对任务了如指掌的大师的话。如果我们的程序员不是专家,他们可以寻求专家的建议吗?通常不会。可能没有这样的人知道任务的所有信息,或者即使有,也不可能找到这样的人。或者,如果找到了建议,它太贵了。一般来说,优秀的程序员会四处询问,发送电子邮件,在公告板上发布问题,并阅读文章和书籍,试图更多地了解某些东西是如何工作的。但这是非常耗时、昂贵的,而且可能不会得到一个好的答案。 Then there are the situations in which the programmer simply doesn't realize that expert advice at a given point could prevent trouble later. In practice then, I believe that while full expertise is certainly desirable, it is rarely achievable.

如果谷歌眼镜知道我们如何绕过这些障碍,尤其是在一个竞争激烈的环境中,我们必须向持怀疑态度的客户说明项目进度和成本,我愿意倾听。

理查德·h·威斯
港口穆雷,新泽西

读完一本关于软件生产的书后,人件(DeMarco和Lister,第二版),格拉斯的专栏重点介绍了库尔特·林德伯格(Kurt R. Lindberg)的研究,这让我想起了之前的一项研究。在人件,两位作者引用了杰弗里和劳伦斯早在1985年就发表的一篇论文。在这项工作中,人们发现最具生产力的团队是那些没有进行工作量评估的团队,也就是说,没有计划完成一个项目需要多少人和多少时间。

没有努力评估的项目肯定是失控的。如果我们相信这本书的一个观点,即实践者在高效率的时候获得最大的满足,这当然完全符合Lindberg的观点。

从我自己的经验来看,我可以说糟糕的管理和对人们无用的压力比完全没有控制更糟糕,因为技术专家和其他人一样,在与目光短浅的管理作斗争的同时,无法集中精力从事生产工作。

罗莉Pirttiaho
芬兰奥卢

回到顶部

曼哈顿计划和信息沙皇

我被Hal Berghel在他的“数字村庄”专栏中所说的曼哈顿计划是为了证明制造原子弹是不可能的(《数字世界中拥有模拟高管的成本》,1999年11月,第11页)。我以前从来没有听说过把这个作为项目的一个目标。

在给罗斯福总统的信中,爱因斯坦明确表示,在他看来,物理学已经发展到足以制造原子装置的程度,盟国应该考虑一个项目来探索这种可能性。爱因斯坦担心,考虑到他们可用的人才库,轴心国肯定会意识到同样的可能性(他们确实这样做了),并试图制造核弹。曼哈顿计划的目标根本不是要证明它是负面的,而是要击败轴心国。

伯格尔认为只有“在技术领域拥有巨大的深度和广度”的纯技术专家才能胜任IT经理的角色,这在现实世界中是行不通的。他嘲笑两所被误导的大学在广告中宣传具有广泛基础的IT沙皇。伯格尔当然知道,技术管理涉及解决管理组织的竞争需求以及技术和科学的需求。这在相互竞争的价值观和目标之间造成了不可避免的紧张。正是在这种内在的张力中,有远见的领导者展现了他们真正的价值。他们是大学理应寻求的人才。说助理教务长或副校长必须在一个(大概是单一的)技术领域有广度和深度,就好像这就是争论的主要内容一样,这种说法既偏狭又傲慢。任何机构,无论是学术的、商业的,还是政府的,如果以其他方式聘用高级技术经理,很快就会陷入困境,走向失败。

伯格尔显然没有认识到IT是一个广泛的多学科领域,需要许多管理、远见、技术、学术和市场技能。不要害怕可怕的多面手,伯格尔先生。没有我们,就没有人支持专家的广度和深度。

拉尔夫•米勒
Moorestown,新泽西

哈尔Berghel回应:
这里有两个问题:IT经理的最佳技能,以及负责IT战略规划的高管(所谓的“信息沙皇”)的最佳技能。这两个问题不应混为一谈。我的专栏,以及我提出的论点和例子,只涉及第二点。在我看来,技术战略家这个职位最适合由技术专家来担任,而不是由经理来担任。我不建议让技术人员进入管理层。就可靠的技术预测而言,依赖经理而不是技术专家是一个首要错误。

当我回顾过去25年IT领域的主要技术错误时,它们几乎总是可以追溯到技术上不合格的高管所做的规划决策。我对OS/2、CP/M、Z-80微型计算机、SuperCalc、VisiON、Easy Writer、Amiga和Mac、IBM的Future Systems和Olympiad项目、微通道架构、施乐之星、演示经理、Univac、DEC、Osborne、Kaypro、Commodore、施乐无法利用PARC的技术、IBM无法利用RISC的技术等等的历史分析,似乎证实了我的观点。

不能充分利用技术,不能快速创新,不能用适当的技术视野来指导组织,不能避免技术意外,追逐趋势而不是遵循范式,等等,这些都是发生在缺乏具有精确技术指南针的信息沙皇的组织的弊病。顺便说一句,我的立场也不要与人们不时听到的更强烈的主张相混淆,尤其是在新的IT初创企业中,认为主要的高科技错误是由于技术倒置造成的,即管理者缺乏适当监督下属的技术能力。后一种立场,有人可能会攻击为“狭隘和傲慢”,更不用说威胁到IT经理,不是我的立场。

关于我对原子武器的简要历史,我可以清楚地看到,在爱因斯坦给罗斯福的信中(1939年),铀原子已经分裂,释放的中子作为裂变的副产品被检测到。因此,可能性利用铀的某些同位素建立了一个不受控制的链式反应的模型。然而,对当时的任何物理学家来说,制造一枚可行的炸弹的技术障碍在短期内都不可能被克服。这些技术壁垒并非微不足道,包括将可裂变材料(铀235或钚239)从它们的非裂变母元素中分离出来,以及发展使可裂变材料达到临界质量的技术。我的理解是,直到1941年底,国家标准局仍在研究这种技术的可行性,而尝试制造原子弹的“行动”决定是在珍珠港袭击的前一天做出的。如果我做错了,我相信有一位物理学背景的读者会纠正我。

回到顶部

掌握基础知识是最重要的

我饶有兴趣地阅读了“登录教育”专栏(“K12和互联网”,2000年1月,第19页)。然而,我认为作者们在讨论David Gelertner关于互联网和学校的评论时忽略了一个关键点:网络对一个阅读不流畅的孩子没什么用。

可悲的事实是,令人尴尬的是,我们的学生没有学会流利阅读,在许多地区超过30%。这一估计是针对父母参与其中的富裕社区;我一想到低收入的市中心地区的情况就不寒而栗。阅读不流畅的学生,欣赏和贡献我们丰富的文化和技术遗产的能力更差。他们并不是唯一贫困的人:(1)社会的其他人被剥夺了他们可能做出的贡献;(2)失败感会使其中一些人变得具有破坏性;(3)课程被稀释以适应他们,因此剥夺了他们更幸运的同龄人的挑战水平,他们中的许多人需要超越。

幸运的是,已经有一些经过验证的、有效的方法来教孩子们阅读,格勒特纳可能对这些方法很满意。不幸的是,许多学校似乎和Soloway等人一样,对这些方法感到不舒服。但幸运的是,更重要的是,计算机技术提供了很大的帮助。我的三个孩子都是在一台香草色的电脑上学习识字的,电脑上安装着一个便宜的软件包。Soloway等人听到这台PC没有连接到互联网可能会感到失望,但也许他们可以从这款软件在网络上做广告的事实中得到安慰。

的确,网络有可能深刻地改变我们的社会。但掌握基础知识永远是最重要的。

保罗·e·麦肯尼
比佛顿,或者

回到顶部

更多的净选票并不意味着更多的选票

1999年12月,第48页的文章《一个网民选举指南的案例研究》促使我写了这篇笔记,证实了候选人网络信息在旧金山湾区地方选举中的作用。

1998年秋天,妇女选民联盟主办了一个网站(“明智选民”项目),包括所有地方竞选中各级政府的候选人。LWV为候选人张贴了最低限度的选民登记信息,但要求候选人提交自己的信息,包括照片、政纲和背书。在圣克拉拉县(硅谷),55场竞选中有220名候选人,一个不惮于提供信息的候选人获胜的可能性比一个忽略SmartVoter的候选人高出10%(数据显著性为75%)。在马林县(金门大桥以北)和圣马特奥县(旧金山南部),网络信息供应商获胜的可能性实际上更小,尽管分别只占微不足道的2%和6%。

在该州的另一个高科技地区奥兰治县,获胜概率差小于1%(从统计上看也没有区别于0)。

随着网络使用量的增加,美国在线和其他互联网服务提供商的宣传,以及政府研究中心日益复杂的设计,这些数据在未来会发生怎样的变化,我们拭目以待。

汤姆·莫兰
萨拉托加,

回到顶部

IBM 3083是真空管系统吗?

Frank Cuccias关于IBM 3083是/是真空管系统的说法可能是错误的。如果我没记错的话,3083是370之后的系统,当然是360之后的系统。

根据全面、权威的《ACM 71, Quarter Century View》,《……1959年,那一年……标志着第二代晶体管计算机时代的开始……”(16页)。1960 - 1961年System 360的出现为“第三代”(集成电路的几种变体)开辟了道路。接下来是“3.5”,然后是“第四代”,然后是“模糊代”,最有可能是今天的“无代”大型机。

安塔纳斯·诉Dundzila
弗吉尼亚州麦克莱恩

弗兰克Cuccias回应:
在将50多页的原始文章删减为中版本的过程中通信,似乎重新措辞暗示所有的系统都是基于真空管的系统。事实并非如此。

回到最初的文件,我提到了这些系统:“目前的大型计算机作为中心计算机或主机的大多数artccs IBM 3083, IBM 9020E, IBM ES/9121,和雷神750都是老旧的,过时的系统,一些包含真空管处理器。IBM表示它不再拥有修复代码的资源,并建议尽快替换系统。美国联邦航空管理局的千年虫项目主管雷蒙德·朗(Raymond Long)为这个明显的问题提出了一个解决方案。他找到了两名曾经使用过这些系统的前IBM程序员,委托他们参与这个项目。”

回到顶部

作者

请将论坛上的所有信件寄给编辑,通信纽约百老汇1515号,NY 10036;电子邮件:crawfordd@acm.org。


©2000 acm 0002-0782/00/0300 $5.00

允许制作本作品的全部或部分的数字或硬拷贝用于个人或课堂使用,但前提是该拷贝不是为了盈利或商业利益而制作或分发,并且该拷贝在第一页上带有本通知和完整引用。以其他方式复制、重新发布、在服务器上发布或重新分发到列表,需要事先获得特定的许可和/或付费。

数字图书馆是由计算机协会出版的。版权所有©2000 ACM有限公司


没有发现记录

Baidu
map