37 Signal 的Getting Real让我相信,线框图和编写功能规范文档是构建 Web 应用程序和动态网站所不需要的中间步骤。
这些步骤的开销值得吗?在 HTML/CSS 甚至是 PhotoShop 文档中进行原型设计(以便设计师可以直接处理它们)是否比使用 Visio 等软件更好?就个人而言,我倾向于后者,但不确定。
37 Signal 的Getting Real让我相信,线框图和编写功能规范文档是构建 Web 应用程序和动态网站所不需要的中间步骤。
这些步骤的开销值得吗?在 HTML/CSS 甚至是 PhotoShop 文档中进行原型设计(以便设计师可以直接处理它们)是否比使用 Visio 等软件更好?就个人而言,我倾向于后者,但不确定。
“计划失败就是计划失败” - 或类似的东西。
线框图不仅限于网络应用程序;它广泛用于任何需要对任何系统进行高级概述的地方(它只是被称为其他东西)。
功能规格,当您知道要做什么以及如何去做时,确实是矫枉过正。您的意图的高级图表就足够了。它永远不会是不必要的。它主要帮助您专注于您想做的事情的范围和意图/目标。
重点应该放在防止浪费精力上——在中途发现一些重要的、影响所有其他对象的东西丢失不是你想要发现的。在这种情况下,线框图将有助于检测大多数主要功能需求。您只需要在绝对需要的地方详细说明功能规范。使用 Photoshop 来设计你也将是“浪费精力”——使用带有 CSS/HTML 的进化原型(RAD 技术)要好得多——但仍然可以用笔和纸模拟你的意图。
37Signals 甚至提倡跳过 Photoshop 直接使用 HTML。请参阅http://www.37signals.com/svn/posts/1061-why-we-skip-photoshop。我同意他们对预先规划的评估。从长远来看,我认为花时间在 HTML/CSS/JS 中构建工作原型是不值得的。
在现实生活中,您希望避免寻找“理想”的做事方式。而是将您所理解的内容用于明确和具体的目的。
样机可以为您节省大量时间和精力。因为它们可能只是您花在创建和维护它们上的额外时间。
现实生活中的例子#1:样机拯救了一天。政府的大系统,期限是荒谬的。
原因: 几个月过去了,各种架构文件实际上是完全没有必要的,因为硬件和软件架构都被固定在最微小的细节上,实际上已经存在。
解决方案:与客户一起疯狂地创建模型 20 天,直到我们简单地将带有笔记的屏幕交给开发人员。开发人员确实不得不要求一些澄清,但由于具有固定的架构和清晰可视化的需求,他们能够立即开发出所需的大量功能。
现实生活中的例子#2:样机毁了一天。“认识到”对模型的需求的大型政府系统。
这显示了人类(或公司?)将世界上最好的东西变成噩梦的能力。
大政府机构请大顾问公司带领大IT公司解决问题。政府机构还建立了一个由政府主题专家组成的大型特设机构,以帮助和加快这一进程。
几个月过去了,在决定使用适当的方法和使用它们的正确方法方面。当然,为了不伤害任何人的感情或重要性,做出了各种妥协。
结果:Sw 架构将成为包括模型在内的所有内容的来源。首先设计,然后绘制。从 OOAD 和序列图映射操作,制作 UX 图,然后识别 UI 逻辑对象和内容包,绘制实际屏幕并将其合并到正式用例中,在每月一次的正式研讨会中向用户展示 UC,这些研讨会兼作需求验收会议,因为有人发现时间在流逝。
在那些研讨会上,即使强制客户也无法理解(高度正式的,有许多描述数据属性的表格等)UC,每个大约 30 页长。当客户有一些反馈时,它是在模型上。但不鼓励反馈,因为模型的任何更改都会导致更改序列图、组件图、操作模型、UX 图、检查可追溯性矩阵、更新 UC 文本等。而且只是为了获得更多反馈。(“该死的客户,他们永远不会满足。”是摩托车)。在推出功能有限的 v1.0 之后,没有人再关心文档了,文档太多了。开发者们为自己的生命而战,每天都在做无数的小改动,
这不是使用模型的方式。该项目比计划持续了近 2 年。
换句话说,不要寻找理想的方法。或者任何你不理解的方法。你目前的目标是什么?您知道实现该目标的最快方式是什么(其他方式不算在内)?去吧。
这可能取决于您与谁一起工作。如果是您和设计师,那么功能规格可能会太麻烦。但是,在我的工作中,高管们想准确地知道他们在项目结束时会得到什么,因此我们很难实施迭代开发。通常迭代是用线框、功能规格和模型定义的..:)
做线框图的主要目的是阐明需求。清楚地记录需求总是可取的,没有比可视化需求更好的方法了。线框在这里有很大的帮助,它让产品所有者(客户)清楚地了解最终产品的期望。在得到产品负责人的批准后,它还可以让开发团队更清楚地了解要开发的内容。在某种程度上它可以节省大量的开发时间并避免冲突。在我看来,即使项目很小,线框对于顺利执行项目也总是有用的。
我相信这取决于你对自己想要做什么的理解程度。如果您正在为客户工作并且他们没有在需求方面表达太多,您可能需要一种具有极快迭代的方法。如果你已经有了很好的理解,并且可以产生更实质性的东西,而不必担心因为方向错误而将其丢弃,那么可以花费更多的时间。无论哪种方式,可点击的原型都可以在很大程度上确定真实站点最终需要什么。如果您可以就原型达成一致,那么当您的应用程序与原型匹配时,您就知道它是完整的。