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.
Some of these functional specifications and requirements apply to the project site as a whole:
- The Workstation Technologies website will adhere to the branding standards as set forth in the Workstation Technologies branding guidelines document
- Photographs of products will be high quality and in proper perspective as to allow for proper inspection
- The website will be written using valid XHTML & CSS while utilizing PHP & mySQL to generate pages
- The website will be able to be viewed on both Mac & PC computers
- Target browsers will be Firefox 2 & 3, Safari 2 & 3, Internet Exploder 7 & 8. Internet Exploder versions prior to 7 will not be supported
Other requirements may apply to a specific feature or set of features:
- History & General Information
- News & Press Release
- Mailing Address
- Phone Numbers
- Product Search
- Customer Login
- Shopping Cart
- Account Summary
- High Quality Product Photos with Slideshow including a 360º view of product
- Dimensions of product including but not limited to height, width, depth and weight
- Technical Specifications of product
- Product Manual download available in PDF format for all products
- Product Comparison feature where the user can see products side by side
- Customer Reviews
- Suggested Products
Customer Service Features:
- Help & FAQ
- Technical Support
- Software Downloads
- Technical Notes
- Service Tickets
- Order History
- 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.
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.