对技术的期望要现实,这是利用技术实现生产力提升的关键。基于这个理念,我们可以分析以下七个IT行业中的常见流言。我相信,澄清这些问题将帮助我们理清更常见的谜题:IT技术能做什么和不能做什么。
- 计算机科学是精确的科学。其实“计算机科学”一词本身就不怎么恰当, 我认为它应该叫做“计算机科学的艺术”。如果我们思考计算机语言及其各个方面如何互相配合以创建应用,从这个角度来考虑软件开发,就能开始理解其艺术的一 面。这就好比英文字母只有固定的26个,但它们有无数种组合变化。在计算机科学艺术中,我们固然要遵循其流程和协议,但对如何设计和开发软件,我们仍有充 分的自由。这给了我们大量创新的机会,却也有可能滋生软件差错。若我们在计算机科学教育中加入更多商业课程,也许会对软件开发有所帮助,代码中的问题能够 有效减少。
- 下一个大的软件版本能解决这些问题。软件开发流程有4个衡量指标:开发时间、软件特性、占用资源和软件质量。软件开发过程中,这4个指标都会不断调整,其中一个指标的改变也会影响其他指标。例如,对引入某项特性所需的时间估算不当,会影响项目成员、最终产品质量和产品的按时发布。产品的主要发布版本——那些末尾是.0或.5版本,常常会为了赶上发布日期而牺牲软件质量。因此,开发者往往不采用这些主要产品发布,而等待下一个小发布 版本。这在许多时候都是个明智的选择,但软件开发商可能会一连发布多个小版本和补丁来修复已知问题。此时,IT部门必须注意让组织内部使用一致的软件版 本,公司各开发团队选择的版本不一致,往往会在日后导致各种软件故障。
- 开箱即用。对面向最终客户的消费软件,开箱即用通常是可行的。但企业级软件则需要根据需求进行各种定制而不可能达到所谓“开箱即用”。如果你听到哪个软件厂商如此吹嘘,选择他们前请三思。
- 代码文档完善。为代码撰写完善文档是软件开发的良好规范,公司和新的团队成员都能通过代码文档清晰了解项目现状。可事实上,IT技术人员总被项目 计划压得喘不过气来,哪有那么多时间来撰写文档?文档缺乏将导致整个团队技术知识的匮乏,后果严重。当然,我们可以利用技术手段自动记录和跟踪相对固定的 流程,降低相关的风险。
- 文档说明一切。文档是降低IT人员学习难度的重要手段,但解释软件行为的文档质量总是参差不齐。因此,为提升团队能力和实操经验,值得花钱聘请专业咨询公司并安排培训课程。
- 黑客都是坏蛋。“黑客”的真正定义是编程高手。当然,部分编程高手所造成的后果会让“黑客”这个词带上贬义。只要能放下戒备,建立信任,团队中有一个对系统了若指掌且知悉系统漏洞的黑客,能助你建立更强健的基础设施。
- 最大的安全危险在公司之外。我们都知道网络攻击和网络犯罪的威胁,也知道有坏人在操纵这些攻击。可别忘了,内部员工也可能造成对IT基础设施的攻击。
在2010年由Forrester Research公司对305位CIO进行的调查中发现,近58%的安全事故是由员工丢失计算机设备或不慎在社交网络发布不恰当信息引起的。[10]图4-2截取自Forrester的分析报告,指出了内部员工引发的各类安全问题。