软件工艺(英文版) - Pete McBreen

软件工艺(英文版)

Pete McBreen

出版时间

2003-12-31

ISBN

9787115117892

评分

★★★★★

标签

计算机

书籍介绍

《软件工艺(英文版)》向我们展现了另一种选择——关注“从事商用软件开发的人”的工艺学模型。《软件工艺(英文版)》告诉读者:技术人员迫切需要转变观念,技术不仅仅是技术本身,更应该是为客户提供价值的基础。如何培养程序员对技术的精通?如何发展小型开发团队中创造性的协作?如何加强与客户的的沟通?《软件工艺(英文版)》作者给了我们一种方法,它将造就技艺精湛的开发者,他们能创造坚固耐用的应用程序,并不断扩展、升级它们。

精彩摘录
  • "一个非常典型的例子就是美国国防部于 1969 年至 1975 年间开发的 SAFEGUARD 弹道导弹防御系统。“SAFEGUARD 系统的开发和部署堪称有史以来最大、最复杂的软件系统。”在项目开始的第一年(1969 年),工作量为 188 人年;到 1972 年,年工作量已经达到 1 261 人年;整个项目的工作量共计 5 407 人年,平均每年生产率为每人年 418 条指令。 SAFEGUARD 是一个极其庞大的软件工程项目,它也代表了当时软件工程的最高水平。它所使用的计算机硬件是专为此项目而开发的。尽管程序设计工作都是用低级语言完成的,但编程和单元测试阶段在全部工作量中所占的比重还不到 "
  • "如果在一只运动队中,教练拿着比明星球员们还高的薪水,你认为这支球队能维持多久?"
  • "软件工程的关键问题就在于:它使我们忘记了“是人来开发软件”这样一个简单的事实。软件工程含蓄地给了我们一个承诺:只要能定义出一个有组织、有纪律、可计量的开发过程,任何人都可以成功地完成软件开发。可惜,这只能是一个梦想。正如 Curtis 的调研报告所表明的:就算有了一个理想的过程,想要获得项目的成功,出类拔萃的开发者仍然是必不可少的。 越好的程序员,所犯的错误就越少,并且发现错误也越快。 真正决定项目成败的,是作为个体的程序员的技能、知识和经验。 其实,我们应该讨论的不是“项目的缺陷可能性”,而是“开发者的缺陷可能性”。"
  • "SCRUM 软件开发过程的创始人曾经这样说道: 如果某个过程能够完全确定下来(即能够了解过程所涉及的所有细节,从而将其设计为可以重复地多次运行,并且完全能够预测其结果),那么该过程就被称为“确定过程”。从理论上来说,一切确定的过程都可以被自动完成。另一方面,如果人们并未了解某个过程中的所有细节,只是大致地知道在某些初始条件下、通过某些调节和控制就能得到想要的结果,这样的过程就被称为“经验过程”。"
  • "开发者哪怕只是动一动“排除所有缺陷”的念头也会被认为是浪费力气,因为一大半的特性很可能就实现在现有的错误之上。由于“足够好”的开发方式将编码和测试分离成了两个截然不同的阶段,所以用这种方式开发出的应用程序中必定会包含大量缺陷。"
  • "软件开发的整个过程可以总结为:获取明确的和隐含的知识,并将这些知识具现化到软件之中。按照 Howard Baetjer 的观点,软件开发者的关键难题在于协调各种不同知识的学习,软件开发的关键局限在于“理解我们尝试做的事情的能力”。 特别是,客户也需要经历一个学习的过程,听项目组向他们解释需求所蕴涵的本质。这个学习的过程正是造成需求变更的一个主要原因。 软件开发的全部意义就在于解决未知因素。"
  • "在软件开发史的早期,情况并非完全如此,因为当时的最大困难是在实现阶段,也就是“如何给计算机编程”的问题。但是,随着开发者们逐渐创造出越来越好的编程方式,困难就逐渐从实现阶段转移到了设计阶段。而对于如今的很多项目来说,设计和实现都已经不再是难题,最主要的困难是在需求分析阶段和需求分析与软件设计之间的交流上。"
  • "我发现项目进度的瓶颈竟然如此变化不定,这一发现一直都令我非常惊讶。可能成为瓶颈的步骤包括: 谈判认可项目预算; 选择合适的开发团队(尤其是在进行外包时); 获取需求文档并签字认可(这一过程也许会长达 7 年之久); 与业务用户和决策者交流; 由项目指导委员会及时作出决策; 找到优秀的设计师和程序员; 通过与并行项目的竞争而获得项目所需的资源; 当有经验的开发者不得不抽出时间来指导新手时,他需要腾出时间完成被耽误的工作; 让技术选择得到批准和签字认可; 在各种各样的交付平台上测试; 让应用体系结构组认可整体设计概念; 使主要的开发者达成共识,选择合适的设计方案; 安排设计和代码复审的时间表; 调"
目录
Preface to Chinese Reader
Foreword
Preface
Part I Questioning Software Engineering
1 Understanding Software Engineering
用户评论
当年路过某书摊看见就买了=.= 看来没买错⋯⋯
这个书名对我的提醒我一直在传达给其他的manager,我的老板,即软件更多的是一种工艺,需要人人传承,需要重视“who”,而不是“how many”。这个和《人月神话》可以补充起来看。
Software craftsmanship,我很赞同的观点,这是我收藏这本书的最大理由
收藏