Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What Makes a Great Functional Specification Great?

What qualities made it so great, and what made it stand out compared to the not-so-great specs that you've had to deal with? Or, if you've never worked with a good functional spec before, what sort of things would you expect in a great spec?

Sorry this is obviously subjective but I'm creating a functional spec (not my first) and it just occurred to me that I may get some good ideas from the bright folks on SO!

like image 417
DSO Avatar asked Jun 08 '09 06:06

DSO


People also ask

What makes a good functional specification?

Functional specifications are an essential step in building quality software that you'll want to support over the long term. They define the requirements to be implemented in the software. A good specification needs to carefully describe how the software will look and behave in all situations.

What are the important things to consider when writing functional specifications?

Writing a functional specification Apart from that, a functional specification needs to include: Project scope – the goals, deliverables, features, tasks, costs, and deadlines of the project. Risks and assumptions – all the considerations that may impact the functional design of the product.

Why are functional specifications important?

Benefits of functional specificationsGives software engineers an accurate timeframe of the entire process. Allows transparency among all the stakeholders and members of the project. Helps non-technical project members understand various testing and development processes.

What should a functional specification document contain?

A Functional Specification Document (FSD) is a document designed to give an overview of how a software system, mobile app or web app functions. The document gives a detailed step-by-step outline of each item's functionality and flow.


1 Answers

The Project Aardvark specs from Joel on Software are the best I've come across so far. Each screen is defined very well, with pictures. The main features of the software are described, as well as some technical details.

Sadly the specs I've received personally aren't that brilliant. Usually they are just a bulleted list of features they expect from each section of the system, and they expect you to work out all the details. Which is fine, I guess. However, I'm writing a game design document for an RPG game I'm working on as a personal project, and I think the specs I'm writing are very well written. I've divided the game into Sections such as

  • Characters
  • Weapons & Armor
  • Levels
  • Map
  • Physics

and so on, and described each section in terms of gameplay as well as some technical details. Its very easy to work through.

I also highly recommend reading the Painless Functional Specs Series from Joel on Software for anyone interested in writing better specs.

like image 138
Ali Avatar answered Oct 18 '22 10:10

Ali