知识卡片

水平抛弃原型:低成本启发真实需求

普通读书笔记卡

内容

水平抛弃原型是[[原型技术的二维分类]]里最常用的一种,用途建立在一个经验判断之上:大多数用户其实并不清楚自己想要什么样的系统、需要怎样的功能来完成工作;反倒是当用户切实看到一个类似的软件系统时,他们给出的反馈和评价里蕴藏着更多真实的需求——哪怕用户看到的是一个他们极其不喜欢的原型,也会说出”我更喜欢怎样”这类有价值的信息。这解释了为什么”先做出个能看的东西给用户看”比”反复开会讨论抽象需求”更有效:抽象讨论要求用户凭空想象一个还不存在的系统,而具体原型把想象的负担从用户身上卸下来、转成了”评价一个已经摆在眼前的东西”,后者对大多数人而言容易得多。水平抛弃原型的开发极其强调”通过故意忽略其他方面要求来降低成本”——大多数用于需求启发的水平抛弃原型只关注模拟界面布局和界面流转情况,真正的业务逻辑不实现,也不接任何真实数据库。正因为不追求真实业务逻辑,水平抛弃原型可以用各种轻量级工具快速搭建:可视化设计工具(FrontPage、Dreamweaver)、RAD开发环境(VB、Delphi、JDeveloper)、脚本语言(PHP、JSP、Python甚至纯HTML),甚至白纸加画笔(或用Photoshop、Visio、Word、Excel代替)都可以。这条原则的可迁移价值在于:任何”用户说不清自己要什么”的场景,都值得考虑先做一个刻意简化、成本极低、随时可扔的原型,用具体的东西换取用户更真实、更容易表达的反馈,而不是执着于在需求讨论阶段就把一切都想清楚。

参考来源

- 位置:《软件架构设计:程序员向架构师转型必备》第11章《架构验证》"11.1.2 水平抛弃原型"节(源文件:_epub-src/OEBPS/text00014.html) - 结论依据:原文说明"大多数用户都不清楚他们想要什么样的系统……反倒是当切实地看到类似的软件系统时,通过他们的反馈和评价获取的信息中蕴藏着更多真实的需求",并列出FrontPage、RAD开发环境、脚本语言、白纸画笔等快速开发水平抛弃原型的具体手段,直接支撑本卡片结论。 - 原始内容:大多数用户都不清楚他们想要什么样的系统,以及他们到底需要怎样的功能来辅助他们更好地完成工作任务;反倒是当切实地看到类似的软件系统时,通过他们的反馈和评价获取的信息中蕴藏着更多真实的需求。