代码改变世界

Tutorial: Functional Specification—Introduction

2011-12-06 16:04  一一九九  阅读(418)  评论(0编辑  收藏  举报

From: http://www.mojofat.com/tutorial/

 

what is A Functional Sepcification?


Functional specifications (functional specs), in the end, are the blueprint for how you want a particular web project or application to look and work. It details what the finished product will do, how a user will interact with it, and what it will look like. By creating a blueprint of the product first, time and productivity are saved during the development stage because the programmers can program instead of also working out the logic of the user-experience. It will also enable you to manage the expectations of your clients or management, as they will know exactly what to expect.

functional specifications(function specs) 是一个具体的Web项目或应用程序的最终的呈现和功能的蓝皮书。(in the end , are the blueprint for how you want a particular web project or application to look and work). Spec详细描述了一个完成的产品的功能列表,用户如何和此应用程序进行交互,以及该应用程序如何呈现。 通过编写产品的蓝皮书能够节省开发工程中的时间,提高开发效率,因为程序员能够集中于程序设计而不是猜测用户体验的逻辑。Spec也能够协助你管理用户或者经理的期望,因为这样的话他们知道他们明确的想要什么。

Why  write a functional Spec?

A key benefit of writing up a Functional Spec is in streamlining the development process. The developer working from the spec has, ideally, all of their questions answered about the application and can start building it. And since this is a spec that was approved by the client, they are building nothing less than what the client is expecting. There should be nothing left to guess or interpret when the spec is completed...and this, in a nut, explains my love affair with the Functional Spec.

Joel on Software has a very good analysis of why Functional Specs should be written.

编写Spec的关键价值点在于使开发过程流畅,理论上,程序员从Spec开始就已经得到了所有的关于应用程序的问题,能够开始构建应用程序,而且,既然这个Spec是被用户认可的,程序员构造的也是用户期望的内容。 当Spec完成的时候应该没有需要猜测和解释的内容,简而概之,这是我喜欢Spec的原因。

Who writes  a Functional Spec?


The functional spec should be written by someone who is not involved in any other aspect of the project. You will want somebody who is very familiar with user-interface issues and web design, familiar enough with technology to know its limitations and capabilities, and someone who is a very skilled and detailed writer. While writing a spec, you will spend much of your time imagining how a user might use a certain feature and how they may navigate their way through the information. Not only do you need to map this world out visually, but you also have to write out in great detail what this world does; all the while, balancing everything within the current technological limitations and business demands. The functional spec writer's sole concern is marrying the user-experience with the various departmental, business, and technical requirements of the project.

Spec应该是由专人编写的, 需要此人熟悉用户交互、Web 设计、对技术十分了解知道技术的限制和能力,并且是熟练的详述的作者。当编写Spec的时候,你主要将精力投在了构想用户会怎样使用一个特定的功能,用户会怎么根据信息进行导航。 不仅仅需要你将世界可视化,也需要明确应用程序是如何做的。 同时,需要平衡目前技术的限制和业务要求。 Spec的编写者需要关注项目相关的用户的体验,商业,技术等。

Creative Commons License
Functional Spec Tutorial by Allen Smith is licensed under a Creative Commons Attribution-Noncommercial 3.0 United States License.
Based on a work at www.mojofat.com.