第 5 章 9月4日,星期四

第 5 章 9月4日,星期四

清晨6点15分,我被闹钟惊醒。我一整晚都紧咬牙关,因此下颚生疼。凤凰项目即将上线的惨淡前景一直在我脑海中徘徊。

和往常一样,我在起床前快速浏览手机,看看有什么坏消息。一般情况下,我会用10分钟左右的时间来回复电子邮件——把球扔到对方半场的感觉总是不错的。

我看到其中一封邮件,猛地坐直了身子,结果吵醒了佩奇。“哦,天啊。怎么啦,怎么啦?”她半梦半醒,一个劲地问。

“史蒂夫又发来一封新邮件。等一下,亲爱的……”我一边对她说,一边眯起眼睛看邮件。

发件人:史蒂夫·马斯特斯

收件人:比尔·帕尔默

抄送:南希·梅勒、迪克·兰德里

日期:9月4日,早晨6:05

优先级:最高

主题:紧急:SOX-404的IT审计发现评估

比尔,请尽快研究此事。关于SOX-404审计合规的重要性,我想不需要我来提醒你吧。

南希,请和比尔·帕尔默合作,他现在分管IT运维部。

史蒂夫

>>>以下为转发邮件内容

为了对即将到来的SOX-404外部审计做好准备,我们刚刚完成了Q3内部审计。我们发现了一些非常重要的缺陷,必须和你商量。鉴于这些审计发现的严重性和紧迫性,今天早晨我们得和IT碰头。

南希

果然,我的日程表上有一个从上午8点开始、时长两小时的会议安排,发起人是首席审计官南希·梅勒。

该死。她聪慧过人,很难应付。当年在那次公司并购的时候,我亲眼见识过她把一个对方的经理盘问得哑口无言。在那个经理陈述公司财务业绩时,她连珠炮似地提出拷问,活像神探科伦坡、至尊辩护律师马特洛克和疤面煞星的结合体。

那个经理很快就崩溃了,承认夸大了自己部门的业绩。

回想起那次会议,我冒出了冷汗。我没有做错什么,但考虑到邮件中体现的语气,她显然正在热切追踪某些重要的事,而史蒂夫把我扔到了她的追踪路径上。

过去,我一直把中型机技术组管理得井井有条,审计部门无从过多干涉。当然啦,还是会有很多询问和文档方面的要求,需要我们花上几周时间收集数据并准备答复。他们偶尔也会发现一些问题,但我们很快就能改正。

我乐于认为,我们建立了一种互相尊重的工作关系。然而,这封电子邮件似乎是某种不祥之兆。

我看了看手表。离开会还有90分钟,而我还完全不明白她想要讨论什么。

“该死!”我骂了一声,推推佩奇的肩膀:“亲爱的,你今天可以开车送孩子们去学校吗?发生了一件很糟糕的事,牵涉到首席审计官和史蒂夫。我得打几个电话,现在就得赶去办公室。”

佩奇生气地说:“两年来每周四都是你送孩子上学的!我今天也得早起!”

“我很抱歉,亲爱的。这件事真的很重要,是公司CEO史蒂夫·马斯特斯要求我处理的。你知道他吗?就是那个经常上电视,还在公司假日聚会上长篇大论的人。我可不能像昨天那样再丢一个球了。还有前一天的报纸头条新闻……”

她一言不发,一阵风似地冲下了楼梯。

我终于找到了上午8点开会的会议室,立刻注意到会议室里鸦雀无声,完全没有与会人员陆续进场时常有的闲聊寒暄。

南希坐在会议桌首端,边上围坐着另外四个人。约翰拿着从不离身的黑色三孔活页夹坐在她旁边。我像往常一样惊叹于他的年轻,他年约35岁,有一头厚实卷曲的黑发。

约翰看起来神色憔悴。像很多大学生一样,他在加入无极限零部件公司后的三年间体重一直在增加,多半是由屡战屡败的网络安全整肃行动带来的压力导致的。

在会议室的所有人当中,约翰最能让我联想到布伦特。不过,约翰可不像布伦特那样总穿着一件Linux广告T恤,而是穿了件略显宽大的笔挺的衬衫。

韦斯显然是会议室里最不修边幅的人,但他明显毫不在意。会议室里最后一个是我不认识的年轻人,大概是个IT审计师。

南希首先发言:“为了对即将到来的SOX-404外部审计做好准备,我们刚刚得出了Q3内部审计结论。我们面对的形势很严峻。IT审计师蒂姆发现了众多IT控制问题,数量之多让人瞠目结舌。更糟糕的是,其中很多是连续三年来重复发现的问题。如果继续放任不管,这些审计发现将迫使我们得出这样的结论:公司已经无法继续把控财务决算的正确性了。这可能会导致外部审计师在向美国证券交易委员会提交的公司10-K档案中做出一条负面脚注。”

“虽然这些还只是初步审计发现,但考虑到形势的严峻性,我已经口头通知了审计委员会。”

我脸色发白。虽然我还不理解全部审计术语,但已经明白这有可能毁掉迪克的生活,并且可能意味着更多负面新闻登上头版头条。

我理解了形势的严重性,南希满意地点点头。“蒂姆,请你向大家说明一下你的结论。”

他拿出一厚摞装订好的文件,给每个参加会议的人都发了一份。“我们已经对无极限零部件公司所有关键财务系统的IT常规控制工作得出了审计结论。一个四人团队耗时超过八周,完成了这份经过整理的报告。”

天哪。我举起手上这份足有5厘米厚的文件。他们从哪里找来那么大的订书机?

那是一份打印出来的Excel表格,每页都有20列八号字体的内容。最后一页的编号是189。“这里面得有1000个问题!”我难以相信地说。

“很遗憾,是的。”他回答,流露出一丝沾沾自喜的满足感,“我们发现了952条IT常规控制缺陷,其中16条为重大缺陷,2条为潜在重要缺陷。我们对此当然非常担心。考虑到外部审计即将开始,我们需要你们尽快提交整改计划。”

韦斯在桌边弯着腰,一只手搭在前额上,另一只手快速翻着纸页。“这都是些什么狗屁东西?”

他举起一页文件:“‘第127条,不安全的Windows操作系统MAX_SYN_COOKIE设置’?这是在开玩笑吗?别说我没提醒你们,我们可是有正事要干的。如果这影响到了你们在这里全天候的审计工作,那只好抱歉了。”

韦斯总是能说出人们心里想着却不太会大声说出口的真心话。

南希严肃地回答:“可惜,在这个当口,控制审核及测试阶段已经结束了。我们现在要你们提交的是‘管理层答复函’。你们必须调查并确认每一条审计发现,然后制定一份整改计划。我们会对整改计划进行评估,然后提交给审计委员会和董事会。”

“一般情况下,你们可以有几个月的时间来准备管理层答复函并实施整改计划。”她突然流露出一丝歉意,继续说,“遗憾的是,根据审计测试日程表的安排,在外部审计师入驻之前,我们只剩下三周时间。在下一轮审计周期里,我们一定会为IT留出更充裕的时间。但这一次,我们要求你们答复的时间是……”

她看了看日程表,说:“从下周一开始的一周之内,不能再晚了。你觉得可以吗?”

哦,该死。

那就是只有六个工作日的时间。但是把整本文件读完就得花上三天。

长久以来我一直相信,审计师代表着一种客观公正的力量,现在连他们也来给我添堵了?

我再次拿起那一厚摞文件,随机翻看了几页。其中有很多条目和韦斯之前读的相仿,但也有些条目提到了不恰当的安全设置、存在镜像登录账户、变更控制问题以及职责分离问题。

约翰打开他的三孔活页夹,多管闲事地说:“比尔,我向韦斯和你的前任提出过很多同样的问题。他们说服CIO签署了一份管理层豁免声明,宣称他接受这些风险,并且不做任何改进。考虑到其中有些是重复出现的问题,我想这次我们很难口头辩护一下,就敷衍了事。”

他转向南希:“在之前的管理制度下,IT控制显然不具有优先权,不过既然网络安全的权责都已经归位,我相信比尔会从长计议。”

韦斯用鄙视的眼神看着约翰。我无法相信约翰居然在审计师面前哗众取宠。这样的事发生过好几次,让我怀疑他究竟站在哪一边。

约翰无视韦斯和我,对南希说:“我的部门正在修正一些别的控制内容,我认为我们应该为此而受到表扬。我们先从PII着手,已经在关键财务系统上完成了PII标记化,因此至少躲过了这一劫。那个审计发现现在已经结束了。”

南希冷淡地说:“有意思。PII的问题不属于SOX-404的审计范围,从这个角度看,把时间集中用在IT常规控制上可能更有价值。”

等一下。约翰的紧急标记化变更都白费了?

如果那是真的,过些时候我得和约翰好好谈一谈。

我慢慢地说:“南希,我真的不知道周五我们能给你什么。我们已经疲于应付工资核算故障之后的恢复性工作,还要尽全力支持即将到来的凤凰项目试运行。这些审计发现中,哪些是最重要、最需要我们做出回应的?”

南希对蒂姆点了点头,蒂姆说:“当然了。第一项是潜在重要缺陷,在第七页上有概述。这项审计发现表明,一个支持财务报告的应用可能在未经授权或测试的情况下就投产了。由于欺诈或其他原因,这可能导致某些未被发现的重大差错。管理部门没有任何防范或发现此类变更的控制措施。”

“此外,你们团队无法提供变更管理会议的任何会议记录。而根据你们的政策,变更管理会议本应每周召开一次。”

我尽量不让人察觉地皱了皱眉头,回想起昨天没人参加CAB会议,以及在工资核算事故中,我们忽视了约翰的标记化变更,导致最终封死了SAN。

如果我们对那些变更一无所知,我真怀疑,假如有人禁用了某项控制功能,开启一个价值1亿美元的虚假交易,我们能否发现这个“微小”的变更。

“真的吗?真是难以置信!我会看那个条目的。”我回答,希望自己的语气表现出了恰如其分的惊讶与气愤。我假装在写字板上写下详细的笔记,随意圈圈划划,然后点点头,示意蒂姆继续说下去。

“其次,我们发现在很多情况下,开发人员对产品应用程序及数据库拥有管理员级访问权限。这样做违反了权责分离要求,增加了发生欺诈的风险。”

我把目光投向约翰:“真的?可不是嘛。让开发人员在未经允许的情况下擅自更改应用程序?这听起来的确是个安全风险。假如有人胁迫某个开发人员,比方说马克斯,让他做什么未经批准的事可怎么办?我们得对此做些什么,是不是,约翰?”

约翰的脸涨得通红,但他彬彬有礼地说:“是的,当然。我同意你的观点,而且乐于效劳。”

蒂姆说:“很好。下面请看第十六条重大缺陷。”

半小时后,蒂姆还在滔滔不绝地讲。我忧郁地注视着那一大摞审计发现。其中大部分内容就像信息安全部给我们的报告那样大而无用,这也是约翰恶名远播的原因之一。

我们如同转轮上的仓鼠,陷入了永无止境的痛苦循环:一个季度接着一个季度,信息安全部都会无休止地发来各种安全漏洞修复建议,把大家的收件箱塞得满满的。

蒂姆终于讲完了,约翰自告奋勇地说:“我们必须给这些脆弱的系统打上补丁。如果你们需要帮助的话,我的团队对此有着丰富的经验。这些审计发现是弥补一些重大安全漏洞的大好机会。”

“听着,你们这两个家伙都不知道自己在要求什么!”韦斯对约翰和蒂姆说,他显然已经气急败坏了,“运行制造ERP系统的一些服务器已经使用超过二十年了。如果它们坏了,公司的一半业务就会陷入停顿,这些服务器的供应商几十年前就停业了!这些设备太脆弱了,哪怕你只是在错误的时间去看上一眼,它们都会崩溃,只能寄希望于巫术咒语来让它们重启。要是照你们打算的那样大动干戈,它们就再也活不下去了!”

他俯向桌子,用手指指着约翰的脸说:“你想自己给它打补丁,很好。但我希望你签署一份文件,说明如果由于你按了按钮而导致整体业务停顿,你会坐飞机去各个厂部,在所有厂部经理面前卑躬屈膝,向他们解释为什么他们没能完成生产指标,行不行?”

我诧异地瞪大了眼睛,约翰居然冲着韦斯的手指探过身去,愤怒地回应:“哦,是吗?如果我们弄丢了应该保护的客户数据,因此上了新闻头条怎么办?你会亲自向几百万私人数据被卖的家庭道歉吗?”

我说:“大家都静一静。我们都是为公司好。关键在于,我们在有限的时间里能够做什么,以及哪些系统是真正可以修复的。”

我看着那摞文件。韦斯、帕蒂和我可以把调查每一项内容的任务分配下去,但是谁能真正来做这件事?我们已经为凤凰项目忙得不可开交了,恐怕这个庞大的新项目会成为压垮骆驼的最后一根稻草。

我对南希说:“我马上就召集人手,一起提出一个计划。我无法保证届时一定能完成那份答复函,但我保证会尽力而为。这总可以了吧?”

“正是如此。”南希友善地说,“本次会议的目的,就是认真检查初步审计发现并明确下一步的工作。”

休会期间,我叫韦斯留下来。

约翰发现后,也留了下来。“这简直是一场灾难。我的工作指标和奖金都与能否顺利通过这些合规性审计挂钩。因为你们运维部的人没法把自己的破事儿收拾好,我快要不合格了。”

“彼此彼此。”我说。

为了让他别再唠叨,我说:“莎拉和史蒂夫决定把凤凰项目的部署日期提前到下周五。他们打算跳过所有的安全性审查。也许你现在该去和克里斯还有莎拉谈谈。”

不出所料,约翰骂着脏话冲了出去,砰的一声关上了门。

我精疲力尽地靠在椅背上,对韦斯说:“我们这周真是诸事不顺。”

韦斯冷笑一声:“我告诉过你,这儿的办事节奏会让你晕头转向的。”

我指了指审计发现文件,说:“我们本该把所有关键人力资源都投到凤凰项目上的,但那玩意儿把每个人都牵扯进去了。我们没有空闲的人手来应付审计工作吧,是不是?”

韦斯摇摇头,一反常态地脸色铁青。

他再一次翻阅手中那摞文件。“我们肯定得让技术主管们参与这件事。但是正如你所言,他们已经被分派到凤凰项目的团队里了。要把他们重新调动到这项工作上吗?”

老实说,我真的不知道。韦斯盯着一页文件看了一会儿。“顺便说一句,我认为这里面的很多工作都需要布伦特。”

“哦,天哪。”我喃喃自语,“布伦特。布伦特、布伦特、布伦特!要是没有他,我们就什么事都干不成了吗?看看我们!我们想就所承担的义务与所拥有的资源开展一次管理层讨论,而我们谈来谈去只是在谈一个人!我不在乎他有多能干。如果你是说,我们部门没了他就干不成事,那我们就遇到大问题了。”

韦斯略显尴尬地耸了耸肩:“他无疑是我们最好的员工之一。他真的很聪明,而且几乎对这家公司里的每件事都了如指掌。他可以真正理解各种应用如何在公司层面协同工作,这样的人可为数不多。见鬼,这家伙可能比我更了解这家公司。”

“你是一名高级经理。在你身上发生这样的事是不可接受的,对我也同样如此!”我坚决地说,“你还需要几个像布伦特那样的人?1个,10个,还是100个?我会请史蒂夫优先处理这些事的。我需要你做的是弄清我们究竟需要哪些资源。如果要向史蒂夫申请更多的资源,我可不想反反复复,回头发现不够,再卑躬屈膝地爬回去求他再多给一点。”

他翻了个白眼说:“听着,我现在就能告诉你接下来会发生什么。我们向管理层陈述目前的状况,他们不仅会驳回我们的要求,而且还会把我们的预算再削减5%。过去五年来他们一直是这么干的。与此同时,大家还是会在同一时间让我们既做这又做那,不断地向我们的工作清单上增加工作量。”

他恼怒地补充道:“正如你所知,我也想过聘用更多像布伦特那样的人。但是由于从未拿到过相应的预算,我只能削减很多其他职位,才得以聘用了四个和布伦特拥有同等经验的非常资深的工程师。你知道后来发生了什么吗?”

我扬了扬眉毛。

韦斯说:“一半人在一年内主动离职了,而留下来的另一半则远远达不到我所需要的工作效率。虽然没有数据证明,但我估计布伦特甚至比以前更加落后于进度了。他抱怨说,他得花很多时间培训和帮助新人,而且分身乏术,但还得参与所有的工作。”

我回答:“你说别人‘向我们的工作清单上增加工作量’,那现在这份工作清单是什么样的?我能拿到一份复印件吗?谁有这份清单?”

韦斯慢吞吞地回答:“好吧,有业务项目以及各种IT基础架构项目。但是很多工作并没有记录在案。”

“业务项目有多少?基础架构项目有多少?”我问。

韦斯摇摇头,说:“我一下子说不上来。我可以从柯尔斯顿那儿拿到业务项目清单,但我不确定是否有人能够回答你的第二个问题。那些工作项目都没有通过项目管理办公室的渠道。”

我感到心底一沉。要是对工作需求、优先等级、工作进度、可用资源都一无所知,怎么可能管理好生产工作呢?我突然对自己没有在上任第一天就提出这些问题而追悔莫及。

我终于开始从管理人员的角度来思考问题了。

我打电话给帕蒂:“韦斯和我刚才被审计部门整惨了,他们要求我们从下周一开始的一周内做出回应。我需要你帮忙弄清楚我们的工作职责都有哪些,这样我才能就增加人手的事和史蒂夫深入谈一谈。你现在说话方便吗?”

她说:“正合我意。来吧。”

韦斯把庞大的审计报告重重地砸在桌子上,向帕蒂简要介绍了审计报告的事,她听完吹了声口哨。

“你知道,我真希望是你在会场上面对那些审计师。”我说,“大部分最主要的问题是关于缺少实用的变更管理流程的。我觉得你最终会变成审计师的好朋友。”

“审计师也有朋友?”她大笑起来。

“我要你协助韦斯在周一前估算出修复那些审计发现需要多少工作量。”我说,“不过现在,让我们谈一件更高层面的事。我想试着列个清单,列出我们所有的工作任务。这个清单会有多长?该怎么做才能列出来?”

我向帕蒂转述了韦斯的话,她听后回答:“韦斯说得对。柯尔斯顿那儿有正式的业务项目清单,其中的每个项目多少都跟我们扯得上关系。我们还有自己的IT运维项目,通常由技术预算拥有者管理——那些项目没有集中的清单。”

帕蒂继续说:“我们还负责所有接入服务台的电话应答业务,不论是索取什么新设备还是要求修理什么东西。但那个清单也是不完整的,因为很多业务部门的人会直接去找他们喜欢的IT人员解决问题。那些工作都没有记录在册。”

我缓缓地问:“那么,你是说我们一点儿也不知道我们的职责清单是什么?真的吗?”

韦斯充满戒备地说:“以前从来没人问过这件事。我们一直聘用很聪明的人,向他们交办特定领域的工作职责。除此之外,我们就都不管了。”

“好吧,我们不得不管了。要是不清楚我们现有的任务,就没法给下面的人增加新任务!”我说,“最起码,预估一下修补那些审计发现所需的工作量。然后告诉我,为了抽调一些人来处理审计问题,每个被抽调的人需要丢下哪些手头上的任务。”

我想了一下,补充道:“关于这点,对每个分配到凤凰项目的人也要做同样的事。我估计我们已经不堪重负了,而我想知道我们已经超载了多少。我要先发制人,告诉大家我们手头的项目已经饱和了,那样的话,如果我们没有按时完成并交付某个任务,他们就不会大惊小怪了。”

韦斯和帕蒂看起来都很吃惊。韦斯首先大声说:“但……但是那样的话,我们差不多就得和每个人都谈一次话!帕蒂可能乐于拷问大家都作了哪些变更,但是我们可不能在最精锐的员工周围绕来绕去,浪费他们的时间。他们可都有正事要干!”

“是的,我知道他们得干正事。”我坚定地说,“我只需要一行简短的文字说明,描述他们的工作是什么,以及他们认为完成这些工作需要多长时间。”

意识到此事可能引发的问题,我补充道:“一定要告诉大家,我们这样做是为了争取更多的资源。我不希望有人以为我们要外包服务或解聘谁,好吗?”

帕蒂点点头:“我们早就该这么做了。我们的紧要任务总是在不断累加,以致原有的任务不断往后拖,直到有人朝我们大喊大叫,想要知道我们为什么还没有完成并交付某项工作。”

她开始敲键盘。“你想要一份清单,简明扼要地列出我们的关键人力资源承担的所有工作任务,显示他们正在做什么,以及要花多长时间来完成这些工作。我们会从凤凰项目和审计修复的人力资源入手,但最终会拓展到整个IT运维部。我的理解对吗?”

我笑了,为帕蒂如此简明扼要地拟定了整个计划而由衷地高兴。我知道她会表现得很棒。“完全正确。如果你和韦斯能够查出目前哪些人手已经过度消耗,以及我们还需要多少新的人手,那就更好了。那样我们就有理由向史蒂夫申请更多人手了。”

帕蒂对韦斯说:“这事儿应该简单明了。我们可以对员工进行简短的15分钟访谈,从服务台和报修系统提取数据,从柯尔斯顿那里拿到项目清单……”

令人惊讶的是,韦斯居然同意了,并且补充道:“我们还可以通过预算编制工具,了解我们已经在人员和硬件需求方面吃了多少亏。”

我站起来,说:“想得很好,伙计们。我们在周五之前安排一次会议,仔细研究你们的调查情况。有些货真价实的数据在手,我想在周一和史蒂夫碰面谈一谈。”

帕蒂朝我翘起大拇指。现在我们有些进展了。

目录

  • 版权声明
  • 译者序
  • 人物表
  • 即时公告
  • 第一部分
  • 第 1 章 9月2日,星期二
  • 第 2 章 9月2日,星期二
  • 第 3 章 9月2日,星期二
  • 第 4 章 9月3日,星期三
  • 第 5 章 9月4日,星期四
  • 第 6 章 9月5日,星期五
  • 第 7 章 9月5日,星期五
  • 第 8 章 9月8日,星期一
  • 第 9 章 9月9日,星期二
  • 第 10 章 9月11日,星期四
  • 第 11 章 9月11日,星期四
  • 第 12 章 9月12日,星期五
  • 第 13 章 9月15日,星期一
  • 第 14 章 9月16日,星期二
  • 第 15 章 9月17日,星期三
  • 第 16 章 9月18日,星期四
  • 第二部分
  • 第 17 章 9月22日,星期一
  • 第 18 章 9月23日,星期二
  • 第 19 章 9月23日,星期二
  • 第 20 章 9月26日,星期五
  • 第 21 章 9月26日,星期五
  • 第 22 章 9月29日,星期一
  • 第 23 章 10月7日,星期二
  • 第 24 章 10月11日,星期六
  • 第 25 章 10月14日,星期二
  • 第 26 章 10月17日,星期五
  • 第 27 章 10月21日,星期二
  • 第 28 章 10月27日,星期一
  • 第 29 章 11月3日,星期一
  • 第三部分
  • 第 30 章 11月3日,星期一
  • 第 31 章 11月3日,星期一
  • 第 32 章 11月10日,星期一
  • 第 33 章 11月11日,星期二
  • 第 34 章 11月28日,星期五
  • 第 35 章 1月9日,星期五
  • 后记
  • 致谢
  • 第四部分 三步工作法
  • 序言
  • 啊哈!
  • 导言:展望DevOps新世界
  • 第一部分 DevOps介绍
  • 第 1 章 敏捷、持续交付和三步法
  • 第 2 章 第一步:流动原则
  • 第 3 章 第二步:反馈原则
  • 第 4 章 第三步:持续学习与实验原则
  • 中文版附录:凤凰项目沙盘