繁体
首页

第89章 职业道德和责任(1)(3 / 3)

经理人有特殊责任,因为他们监督项目,并设定员工的道德标准。在SE准则中的第5条原则包括很多针对经理人的具体指南。

9.2.3 指南和专业责任

在这里,我们会强调生产好系统的几个原则,主要涉及的是软件开发人员、程序员和咨询师。有几个原则是关于其他领域的专业人士,因为他们会做出为大型组织购置计算机系统的决策。许多更具体的指南可以在SE准则及ACM准则中查询,我们也会在第9.3节中的场景中进一步加以介绍和解释。

理解成功意味着什么。在吉隆坡机场开幕当天的绝对混乱之后,一个机场官员把它归咎于书记员输入了不正确的命令,他说,“系统没有出任何问题。”他的说法是不对的,而在他的说法背后的态度也是该系统开发会失败的原因之一。该官员对机场系统的作用的定义过于狭义:假设所有的输入是正确的,它能正确地完成某些数据操作。它的真正作用是让乘客、机组人员、飞机、行李和货物都能如期到达正确的登机口。它没有成功做到这一点。开发者和计算机系统的机构用户必须要在一个足够大的环境下来审视该系统的作用和他们的责任。

为了提供安全有用的系统,在设计和测试阶段需要把用户(例如医务人员、技术

人员、飞行员和办公室职员)包括进来。这一指南的重要性可以通过对飞机的计算机控制的讨论来说明(第8.3.1节),其中混乱的用户界面和系统行为会增加事故风险。这方面存在无数的“恐怖故事”,其中都是因为技术人员在开发系统时,不知道什么对用户才是最重要的。例如,一家医院的新生儿温室的系统把每个宝宝的体重四舍五入到最近的整数磅。对于早产儿来说,几盎司的区别是至关重要的信息。开发人员有与用户交流的责任,并不仅限于影响安全和健康的系统。设计来管理新闻网站故事的系统,在一家玩具店管理库存的系统,或组织一个网站的文档和视频的系统,如果在设计时没有充分考虑实际用户的需求,都可能会导致沮丧、浪费客户的钱,并最终被丢到垃圾堆里。

在对项目做规划和调度,以及在编写标书或合同时,一定要做到彻底认真。这其中包括:分配足够的时间和预算进行测试,以及完成开发过程中的其他重要步骤,还有许多其他事情。规划中的不足可能会导致后来偷工减料的压力。 (参见SE准则3.02,3.09,和3.10。)

强化排斥(Reinforcing exclusion)

说话人识别(speaker recognition)系统(包括硬件和软件)可以用来标识正在讲话的人。(这与第7.4.2节所讨论的语音识别技术是不同的,后者识别的是话语中的单词。)说话人识别的一个应用是商务会议的远程会议系统。系统可以识别谁在讲话,并在每个人的屏幕上显示这个人。有些说话人识别系统在识别男声时比识别女声更容易。有时候,当系统无法识别女性说话人,而无法把注意力集中在她们身上时,实际上会把女性说话人排除在讨论之外。难道系统的设计者是有意歧视妇女?大概不会。难道是因为女性的声音本来就更加难以辨认?大概也不会。那到底发生了什么事?男性程序员的人数比女程序员更多。参加高层商务会议的男性比女性人数多。而且男性是主要的开发人员和系统的测试者。因此该算法会对男性声音的较低频段进行优化。

比尔·盖茨在他的《未来之路》一书中告诉我们,一个微软的程序员团队开发和测试了一个手写识别系统。当他们认为系统可以正常工作时,他们就拿来给他试用。系统表现得很失败。因为该团队的所有成员都用右手写字,而盖茨是左撇子。