概括地说,提高软件 开发 效率的关键在于提高软件的复用能力和复用程度。 ——黄柳青,《软件的涅磐》 当前任何一个成熟行业的主要目标都是提供高效的生产能力。对于软件来说,我们需..
说到戴尔的商业模式,很多人都知道是直接模式。 如果再深究一下,什么是直接模式的核心竞争力,那么,供应链管理、按单定制、基于标准等都可能是答案。 ——马文方,《你应该知道的戴..
不断采用构件技术是未来软件生产力提高的主要来源。 ——霍克等,《软件业的成功奥秘》① 本章首先通过与传统行业的对比,回顾了软件行业的发展历程;然后探讨了互联网背景下面向构件..
8.2.2主观数据 对报告的读者而言,最重要的问题是:对用户的影响是什么?大多数时候,回答这一问题,需要进行一番思考。问自己一些与下面这些问题相类似的问题: ? ·当客户看到这一问题时..
8.2.1报告缺陷就像写新闻 凯列班有个故事讲的是他最喜欢的缺陷。故事大概是这样的: 我一个月前在实验室中发现了这个缺陷,然后报告了它。没有人注意到;所以在优先分配中,他们把它标..
第8章 报告 缺陷 “一组程序员正在向皇帝汇报。‘今年最大的成就是什么?’皇帝问。程序员们在一起商量了一下然后回答道:‘我们今年比去年多修复了50%的缺陷。’皇帝疑惑地看着他们。..
8.3 小结 本章关注缺陷的报告。显然,正如前面几章中都讨论过的,应使用良好的 需求 、架构和 开发 实践来防止缺陷发生,这比发现缺陷然后承受必要的返工来修复缺陷要好得多了。尽管如此..
8.2.3 客观数据 在编写了关于此 缺陷 的主观数据之后(参见图8-6),就到了收集客观数据的时候了。 java script:if(this.width>498)this.style.width=498;' onmousewheel = 'javascript:return big(this)' height=299 alt="" sr..
8.2软件 缺陷 的生命周期 与生物学的昆虫不同,软件的缺陷要经历一组非常严格的状态(参见图8-2)。在VSTS中,缺陷所允许的缺省的状态和转换依赖于你为项目所选择的过程模板。所选过程的..
5.2面向服务的架构 概念完整性是优秀架构的关键部分。作为用于软件和系统架构的最主流的现代概念框架,面向服务的架构(Service Oriented Architecture, SOA )提供了这一完整性。有2个压倒一切的业..
5.3 自由度的约束 价值增加的方式要求有一个显式的架构,但是架构也可以从实现中产生。这表面上是矛盾的。一方面,你必须在应用场景的情景环境下考虑所有的服务 质量 和部署约束。另一..
5.7 针对运行而设计 很多组织都要面对的一个典型问题就是复杂性,即把设计的系统转移到部署的数据中心的复杂性。 开发 团队与运行团队通常有着不同的词汇表、不同的成员、不同的物理位..
5.6公民权理念 从自包含的应用到服务的提升,需要理念上的变化,在 MSF 中这叫做公民权(citizenship)。随着应用从自包含的项目转变为服务的消费者和发布者,项目组需要对它的方法进行不同..
5.5服务 质量 的理念 MSF这样描述服务质量思想: 对于诸如性能和安全性之类的服务质量,不应当直到项目的后期才考虑,而应当在整个过程中都要考虑。如果忽略了这些服务质量,它们会最终..
5.8小结 在本章中,我简要地讨论了架构设计上的价值增加的方法和创建一个 解决方案 的架构的过程。架构设计是高度迭代的,既有自顶向下的工作,又有自底向上的工作,产生于实现的选择,..
第1章 价值增加的思维方式 理论应该尽可能地简单,但不要过度简单。” ——阿尔伯特·爱因斯坦图 java script:if(this.width>498)this.style.width=498;' onmousewheel = 'javascript:return big(this)' height=287 alt="" sr..
1.2思维方式的对比 软件项目所固有的不确定性使得对任务进行正确估计十分困难,这就造成了在估计的精确性上存在高偏差。一个常见的误解就是偏差是可接受的,因为正的和负的偏差可以平..
1.3对流的关注 价值增加的思维方式的中心思想是对于流的强调。流有2个不同的含义,这两者对于软件项目的计划都是重要的。 首先,流是人类熟练操作的体验,正如米哈伊·柴科金特米哈伊的..
第5章 架构设计 “每个系统都有架构,架构所包括的关键抽象和机制定义了从不同涉众的视点所看到的系统的结构和行为,每个架构都有一组不同的关注。对于从习惯用语到机制再到架构的每种..
1.6小结 在实践中,大多数软件过程都要求手工制定,其中收集数据和跟踪进度都很昂贵。在前期,这样的过程需要很多文档、 培训 和管理,因此它们拥有很高的运行成本和维护成本。最重要的..