WEB202 » Functional Specifications

The process of defining your scope is valuable in the aspect that it will force you to address potential conflicts and rough spots in the project while the whole project is still somewhat hypothetical. If the scope is not clearly defined you may end up with a project that is ever-changing and a complete mish-mash of ideas that never come to fruition.

If you write out a description of exactly what you are setting out to build, everyone on the team will know what the project goals are and when they have been reached. By defining a set of requirements of what you are building allows the dividing of responsibilities to be more efficient. Also knowing what you are not building right now will allow for scheduling for milestones down the road.

What are we going to make and how?

After we have figured out why we are making the site, we then need to figure out exactly what are we going to make and how. We need to ask ourselves what would be considered the “feature set” of our project while dealing with the content of our site.

The functional aspect of our scope is defined as our functional specifications document what are project site is actually going to “do” given our goals that we laid out during the strategy plane.

There are many purposes for functional specifications. One of the primary purposes on team projects is to achieve some form of team consensus on what the program is to achieve before making the more time-consuming effort of writing source code and test cases, followed by a period of debugging. Typically, such consensus is reached after one or more reviews by the stakeholders on the project at hand after having negotiated a cost-effective way to achieve the requirements the software needs to fulfill.

  1. To let the developers know what to build.
  2. To let the testers know what tests to run.
  3. To let stakeholders know what they are getting.

Some of these functional specifications and requirements apply to the project site as a whole:

1) Branding: Specifications relating to your brand as a whole.

For Example:

2) Technical: What technologies are you using to build this?

For Example:

Said Project will be produced by the Vendor with the following technology requirements:

  1. Markup Code: Markup code for said Project will be written in valid HTML5 as to control the structure of website components. Said markup code will adhere to standards as set forth by the W3C.
  2. Presentation Code: Presentation code for said Project will be written with Cascading Style Sheets (CSS) as to control the design and layout of the website components. Said Presentation code will adhere to standards as set forth by the W3C
  3. Client-Side Scripting: Client-Side Scripting code for said Project will be written in Javascript as to control website item applications.
  4. Server-Side Scripting: Server-Side Scripting code for said Project will be written in PHP as to control elements that interact with the server and database component.
  5. Database Component: Database components for said Project will be written in MySQL as to control functionality that stores and retrieves content data.

See Also:

Other requirements may apply to a specific feature or set of features:

3) Informational: What types of information on your business to you need to include?

For Example:

  1. History & General Information
  2. News & Press Release
  3. Mailing Address
  4. Phone Numbers

4) Customer Tools: What types of tools do your visitors need to complete their tasks?

For Example:

  1. Product Search
  2. Customer Login
  3. Shopping Cart
  4. Account Summary

5) Product Features: What types of features does your product detail page need to include as to satisfy user questions?

For Example:

  1. High Quality Product Photos with Slideshow including a 360º view of product
  2. Dimensions of product including but not limited to height, width, depth and weight
  3. Technical Specifications of product
  4. Product Manual download available in PDF format for all products
  5. Product Comparison feature where the user can see products side by side
  6. Customer Reviews
  7. Suggested Products

6) Customer Service Features: What types of customer service features does your site need to include to fully support your users in continuing to be loyal customers?

For Example:

  1. Help & FAQ
  2. Technical Support
  3. Software Downloads
  4. Technical Notes
  5. Service Tickets
  6. Order History
  7. Shipping & Tracking

By writing out these requirements and exploring different suggestions and ideas, you will find that you may come to completely different requirements to solve the problems than you had imagined. The level of detail you will find yourself describing in your requirements will depend on the user audience and the level of complexity of scope in your project.

See Also: 

We must ask ourselves:

  • What can our site do to make the process of X,Y & Z easier for our customers?
  • How would our target audience like to see the problems solved vs. how we think it should be solved?
  • What features are they asking for that we are not providing?

By imagining our target users coming to our site and performing tasks we will start to build user scenarios—short and simple narratives describing how one of our personas might try to fulfill a task that they are setting out to perform.

Let’s Look at an example…

Scenario: The user would like to set up a SugarSync account to share a large file with a team member for a class project. The team member has an email account, but has indicated that they do not want to set up an account with SugarSync. The user does not feel comfortable entering credit card information and has no immediate need for larger than 5GB of storage. The computer the user is working on is not their own, so installing an application is not an option for them.

Tasks: 1) Please go to SugarSync and create a new account where you don’t have to enter credit card information. 2) Create a new folder on SugarSync that will be used to house files you will share. 3) Upload and a share a file with the moderator (who is not a member) via email.

Design Recommendations: Based off of the Business Goals & User Needs, we were able to come up with several design recommendations after testing the SugarSync sign-up process.

This portion of the Premium Design Works website is written by Mike Sinkula for the Web Design & Development students at Seattle Central College and the Human Centered Design & Engineering students at the University of Washington.