如何快速有效地编写功能说明


17

因此,我只是在这里阅读了Joel的一些精彩文章。(写于2000年!!)我阅读了全部4部分,但是我正在寻找一些系统的方法来编写我的规范。

我是唯一一个孤独的开发人员,他为一家非常著名的金融公司从事这个相当复杂的应用程序(或应用程序系列)。

我从来没有做过这么严重的事情,我开始写一些类似糟糕的规范之类的东西,这浪费了我很多时间。

我还为客户制作了3个样机样的东西,所以我对他们想要的东西有很好的了解。还发布了预览版(带有最基本工作流程的废弃应用程序),并且我仅编写和测试了一些非常核心/基本的系统。

我认为到目前为止,我一直犯的错误不是写详细的规范,所以我现在就开始做。

所以整个事情包括

  • MVC网站(用于管理员和数据查看)
  • 2个Silverlight模块(用于2个特定任务)
  • 1个桌面应用程序

我的时间,资源都非常短缺,需要快速完成此工作,还需要确保这些人同样快速,轻松地阅读。

  • 那么如何做我去一下,我正在寻找任何提示,任何现实世界的东西,怎么做你们平时做呢?
  • 您是否对每个对话框/表单/页面都进行了模拟筛选?

我正在考虑制作一个虚拟的ASP.NET Web窗体项目,然后在文件夹中填充HTML文件并使它看起来像我的MVC URL结构。

然后在网站的规范中列出一个部分,并为我与Screenie在一起的每个URL编写一个页面。

对于我赢窗体应用程序,我做了有些演示赢形式的项目,我会再放入一个对话框或结构的一切,我会在真正的应用程序,然后截屏呢?


对于这个问题有一些背景知识。我一直是一个疯狂的跳到代码的家伙,工作正常,但对于我正在开发的应用程序,它不仅复杂,而且对于一家非常知名的大型公司来说,我必须得到它对!

(到目前为止进展顺利,今天我给出了很多人喜欢的预览版本的演示!= D)

如果我确实获得了最初的设计权利,那么我将对该公司也有一个不错的生意,已经有很多人在考虑新的“很棒的”功能,他们准备为此付费。


这是给你的吗?客户有要求吗?您是否期望更多开发人员加入团队?
JeffO 2011年

它主要是帮助我的发展。每当我们讨论过时,我时不时会有随机的财务人员告诉我“哦,我们应该做xxx或yyy”,然后有时在某些会议中,人们只是建议随机特征,最糟糕的是,我从来没有合适的方法添加额外的功能需要额外的费用,因为我之前所谓的规范只是摘要!基本上,当您不编写规范时,乔尔·斯波斯基(Joel Spolsky)在他的文章中提到的大多数问题都没有。
gideon

Answers:


22

您是否阅读了文章的第2部分或他的样本规范?在编写规范时,它们体现了几个重要原则。

  • 不要过度设计。编写规范的目的是迫使您考虑重要的事情,例如发生错误时会发生什么以及您希望用户如何与系统进行交互。您无需花太多精力就能得到可以使用的东西。不过,您确实需要详细信息。
  • 这是关于沟通的。规范的目的是就需要做什么达成共识。这不是铁定的文件,需要法律效力。它是一种工具,可帮助您更好地了解您的客户,以及您的客户更好地了解您想为他们做些什么。

最好的建议是写足够的文字,以便您清楚自己需要做什么。如果您有未解决的问题,请在规范中记录下来,并从客户那里得到答案。一旦您充分了解需要什么,就停止

如果您不小心,该文档将自成一体。它应该有一个目的,不要在文档中添加任何不符合该目的的内容。它应该易于维护。如果您拥有整个详细的类图以及真正属于单元测试的其他细节,您将由于维护过多而放弃文档,或者永远无法完成项目。


关于写作

为人写作很难。实际上,关于写作的两个最困难的事情是知道如何开始以及何时停止。开始时,您只需要做一些事情。我对处理这两个最困难方面的建议是:

  • 了解你的听众。谁应该阅读规格?如果只有您和客户,那就是您要写的信。如果您有负责测试的人员,那么也会为他们提供一些注意事项。
  • 从最高优先级的东西开始。尽管身份验证很重要,但登录屏幕可能是大多数人必须写的最容易理解的部分。而是专注于用户最需要的功能。您知道,那部分使他们赚钱,这是他们需要软件的全部原因。
  • 在出现问题时填写详细信息,您会得到答案。如有必要,请用餐巾纸图纸使事情变得非常简单,直到服务对象满意为止。重要的是要知道所涉及的信息以及它们将如何使用它们。
  • 停止增加价值并没有增加价值。规范中有些您不想要的细节。您需要知道何时拥有正确的事物。您不需要知道在名为“ albaquerque”的方法中有一个变量。那是源代码,而不是规范内容。

+1感谢您的回复。是的 我确实阅读了Joels文章的所有4部分。那么整个筛选过程如何,我是否首先要创建虚拟的页面和表单?这样我知道我需要写什么?还是我开始写作?
gideon

从您所知道的开始。保持简单,以免陷入困境。如果您沿着那条路走,则需要别人的帮助(这需要时间,而您没有)。尽管很容易理解漂亮的规格,但您还有很多工作要做。
Berin Loritsch 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.