神鸟电子书 > 经管其他电子书 > 代码之道 >

第1部分

代码之道-第1部分

小说: 代码之道 字数: 每页4000字

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!





献给当初对我说“为什么不由你来写?”的人:Bill Bowlus(1)
你手上拿着的是一本关于最佳实务的书。它会比较乏味。但也许会比较有意义,你能从中得到知识,读后甚至对你产生些许影响,但读起来肯定还是干巴巴而无趣的。为什么这么说呢?
  最佳实务的书是乏味的,因为这个“最佳”是跟具体的项目、具体的人、他们的目标以及偏好紧密相关的。一个实务是不是“最佳”,大家可能看法不一。作者必须把实务列举出来让读者自己来选,并分析在什么时候、因为什么原因作出最佳选择。虽然这种做法是现实的、负责任的,但也是令人厌烦的,最终无法取悦读者。为释疑而设计的案例研究会使文字有味一些,但作者仍必须把选择的机会留给读者,否则作者就会显得傲慢、教条并且死板。
  然而人们喜欢看到傲慢、教条、死板的学者之间的针锋相对。大家喜欢引用学者们的观点片段,与朋友和同事一起讨论。为什么不把这些最佳实务当作观点栏来争论呢?惟一的条件,就是要有人愿意将自己扮演成一个思想保守的傻瓜。
  本书的由来
  2001年4月,在我历经了Bank Leumi、Jet Propulsion Laboratory、GRAFTEK、Silicon Graphics、Boeing等公司总共16年的职业程序员生涯,再在微软做了6年的程序员和经理之后,我转入了微软内部的一个以在公司范围内传播最佳实务为职责的团队。当时这个组正在运作发行名叫《Interface》月刊网络杂志的一个项目。它很有意义,且富有知识性,但同样也是干巴巴而无趣的。我那时建议增加一个观点栏目。
  我的上司Bill Bowlus建议由我来写。我拒绝了。作为一个半大孩子,我努力成为一个协调员,撮合多方产生成果。成为一个爱唠叨的实务学者会毁掉我的名誉和效力。因此,我当时的想法是说服一个大家公认的小心眼的工程师来写,他可能是我在微软以前6年工作经历中接触过的一位固执的开发经理。
  但Bill指出,我有22年的开发经验,4年的开发管理经验,写作技巧也还行,而且有足够的态度来做这件事。我只需要放下自身的心理包袱。另外,其他的开发经理都忙于常规的工作,不可能每个月来为我们写观点。最后Bill和我想出了一个用假名撰稿的点子,于是I。 M。 Wright的“Hard Code”栏目诞生了。
  从2001年6月开始,我使用“I。 M。 Wright,微软逍遥的开发经理”这个署名为微软的开发者和他们的经理写了49个“Hard Code”观点栏。这些栏目的标签行都打上了“绝对诚实,重拳出击”的标语。每个月,成千上万的微软工程师和经理都在读这些栏目。
  前16个栏目在《Interface》内部网络杂志上发表了。随后同事(Mark Ashley和Liza White)给我分配了更多的主题。我和《Interface》的美工Todd Timmcke还一起制作了作者的很多搞怪照片。当网络杂志停刊的时候,我才得以喘息的机会,但也停止了写作。
  14个月之后,在我们组的同事Amy Hamilton (Blair)、Dia Reeves、Linda Caputo、Shannon Evans和Marc Wilson的帮助下,我又开始在内部站点上发表我的栏目。去年11月份,我将所有的栏目转移到了一个内部的SharePoint博客上。
  2007年春天,正当我打算休掉几年前奖励给我的假期的时候,我现在的经理Cedric Coco给了我在休假期间将“Hard Code”出版成书的授权。而微软出版社的Ben Ryan也同意了。
  除了我已经提及的人,我还想感谢《Interface》的其他成员(Susan Fario、Bruce Fenske、Ann Hoegemeier、John Spilker和John Swenson),其他帮助过本书出版的人(Suzanne Sowinska、Alex Blanton、Scott Berkun、Devon Musgrave和Valerie Wolley),支持我的管理层(Cedric Coco、Scott Charney和John Devaan),我现在的和以前的、复审过我的栏目并提出过很多主题的团队成员(William Adams、Alan Auerbach、Adam Barr、Eric Bush、Scott Cheney、Jennifer Hamilton、Corey Ladas、David Norris、Bernie Thompson、James Waletzky、Don Willits和Mitch Wyle),我才华出众的中学英语老师(Alan Shapiro),以及那些慷慨给予我反馈的读者们。特别地,我还要感谢我的妻子Karen和我的儿子Alex和Peter,他们让我做任何事情都充满信心。书 包 网 txt小说上传分享

献给当初对我说“为什么不由你来写?”的人:Bill Bowlus(2)
本书的读者
  组成本书的49个观点栏最初是写给微软的开发者和他们的经理看的,尽管它们也是我过去在软件行业6个不同的公司、28年的工作经验中提炼出来的。编辑和我一起修正了表达语言,注解了那些微软内部的特殊用语,使得本书适合于所有软件工程师和工程经理阅读。
  我在这些栏目中表达的观点是我个人的,不代表我现在和以前任职过的任何一家公司,包括微软。我在栏目中的注解以及本简介中的言论同样都是我个人的,与公司无关。
  本书的组织方式
  根据主题的不同,我把所有栏目分成了10个章节。前6章剖析了软件开发流程,接下来3章重点讨论人的问题,最后1章批判软件业务运转方式。用于解决这些问题的工具、技巧和建议遍布全书。本书的最后还附有术语表和索引方便大家参考。
  每一章的各个栏目均按照当初在微软内部发表的时间顺序排列。每章开头我都给出了一个简短的介绍,随后就是当初我以I。 M。 Wright名义发表的栏目内容。编辑成书的时候,我还适时在栏目中加上了“作者注”,以解释微软的术语,提供更新内容或者额外的背景知识。
  编辑和我尽力保持了原有栏目的完整性。我们做的,仅仅是纠正语法和内部引用。称得上改动的其实只有一处:就是将原来一个叫“你被解雇了”的栏目标题改成了“最艰难的工作”,因为以前那个标题太容易让人误解了。
  每个栏目都以一段激昂的演说开场,然后就是问题根源的分析,最后以我对这个问题如何改善的建议结束。我酷爱文字游戏、头韵和通俗文化,因此栏目中充斥着对这些东西的引用。特别是大部分栏目的标题和副标题都直接取材于歌词、电影对白和有名的谚语。是的,我自娱自乐,但撰写这些栏目确实给我带来了些许乐趣以及痛快的宣泄。希望你也会喜欢!
  系统要求
  本书提供的工具都是微软的Office Excel 2003和Office Word 2003格式的。只要你的电脑上安装有Word和Excel的浏览器,你就能使用这些文件。你也可以从如下站点下载这两个浏览器:
  微软的组织结构
  因为这些栏目最初是写给微软的内部员工看的,因此简要了解一下微软以及我在工作中扮演的角色会有助于更好地理解这些文字。
  目前,微软的产品开发分成三大业务部门,总共有大概25条产品线,超过450个产品单元,和众多的功能团队。这些部门是平台产品与服务部门、微软商业部门、娱乐与设备部门。部门内的产品线是由相关的产品套件整合在一起形成的,比如Office System和Visual Studio。
  每条产品线包含了大约20个独立的产品单元。通常情况下,这些产品单元共享源代码控制、建造、安装、工作条款跟踪和项目协调,包括价值主张、里程碑安排、发布管理和工程支持。除了这些协调服务之外,产品单元还有高度的自主权,可以对产品、流程和人员作出自己的安排。
  一个典型的产品单元通常有一个产品单元经理(PUM,Product Unit Manager)和三个工程工种经理:部门项目经理(GPM,Group Program Manager)、开发经理(Development Manager)和测试经理(Test Manager)。其他工程工种,比如用户体验、内容发布(比如在线帮助)、实施,可能单独对某个产品单元负责,也可能在产品线或者整个部门中共享。
  每个工种都要抽出一个或多个代表,以组成一个叫功能团队的虚拟组织,来开发具体的产品功能。这些人的工作仍然汇报给各自的工种经理。有些功能团队选择敏捷方法,有些喜欢精益模型,有些采用传统的软件工程模型,有些则根据实际情况混合了上述多种方法。
  微软怎么能包容所有这些多样性和产品的区域自治、还能为朝着一个共同的目标有效地工作呢?这就要靠产品线公共的项目协调了。举例来说,产品线的价值主张为所有的产品单元和他们的功能团队设置并统一关键应用范例、质量尺度和框架体系。
  为了促进跨部门和产品线的协调和共享,特别是为提高质量和效率,微软还设立了一个组织叫Microsoft Trustworthy puting and Excellence。它是我的上级组织。具体来说,我的工作职责是,要让微软全球超过1万名的开发者在构建令人兴奋的、高质量的用户体验时,能够做得更加开心、更富有效力。不用说,这是一项长期的工作。

献给当初对我说“为什么不由你来写?”的人:Bill Bowlus(3)
我的团队每月将开发部门的领导层聚集在一起,谈论问题并指导我们的工作。我们研究公司范围内乃至整个行业内的工程方法,以期找到新的机会和领域去提高。我们通过网络共享工具、最佳实务,以及实施职业生涯指导。我们举办各种活动和奖项评比,与各种团队商讨,为开发中的各个级别、各种角色提供技术培训。非常棒的工作!另外,我每月还在写着观点栏。
  示范工具和文档
  本书提到的示范工具和文档,作为本书的附属内容,都可以通过如下地址下载到:
  在线资料列表
  工具 栏目 章节
  Sprint backlog: ;
   敏捷子弹 2
  Product backlog: ;
   敏捷子弹 2
  Spec template: Spec  糟糕的规范书:该指责谁? 3
  Spec checklist: Spec  糟糕的规范书:该指责谁? 3
  Pugh Concept Selection:;
   复审一下这个 5
  Inspection Worksheet: ;  复审一下这个 5
  Interview Role Playing; a how…to guide:
   面试流程之外 9
  本书的支持
  为了保证本书及其附属内容的准确无误,我们尽了最大的努力。本书所有的修正和改动都会搜集起来并放到微软的知识库中去。微软出版社通过如下站点对本书及其附属内容提供支持:。
  问题和意见
  如果你对本书及其附属内容有任何意见、建议或问题,并且通过访问上述站点仍然无法解决,请给微软出版社发送电子邮件: mspinput@,或者按照如下方式邮寄:
  Microsoft Press
  Attn: I。 M。 Wright’s “Hard Code” Editor
  One Microsoft Way
  Redmond; WA 98052…6399
  请注意,上面的地址对微软的软件产品不提供支持。
  书包 网 。 想看书来

读者对I。 M。 Wright’s “Hard Code”栏目的喝彩
任何大型组织都有危险成为自身文化的牺牲品。关于世界应该是什么样子或者事情应该怎样去做的神话,最后证明都是一

返回目录 下一页 回到顶部 0 0

你可能喜欢的