From zero to one - How we evolved our test automation processes and mindset i...
Agile UX is good, but can be better
1. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
在敏捷开发中
更好的做用户体验
廖振宇 JAMES LIAO
Agile UX is Good, But Can Be Better
Agile Community Taiwan
2. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
自我介绍
微软咨询部 – 用户体验顾问 + 应用程序开发员
专门从事给世界各國客户提供解决方案
Modern Apps Solutions Centers
国际NGO公益 – 美国总干事
通过互联网信息通讯技术,开发应用解决方案,
让每一个公众轻松、有效地参与到促进儿童信息
素养的公益事业中
3. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
敏捷管理员 ScrumMaster
产品负责人/产品经理 Product Owner
开发人员 Developer
测试人员 Tester/QA
用户体验 UX
你在工作中主要扮演的角色是什么?
4. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
什么是 “用户体验UX” What is UX
敏捷开发中UX的挑战 Challenges for UX in Agile
如何在敏捷开发中更好的融入UX Integrate UX into Agile
Sprint中UX的节奏 Sprint UX Cadence
UX用户故事 UX User Stories
用户需求的快速展望 (精益UX) Rapid Envisioning (Lean UX)
低成本的原型制作 Low-Cost Prototyping
团队设计讨论 Group Design Sessions
快速用户可用性测试 Quick Usability Tests
大纲
5. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
什么是 “用户体验UX” What is UX
敏捷开发中UX的挑战 Challenges for UX in Agile
如何在敏捷开发中更好的融入UX Integrate UX into Agile
Sprint中UX的节奏 Sprint UX Cadence
UX用户故事 UX User Stories
用户需求的快速展望 (精益UX) Rapid Envisioning (Lean UX)
低成本的原型制作 Low-Cost Prototyping
团队设计讨论 Group Design Sessions
快速用户可用性测试 Quick Usability Tests
大纲
9. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
“用户体验UX”为什么重要
想要的 vs 需要的
最终用户自己想要什么
与所需要的是什么,
会是两个不同的东西。
用戶體驗的重要性
10. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
找到用户最需,保证有人用
了解用户目的和动机,符合用户预期
了解现在用户的做事流程,确保使用方便
使效益和影响最大化,满足投资目的
UX的目的
11. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
什么是 “用户体验UX”
UX 是以用户为中心,以人为本
迭代增量式的设计开发过程
确保在开发过程中有效地让用户充分参与
从用户的视角来定义SOLUTION功能范围
UX是与商业策略、系统功能需求和技术规范互补的
12. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
什么是 “用户体验UX” What is UX
敏捷开发中UX的挑战 Challenges for UX in Agile
如何在敏捷开发中更好的融入UX Integrate UX into Agile
Sprint中UX的节奏 Sprint UX Cadence
UX用户故事 UX User Stories
用户需求的快速展望 (精益UX) Rapid Envisioning (Lean UX)
低成本的原型制作 Low-Cost Prototyping
团队设计讨论 Group Design Sessions
快速用户可用性测试 Quick Usability Tests
大纲
13. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
敏捷开发中UX的机会
以少做多
敏捷软件开发宣言 UX目的
个体和互动 高于 流程和工具 vs 用户充分参与
工作的软件 高于 详尽的文档 vs 保证有人用
客户合作 高于 合同谈判 vs 满足投资目的
响应变化 高于 遵循计划 vs 迭代增量式
以用户为中心,以人为本
14. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
需要一个完全形成的想法,每次構建一點點
增值式開發
敏捷开发中UX的机会
15. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
从一个模糊的想法添加细节直到完成
迭代式開發
敏捷开发中UX的机会
16. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
每次構建一點點,但一定要完成你所構建的內容,
迭代并增值式開發
敏捷开发中UX的机会
17. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
没有时间做UX调研和测试
Sprint时间表太紧张了
敏捷开发中UX的挑战
没有在开始编码之前
做好UX预备工作
18. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
× 团队不清楚最终用户角色,不了解用户
× UX在开发过程中被忽略
× UX是各个开发员编程中临时做的决定
× UX是编程后意外的一个结果
× 整个SOLUTION的UX会像拼凑起来的
× 缺乏统一的体验
× 最终UX来返修,重新设计,重新编UI
敏捷开发中UX的挑战
没有在开始编码之前
做好UX预备工作
19. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
UX Without User Research Is Not UX.
It is just X. UX – U = X
× 没有足够的用户调研,不确定用户需求
× 没有用户测试,没有及时得到用户反馈
× UX问题发现太晚,导致更多的代码需要
重新写
× 降低用户采用率,影响团队士气
× 增加项目失败的风险
敏捷开发中UX的挑战
没有时间做UX调研和测试
Sprint时间表太紧张了
20. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
什么是 “用户体验UX” What is UX
敏捷开发中UX的挑战 Challenges for UX in Agile
如何在敏捷开发中更好的融入UX Integrate UX into Agile
Sprint中UX的节奏 Sprint UX Cadence
UX用户故事 UX User Stories
用户需求的快速展望 (精益UX) Rapid Envisioning (Lean UX)
低成本的原型制作 Low-Cost Prototyping
团队设计讨论 Group Design Sessions
快速用户可用性测试 Quick Usability Tests
大纲
21. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
3个角色
产品负责人
Product Owner
敏捷管理员
ScrumMaster
开发人员
Developer
开发人员
Developer
开发人员
Developer
用户体验
UX Designer/Developer
22. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
用户故事
UX用户故事
3个工件
UX
用户角色
原型制作
设计
Scrum
产品 backlog
Sprint backlog
Burndown
23. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
用户需求的
快速展望
3个仪式
UX
Sprint 0
团队设计讨论
可用性测试
Scrum
Sprint 计划
每日立会
Sprint 审查与回顾
24. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
什么是 “用户体验UX” What is UX
敏捷开发中UX的挑战 Challenges for UX in Agile
如何在敏捷开发中更好的融入UX Integrate UX into Agile
Sprint中UX的节奏 Sprint UX Cadence
UX用户故事 UX User Stories
用户需求的快速展望 (精益UX) Rapid Envisioning (Lean UX)
低成本的原型制作 Low-Cost Prototyping
团队设计讨论 Group Design Sessions
快速用户可用性测试 Quick Usability Tests
大纲
25. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
需求 设计 开发 运营
用户需求的快速展望
愿景目标
团队设计讨论
+
快速用户可用性测试 用户反馈分析
UX
Scrum
愿景目标 维护 + 跟踪弄清需求
Scrum中UX的节奏
用户角色
用户旅程/
体验路线
Sprint 0
低成本原型制作
互动设计
UI设计样式
收集需求 Backlog分析汇总 UI 界面设计
27. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
Sprint中UX的节奏
Sprint 1 Sprint 2 Sprint NSprint 0
28. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
每星期UX的节奏
周一 周二 周三 周四 周五
9:00 每日立会 每日立会 每日立会 每日立会 每日立会
10:00
团队设计讨论 团队设计讨论
11:00
UX 开门办公时间 UX 开门办公时间 UX 展示解说
12:00
13:00
14:00
每周快速用户可用性测试
15:00
16:00
17:00
29. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
什么是 “用户体验UX” What is UX
敏捷开发中UX的挑战 Challenges for UX in Agile
如何在敏捷开发中更好的融入UX Integrate UX into Agile
Sprint中UX的节奏 Sprint UX Cadence
UX用户故事 UX User Stories
用户需求的快速展望 (精益UX) Rapid Envisioning (Lean UX)
低成本的原型制作 Low-Cost Prototyping
团队设计讨论 Group Design Sessions
快速用户可用性测试 Quick Usability Tests
大纲
30. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
3个角色
产品负责人
Product Owner
敏捷管理员
ScrumMaster
开发人员
Developer
开发人员
Developer
开发人员
Developer
用户体验
UX Designer/Developer
31. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
建立UX用户故事,并给予故事点:必须与其他用户故事写程序任务平等
作为【用户角色】,我想要【UX活动】,以便于【页面/环节/流程】。
低成本的原型制作 Low-Cost Prototyping
团队设计讨论 Group Design Sessions
快速用户可用性测试 Quick Usability Tests
UX用户故事
32. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
什么是 “用户体验UX” What is UX
敏捷开发中UX的挑战 Challenges for UX in Agile
如何在敏捷开发中更好的融入UX Integrate UX into Agile
Sprint中UX的节奏 Sprint UX Cadence
UX用户故事 UX User Stories
用户需求的快速展望 (精益UX) Rapid Envisioning (Lean UX)
低成本的原型制作 Low-Cost Prototyping
团队设计讨论 Group Design Sessions
快速用户可用性测试 Quick Usability Tests
大纲
33. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
需求 设计 开发 运营
用户需求的快速展望
愿景目标
团队设计讨论
+
快速用户可用性测试 用户反馈分析
UX
Scrum
愿景目标 维护 + 跟踪弄清需求
Scrum中UX的节奏
用户角色
用户旅程/
体验路线
Sprint 0
低成本原型制作
互动设计
UI设计样式
收集需求 Backlog分析汇总 UI 界面设计
34. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
一周(5天)的时间:把所有的用户角色代表都聚集在一起。
各种基于场景的分析,根据每一个用户角色,以用户为中心,以人为本
什么是“场景”?在一个人物角色期望得到某些东西或者达到某些目的时
候而要做的事情。帮助链接工作目的与IT技术所能提供的能力。从中看
到可能存在的缺口。
什么不是“场景”?不是要覆盖所有的工作流程,也不是要定下任何工作
流程,更加不是讨论任何具体软件界面的使用流程。
用户需求的快速展望过程:精益UX
现在的
状况
将来的
愿景
用户
人物角色
用户
体验路线
用户
情境式调研
用户
服务蓝图
用户故事需求
分出轻重缓急
44. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
作为【用户角色】,我想要【活动】,以便于【目的/价值】。
【必须的】 【需要的】 【可以有】
【必须的】作为图书室管理员,我想要录入、更新、删除图书信息,以便
于我对图书室书目的管理。
【需要的】作为图书室管理员,我想要上传图书室的读者信息,图书信息,
与借阅信息到捐书网,以便于公开图书室运作的透明。
【可以有】作为图书室管理员,我想要用手机来扫条形码,以便于不需要
扫描枪就可以输入索书号与读者号。
现在的
状况
将来的
愿景
用户
人物角色
用户
体验路线
用户
情境式调研
用户
服务蓝图
用户故事需求
分出轻重缓急
乡村阅读解决方案展望过程案例
45. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
调整适应用户详细记录
在用户正常环境中至少二个人:UX+1 提前设置期望值 可靠的用户角色代表
时间限制每个环节不谈技术细节
用户需求的快速展望成功法则
47. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
什么是 “用户体验UX” What is UX
敏捷开发中UX的挑战 Challenges for UX in Agile
如何在敏捷开发中更好的融入UX Integrate UX into Agile
Sprint中UX的节奏 Sprint UX Cadence
UX用户故事 UX User Stories
用户需求的快速展望 (精益UX) Rapid Envisioning (Lean UX)
低成本的原型制作 Low-Cost Prototyping
团队设计讨论 Group Design Sessions
快速用户可用性测试 Quick Usability Tests
大纲
48. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
纸上的简易原型 Paper Prototyping
https://vimeo.com/2273993
花小錢辦大事
49. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
纸上的简易原型 Paper Prototyping
低成本,性价比高
简单,谁都可以画
可以迭代式修改
用户/客户会更愿意
给建议,觉得“便宜”
不用在美观细节上
浪费很有可能将来
都不需要的UI
不占用程序员开发
时间,不浪费代码
50. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
纸上的简易原型 Paper Prototyping
51. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
纸上的简易原型 Paper Prototyping
54. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
什么是 “用户体验UX” What is UX
敏捷开发中UX的挑战 Challenges for UX in Agile
如何在敏捷开发中更好的融入UX Integrate UX into Agile
Sprint中UX的节奏 Sprint UX Cadence
UX用户故事 UX User Stories
用户需求的快速展望 (精益UX) Rapid Envisioning (Lean UX)
低成本的原型制作 Low-Cost Prototyping
团队设计讨论 Group Design Sessions
快速用户可用性测试 Quick Usability Tests
大纲
55. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
每星期UX的节奏
周一 周二 周三 周四 周五
9:00 每日立会 每日立会 每日立会 每日立会 每日立会
10:00
团队设计讨论 团队设计讨论
11:00
UX 开门办公时间 UX 开门办公时间 UX 展示解说
12:00
13:00
14:00
每周快速用户可用性测试
15:00
16:00
17:00
56. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
团队设计讨论
保证团队对特别复
杂的用户故事需求
达成共识
帮住团队准备将要
接下来开发的需求
流程和任务
收集团队的知识
更多的设计思路
提高团队协作能力
增加团队默契
57. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
时间 活动 任务
2' 场景讨论 介绍将所要设计的用户故事细节以及场景
2' 无声的头脑风暴 各自在纸上写下2-4个解决的想法
1' 分享解决想法 各自用10"时间来相互分享觉得自己最好的解决想法
10' 纸上的简易原型 各自画原型,确保符合场景,目的是为了满足用户故事
10' 认知走查 依次轮流相互介绍自己原型的用户使用路线,相互给予意见
5' 讨论优点 总结所有原型中的设计优点,并记录下来
团队设计讨论
59. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
什么是 “用户体验UX” What is UX
敏捷开发中UX的挑战 Challenges for UX in Agile
如何在敏捷开发中更好的融入UX Integrate UX into Agile
Sprint中UX的节奏 Sprint UX Cadence
UX用户故事 UX User Stories
用户需求的快速展望 (精益UX) Rapid Envisioning (Lean UX)
低成本的原型制作 Low-Cost Prototyping
团队设计讨论 Group Design Sessions
快速用户可用性测试 Quick Usability Tests
大纲
60. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
每星期UX的节奏
周一 周二 周三 周四 周五
9:00 每日立会 每日立会 每日立会 每日立会 每日立会
10:00
团队设计讨论 团队设计讨论
11:00
UX 开门办公时间 UX 开门办公时间 UX 展示解说
12:00
13:00
14:00
每周快速用户可用性测试
15:00
16:00
17:00
61. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
为什么需要快速用户可用性测试
猜
更频繁的用户测试,可以让客户对开发出来的解决方案更加了解。
越早发现错误,越有可能修复。越晚开始测试,越有可能增加项目
失败的风险。
更多的用户测试,能让团队更加了解用户/客户。
邀请开发团队成员、产品经理、项目管理、等参加无声观察用户测
试,可以提高整个团队对项目的认知。
62. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
纸上的简易原型 Paper Prototyping
63. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
纸上的简易原型 Paper Prototyping
64. 在敏捷开发中更好的做用户体验(UX) | Agile UX is Good, But Can Be Better Agile Community Taiwan
纸上的简易原型 Paper Prototyping
用户感觉有多么容易和满意不完全是主观的,因为多么容易和满意是可以通过用户需求调研 User Research 与用户测试 User Testing 来测量的。
UX是人机互动Human Computer Interaction (HCI),工业设计industrial design,与美术 fine arts的跨界的结合。
Duration: 2 minutes
Incremental Development uses a set number of steps and development goes from start to finish in a linear path of progression. If you stop at any stage, you still have a nice picture but the drawback is that you need to know what the final image is going to look like when you start. Fixed scope, not how scrum works.
There is little flexibility for changing requirements/priorities or for learning and adapting.
This model can be used when the requirements of the complete system are clearly defined and understood.
Duration: 2 minutes
Iterative Development: You don’t need to know what final picture will look like to get started and make progress but the drawback is that if work stopped at any stage, nothing would be complete
Incremental approaches attempt to eliminate the wasted time/resources by treating the code itself as the specification. Instead of running the paper spec through multiple revision steps, the code itself goes through multiple cycles of revision. The team members or stakeholders can learn from their mistakes and apply that knowledge on the next iteration.
One of the main advantages of iterative development is that it allows more flexibility to adapt to changes. Unlike the waterfall model where unforeseen problems often surface late in the project and are very costly to fix, iterative approach, on the other hand, goes through short cycles that allow the team to learn, adapt and change the direction in the next iteration.
Duration: 2 minutes
Iterative development with incremental delivery
The basic idea is to release the software several times to its users, each time with more functionality. Each release is complete, useable and useful to its users. Each release adds more functionality, preferably the most important functionality first
Iterative & Incremental development: Here, you can stop at (almost) any stage and deliver a functioning (beautiful) product. You don’t need to know what final product will look like at start, emerges over time. The key is to build a little at a time, but always complete what you build.