What Makes a Great Software Requirements Specification?

There are many good definitions of System and Software Requirements
Specifications that will provide us a good basis upon which we can both
define a great specification and help us identify deficiencies in our
past efforts. There is also a lot of great stuff on the web about
writing good specifications. The problem is not lack of knowledge about
how to create a correctly formatted specification or even what should
go into the specification. The problem is that we don’t follow the
definitions out there.

We have to keep in mind that the goal is not to create great
specifications but to create great products and great software. Can you
create a great product without a great specification? Absolutely! You
can also make your first million through the lottery – but why take
your chances? Systems and software these days are so complex that to
embark on the design before knowing what you are going to build is
foolish and risky.

The IEEE (www.ieee.org) is an
excellent source for definitions of System and Software Specifications.
As designers of real-time, embedded system software, we use IEEE STD
830-1998 as the basis for all of our Software Specifications unless
specifically requested by our clients. Essential to having a great
Software Specification is having a great System Specification. The
equivalent IEEE standard for that is IEEE STD 1233-1998. However, for
most purposes in smaller systems, the same templates can be used for
both.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s