7

最近,我收到了潜在客户对非常复杂的 Web 应用程序的请求。
他们希望我在“真正的”作品开始之前写一个规范。
在他们看来,规范应该只是描述应用程序和数据库的词语。
我发现最好的方法是“绘制”或“构建”应用程序将具有的屏幕原型(html 比写一本书更容易,特别是如果您仅在此阶段使用 WYSIWYG ......标准并不重要这点)。

当您的眼前有一个屏幕时,您会立即清楚哪些元素应该是(日历/照片库/主要链接、搜索框等)

那么,我的方法错了吗?还是客户不知道正确的做事方式?

4

8 回答 8

8

虽然我同意您需要就正在构建的系统的范围和成本达成一些广泛的协议,但我认为认为您可以在将系统交到客户手中之前对其进行完全规范是抓住了稻草。正如您所发现的,客户通常在真正看到之前并不知道他想要什么。解决这个问题的一种方法是使用模型,就像您习惯做的那样。我在设计和规划期间也使用它们。

然而,大多数情况下,您需要将实际产品交到客户手中,以获得关于哪些有效、哪些无效的不可避免的反馈。你最好早点而不是晚点这样做,因为在开发后期发生的变化更加困难和昂贵,至少在传统方法中是这样。使用一种敏捷的方法可以尽早并经常地交付工作软件,并结合足够的计划和文档来获得更好的客户反馈,而不是迭代客户可能发现他们不想要(或至少想要他们)的产品的大量规范他们说的方式)。

我建议您需要一些文件来概括项目的范围。足以让您就系统的组成部分和不组成部分达成一致。例如,如果您正在构建一个库存管理应用程序,他们不应该期望同时获得一个客户关系管理系统。然后,应用敏捷开发方法中的技术,以轻量级的方式跟踪所需的功能,并尽早并定期将一些工作代码交到他们手中。这将需要各方的信任,因此您可能希望从小项目和时间表开始,并建立这种信任。

于 2009-06-04T14:04:11.533 回答
6

规范是项目中最重要的部分(要做的时间最长)。它告诉您(和您的客户)您正在构建什么以及他们为您支付的费用

完成构建然后发现客户有不同的想法是没有好处的。规格确保你们都从同一本书中阅读。在其中捆绑一些 GUI 想法也是一个好主意。

底线是,您和客户都需要在工作开始之前知道会发生什么。您的屏幕和模型应该是更广泛规范的一部分

对于大型应用程序,您的方法似乎有点破旧。他们的期望对我来说似乎是正确的。

于 2009-06-04T13:48:57.290 回答
3

我在Balsamiq中使用屏幕模型。它展示了总体外观和用户体验,而不会偏离设计美学

于 2009-06-04T13:54:04.737 回答
2

首先,您的术语错误。在您的问题标题中,您问“设计Web 应用程序的正确方法” - 但请注意:您的客户要求您为应用程序编写规范

规格不等于设计。尝试将它们等同起来是危险的。

正如另一位回复者所说,规范是为了让您和您的客户都知道正在构建什么。设计是如何建造它的艺术。

规格通常不包括模型。简而言之,它们包括准确描述软件应该做什么的语句。请注意,这与它应该如何做有很大不同。对于 Web 应用程序,我认为模型应该在设计阶段完成。所以是的,要回答你的问题,你的方法是不正确的。

我建议您查看 Wikipedia 上的这篇文章,以获取有关规范是什么的更多信息。

编辑: 虽然我所说的在技术上是正确的,正如 tvanfosson 指出的那样,在开始开发之前很难完全规范一个系统。我建议您通读他的回答,并与您的客户讨论采用更现实的方法。

于 2009-06-04T14:20:00.190 回答
1

每个人都有不同的软件开发方法。您的方法与您的客户的方法一样可行。但是,由于您的客户是付钱给您的人,因此我建议您遵守他们的标准或建议您的方法,看看他们的反应。

于 2009-06-04T13:45:12.990 回答
1

您可能会发现以下文章对您的交流很有用:

请记住,如果它可以帮助您考虑其余部分,您仍然可以自己模拟 HTML。在很大程度上,HTML 设计将由您决定。

就个人而言,我是FITFitnesse规格的粉丝。它们使更新变得更容易,并包括一些测试来验证代码是否符合规范。

要记住的另一件事是,通常客户并不完全知道他们想要什么,所以即使有完整的规范也不认为它是完全固定的。

于 2009-06-04T13:57:56.477 回答
1

用户界面不是应用程序最重要的部分,过早关注这部分可能会导致错误的假设,并根据界面而不是功能强加选择。

我建议首先关注功能,以便同意应用程序的预期功能,而不是它在屏幕上的外观。界面会及时改变,客户希望这个按钮在左边而不是在右边,颜色是蓝色的,不是黄色的,这个文本框更大,不同的字体,这些是以后的细节,如果你提供一个带有规格的界面您冒着讨论这些次要细节而不是重要功能的风险。

看看Applying UML and Patterns,我认为它可能有用。“极限编程”系列中的一本书也不错,我稍后会检查到底是哪一本。

于 2009-06-04T14:13:38.363 回答
1

您可能想看看以下问题的答案,虽然问题是针对中等大小的,但它仍然可能相当复杂:

要问一个想要完成中型网站的人的基本问题是什么?

您是否问过客户为什么不鼓励使用图表或原型屏幕截图?他们可能有自己的原因,例如试图在“真正的”工作开始之前限制完成的工作量。作为一个想法,假设他们之前已经与其他人一起制定了规范并且对该过程感到满意,那么这并不是那么糟糕。如果这对他们来说是新的,那么可能值得讨论一下为什么你想要这些原型,例如,有时单词是可以解释的,这比图片容易显示的一千个单词更容易用图片解决。

于 2009-06-04T14:18:19.133 回答