其次是目標,這里的目標一定要是利益干系人的目標,敏捷開發和任何好的方法論或者新興事物一樣,如果要有持久的生命力,歸根到財務上,就是要能帶來利潤,或者減少成本。敏捷開發就是這樣的一種方法,能夠通過高效率迭代和敏捷機制,為客戶開發出能夠符合業務發展需求,能為企業帶來業務價值,并最終能為企業創造效益的方法。
最后是方法,即通過什么方法才能達到利益干系人的價值。這里強調的是敏捷中應用迭代的開發方式,以及敏捷開發中以人為中心,最大化發揮出團隊的積極性和效率的開發及管理模式。
可用性
可用性設計(Consumablity)則是 IBM 提出的一個概念和方法論,可用性的定義為:軟件可用性是客戶端到端的體驗,通過提高產品的可用性,可以增加對客戶的價值。所以終歸來說,可用性也是關乎終端客戶的價值。(剛接觸這種概念和詞的時候,多次懷疑自己寫錯 Consumablity 這個詞,這個詞是 IBM 新發明的詞,在詞典中找不到,在 Word 和郵件系統會提示這個詞不存在“紅線”)。 可用性包含兩個層面的含義,即有用和好用。如下圖所示:
圖 2. 可用性設計及其兩層含義
從上圖可以看出,產品是產品開發團隊和客戶之間的溝通載體。產品承載著所有開發團隊的理念、業務需求、設計、使用方式等,而客戶則是試圖通過產品來滿足自身的業務需求,并且通過使用產品來達到滿足需求的目的。
可用性中的“有用”是指,產品是能滿足客戶的業務需求,能給客戶帶來價值。而可用性中的“好用”是指,客戶能夠非常容易的使用產品來滿足業務需求,客戶使用產品是一個過程,包括從如何能容易的獲得產品,容易安裝,容易使用,容易升級和維護,文檔清晰等。作者們認為可用性更多是一種以“一切設計從用戶的角度出發”的思維方式來思考問題和設計產品。抱著這種思想,產品開發的方方面面,處處都是可用性設計問題,處處都值得改進。
敏捷開發中的可用性測試流程
不管是敏捷開發還是可用性,都是真正“以客戶為中心”的方法,目的是開發出對客戶有價值的好用產品。
目前,在國內的軟件開發流程中,還較少有系統的可用性測試階段和流程。在逐漸被廣泛使用的敏捷開發過程中,更是較少的系統地包含這一測試階段。作者們所在的產品開發團隊,在敏捷開發的過程中引入了可用性方法論,并逐步地在敏捷測試中,系統地引入可用性測試流程和方法論,站在客戶的角度,對產品的功能、用法、文檔、安裝等各方面進行全面的測試和改進,并取得了良好的成效。所以希望能和大家一起分享我們的改進,并一起繼續探討敏捷開發中的可用性測試。
下圖是包含可用性測試的敏捷開發流程:
圖 3. 敏捷開發流程及可用性測試
(查看圖 3 的 清晰版本。)
上圖是敏捷開發的一個迭代過程,可用性測試是產品測試流程一個很重要的環節。具體的可用性測試用例,可用性測試場景,可用性測試范圍,衡量指標和方法等在下文會詳細和大家介紹。
可用性測試的執行
軟件可用性的衡量指標
軟件產品可用性主要體現在幫助客戶管理和提高使用軟件產品所帶來的價值。軟件產品可用性的衡量指標總體上包括五個層次:
第一,便捷有效的業務實施。高可用性的軟件可以保證軟件可以幫助客戶實現業務目標。
第二,積極的首次體驗。好的開始試成功的一半,高可用性的軟件可以保證客戶順利完成有重要意義的初始功能。
第三,與客戶環境的便捷集成??蛻舡h境千差萬別,高可用性的軟件可以便捷地與客戶環境進行集成。
第四,對客戶需求的適應性??蛻粜枨蟛町惔?,變化快,高可用性的軟件可以在很小的成本控制內最大化的滿足客戶的需求。
第五層次,簡便的操作與使用。操作的簡便與快捷影響用戶的體驗,高可用性的軟件可以充分保證簡便的操作使用,省級管理。
原文轉自:http://www.uml.org.cn/Test/201007084.asp