其次是目标,这里的目标一定要是利益干系人的目标,敏捷开发和任何好的方法论或者新兴事物一样,如果要有持久的生命力,归根到财务上,就是要能带来利润,或者减少成本。敏捷开发就是这样的一种方法,能够通过高效率迭代和敏捷机制,为客户开发出能够符合业务发展需求,能为企业带来业务价值,并最终能为企业创造效益的方法。
最后是方法,即通过什么方法才能达到利益干系人的价值。这里强调的是敏捷中应用迭代的开发方式,以及敏捷开发中以人为中心,最大化发挥出团队的积极性和效率的开发及管理模式。
可用性
可用性设计(Consumablity)则是 IBM 提出的一个概念和方法论,可用性的定义为:软件可用性是客户端到端的体验,通过提高产品的可用性,可以增加对客户的价值。所以终归来说,可用性也是关乎终端客户的价值。(刚接触这种概念和词的时候,多次怀疑自己写错 Consumablity 这个词,这个词是 IBM 新发明的词,在词典中找不到,在 Word 和邮件系统会提示这个词不存在“红线”)。 可用性包含两个层面的含义,即有用和好用。如下图所示:
图 2. 可用性设计及其两层含义
从上图可以看出,产品是产品开发团队和客户之间的沟通载体。产品承载着所有开发团队的理念、业务需求、设计、使用方式等,而客户则是试图通过产品来满足自身的业务需求,并且通过使用产品来达到满足需求的目的。
可用性中的“有用”是指,产品是能满足客户的业务需求,能给客户带来价值。而可用性中的“好用”是指,客户能够非常容易的使用产品来满足业务需求,客户使用产品是一个过程,包括从如何能容易的获得产品,容易安装,容易使用,容易升级和维护,文档清晰等。作者们认为可用性更多是一种以“一切设计从用户的角度出发”的思维方式来思考问题和设计产品。抱着这种思想,产品开发的方方面面,处处都是可用性设计问题,处处都值得改进。
敏捷开发中的可用性测试流程
不管是敏捷开发还是可用性,都是真正“以客户为中心”的方法,目的是开发出对客户有价值的好用产品。
目前,在国内的软件开发流程中,还较少有系统的可用性测试阶段和流程。在逐渐被广泛使用的敏捷开发过程中,更是较少的系统地包含这一测试阶段。作者们所在的产品开发团队,在敏捷开发的过程中引入了可用性方法论,并逐步地在敏捷测试中,系统地引入可用性测试流程和方法论,站在客户的角度,对产品的功能、用法、文档、安装等各方面进行全面的测试和改进,并取得了良好的成效。所以希望能和大家一起分享我们的改进,并一起继续探讨敏捷开发中的可用性测试。
下图是包含可用性测试的敏捷开发流程:
图 3. 敏捷开发流程及可用性测试
(查看图 3 的 清晰版本。)
上图是敏捷开发的一个迭代过程,可用性测试是产品测试流程一个很重要的环节。具体的可用性测试用例,可用性测试场景,可用性测试范围,衡量指标和方法等在下文会详细和大家介绍。
可用性测试的执行
软件可用性的衡量指标
软件产品可用性主要体现在帮助客户管理和提高使用软件产品所带来的价值。软件产品可用性的衡量指标总体上包括五个层次:
第一,便捷有效的业务实施。高可用性的软件可以保证软件可以帮助客户实现业务目标。
第二,积极的首次体验。好的开始试成功的一半,高可用性的软件可以保证客户顺利完成有重要意义的初始功能。
第三,与客户环境的便捷集成。客户环境千差万别,高可用性的软件可以便捷地与客户环境进行集成。
第四,对客户需求的适应性。客户需求差异大,变化快,高可用性的软件可以在很小的成本控制内最大化的满足客户的需求。
第五层次,简便的操作与使用。操作的简便与快捷影响用户的体验,高可用性的软件可以充分保证简便的操作使用,省级管理。
原文转自:http://www.uml.org.cn/Test/201007084.asp