持续集成与极限编程
极限编程。“持续集成(Continue Integration)”一词来源于极限编程(Extreme Programming),作为它的12个实践之一出现。
持续集成——提高软件质量
提高软件的质量是一个工程问题。
软件质量的提高应该是一个综合的因素,需要从每个方面进行改进,同时还需要兼顾成本和进度。
什么是质量
一个实体(产品或服务)的所有特性,基于这些特性可以满足明显的或隐含的需要。
质量三个维度
符合目标、符合需求,以及符合实际需求。
目标是客户定义的,符合目标即判断是不是在做需要做的事情。
实际需求包括用户明确说明的和隐含的需求。
符合用户习惯,这其中包含了我们要引导用户如何操作或者去适应用户本身的操作习惯。
质量——隐含需求
一方面,在控制一个产品的质量的过程中必须关注这些隐含的需求,并给予应有的验证。
另一方面,因为产品是为客户提供服务的,因此凡是不满足客户需求的,都认为是失败的(failure)。
所以产品必须始终围绕着客户的需求进行开发和验证。
客户 VS 用户
客户是真正能够决定是否购买你的软件的人,
用户是实际使用软件的人。
对客户和用户在考虑用户需求时要做出不同的权衡
在考虑用户需求时,往往只考虑了实际使用软件的人员,而忽略了其他人员对软件的要求或对软件造成的潜在竞争,这包括维护人员的要求,系统管理人员的要求,软件上下游人员的要求,先前版本的情况,市场上竞争对手的软件情况等。
质量与成本
质量需要一个承诺,尤其是高层管理者的承诺。但为了得到质量,高层管理者必须和其雇用的员工进行紧密合作;
将缺陷数控制在一定级别是正常并可接受的;
质量经常和成本紧密联系在一起,一个高质量的产品同时也意味着高投入,这是设计的质量和一致性质量的一个矛盾。
一个高质量产品的需求规格说明书要足够详细,以便产品可以根据这些规格说明书进行定量分析。
网友评论