Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the bwp-google-xml-sitemaps domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/techk683/public_html/wp-includes/functions.php on line 6114

Deprecated: Function get_theme_data is deprecated since version 3.4.0! Use wp_get_theme() instead. in /home/techk683/public_html/wp-includes/functions.php on line 6114

Deprecated: Non-static method Mysitemyway::init() should not be called statically in /home/techk683/public_html/wp-content/themes/awake/functions.php on line 17

Deprecated: Non-static method Mysitemyway::constants() should not be called statically in /home/techk683/public_html/wp-content/themes/awake/framework.php on line 19

Deprecated: Non-static method Mysitemyway::functions() should not be called statically in /home/techk683/public_html/wp-content/themes/awake/framework.php on line 20

Deprecated: Non-static method Mysitemyway::extensions() should not be called statically in /home/techk683/public_html/wp-content/themes/awake/framework.php on line 21

Deprecated: Non-static method Mysitemyway::classes() should not be called statically in /home/techk683/public_html/wp-content/themes/awake/framework.php on line 22

Warning: Declaration of mysiteDescriptionWalker::start_el(&$output, $item, $depth, $args) should be compatible with Walker_Nav_Menu::start_el(&$output, $data_object, $depth = 0, $args = NULL, $current_object_id = 0) in /home/techk683/public_html/wp-content/themes/awake/lib/classes/menu-walker.php on line 45

Deprecated: Non-static method Mysitemyway::variables() should not be called statically in /home/techk683/public_html/wp-content/themes/awake/framework.php on line 23

Deprecated: Non-static method Mysitemyway::actions() should not be called statically in /home/techk683/public_html/wp-content/themes/awake/framework.php on line 24

Deprecated: Non-static method Mysitemyway::filters() should not be called statically in /home/techk683/public_html/wp-content/themes/awake/framework.php on line 25

Deprecated: Function create_function() is deprecated in /home/techk683/public_html/wp-content/themes/awake/framework.php on line 190

Deprecated: Function create_function() is deprecated in /home/techk683/public_html/wp-content/themes/awake/framework.php on line 191

Deprecated: Function create_function() is deprecated in /home/techk683/public_html/wp-content/themes/awake/framework.php on line 192

Deprecated: Function create_function() is deprecated in /home/techk683/public_html/wp-content/themes/awake/framework.php on line 193

Deprecated: Non-static method Mysitemyway::supports() should not be called statically in /home/techk683/public_html/wp-content/themes/awake/framework.php on line 26

Deprecated: Non-static method Mysitemyway::locale() should not be called statically in /home/techk683/public_html/wp-content/themes/awake/framework.php on line 27

Deprecated: Non-static method Mysitemyway::admin() should not be called statically in /home/techk683/public_html/wp-content/themes/awake/framework.php on line 28

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; MySite_Flickr_Widget has a deprecated constructor in /home/techk683/public_html/wp-content/themes/awake/lib/classes/widget-flickr.php on line 6

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; MySite_SubNav_Widget has a deprecated constructor in /home/techk683/public_html/wp-content/themes/awake/lib/classes/widget-subnav.php on line 6

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; MySite_Twitter_Widget has a deprecated constructor in /home/techk683/public_html/wp-content/themes/awake/lib/classes/widget-twitter.php on line 6

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; MySite_PopularPost_Widget has a deprecated constructor in /home/techk683/public_html/wp-content/themes/awake/lib/classes/widget-popular.php on line 6

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; MySite_RecentPost_Widget has a deprecated constructor in /home/techk683/public_html/wp-content/themes/awake/lib/classes/widget-recent.php on line 6

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; MySite_Contact_Widget has a deprecated constructor in /home/techk683/public_html/wp-content/themes/awake/lib/classes/widget-contact.php on line 6

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; MySite_Contact_Form_Widget has a deprecated constructor in /home/techk683/public_html/wp-content/themes/awake/lib/classes/widget-contact-form.php on line 6

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; MySite_Testimonial_Widget has a deprecated constructor in /home/techk683/public_html/wp-content/themes/awake/lib/classes/widget-testimonial.php on line 6

Deprecated: The called constructor method for WP_Widget class in MySite_Flickr_Widget is deprecated since version 4.3.0! Use __construct() instead. in /home/techk683/public_html/wp-includes/functions.php on line 6114

Deprecated: The called constructor method for WP_Widget class in MySite_SubNav_Widget is deprecated since version 4.3.0! Use __construct() instead. in /home/techk683/public_html/wp-includes/functions.php on line 6114

Deprecated: The called constructor method for WP_Widget class in MySite_Twitter_Widget is deprecated since version 4.3.0! Use __construct() instead. in /home/techk683/public_html/wp-includes/functions.php on line 6114

Deprecated: The called constructor method for WP_Widget class in MySite_PopularPost_Widget is deprecated since version 4.3.0! Use __construct() instead. in /home/techk683/public_html/wp-includes/functions.php on line 6114

Deprecated: The called constructor method for WP_Widget class in MySite_RecentPost_Widget is deprecated since version 4.3.0! Use __construct() instead. in /home/techk683/public_html/wp-includes/functions.php on line 6114

Deprecated: The called constructor method for WP_Widget class in MySite_Contact_Widget is deprecated since version 4.3.0! Use __construct() instead. in /home/techk683/public_html/wp-includes/functions.php on line 6114

Deprecated: The called constructor method for WP_Widget class in MySite_Contact_Form_Widget is deprecated since version 4.3.0! Use __construct() instead. in /home/techk683/public_html/wp-includes/functions.php on line 6114

Deprecated: The called constructor method for WP_Widget class in MySite_Testimonial_Widget is deprecated since version 4.3.0! Use __construct() instead. in /home/techk683/public_html/wp-includes/functions.php on line 6114
Three Rules of Specifications

Stress-Free Wireless Development.

Three Rules of Specifications


Deprecated: Non-static method mysiteHidden::post_date() should not be called statically in /home/techk683/public_html/wp-includes/shortcodes.php on line 434

Deprecated: Non-static method mysiteHidden::post_author() should not be called statically in /home/techk683/public_html/wp-includes/shortcodes.php on line 434

If you have been designing for any length of time you have run across vague specifications that you did not know how to meet or if you had met them. You of course want do better and write your specifications so they are clear.

Or maybe you have been asked to review a design spec or requirements document. This can be rather mind numbing when the spec is large (I know from first-hand experience).  To review a spec successfully you need a review process, otherwise many flaws will be missed.  Included in this process you should have a simple way of reviewing the clarity of specifications.

Recognizing a good spec is helpful for both creating and reviewing technical documents. I have three main rules that I always look for.

Rule 1: Specifications have to be verifiable.

In general when we think of verifying specifications we think of testing, but there are actually five ways that can be used to show that something meets its specifications:

1. Demonstration
2. Inspection
3. Analysis
4. Certification
5. Test

While the common meaning of these terms is clear, we will discuss each of these in another post. What is important when you write a specification is to think about how one would verify that the specification has been met or not. If you cannot see how to verify that it has been met, then neither will your test team or customer.

Rule 2: Non-discrete parameters require boundaries.

While it is possible to specify that something contains a fixed quantity of marbles, it is not practical to specify a weight, height, volume, speed, etc. exactly. Because these are continuous quantities (unlike a discrete item such as a marble) you must specify a range. Each of the following are valid specifications:

1. W = 10 kg ± 0.01 kg
2. W < 10 kg
3. W ≥ 10 kg
4. 9 kg < W < 10 kg

Most engineering specifications are continuous in nature. If you see a specification that is exact take the time to figure out its acceptable boundary values.

Rule 3: Adjectives require a reference to compare against

“Fast” is not a specification. “Faster than competitor X’s product”, on the other hand is a valid specification, if you can define the test conditions accurately. “Easy to use” is not a specification that can be tested, it is a marketing statement that needs to be turned into a specification. Whenever possible turn fuzzy adjectives into a quantifiable number. An example from the telecom world is the Mean Opinion Score (MOS) for voice quality [ref ITU P.800 or ITU P.862] .

MOS Quality Impairment
5 Excellent Imperceptible
4 Good Perceptible but not annoying
3 Fair Slightly annoying
2 Poor Annoying
1 Bad Very annoying

While the impairments in the above table are qualitative in nature, a numeric value is achieved by taking the opinions of many users running a standardized set of tests.

That’s it. Three simple things to remember when specifying your system.

1. Determine how you will verify the spec.
2. Establish the boundary between pass and fail.
3. Turn fuzzy marketing terms into something measurable.

If you do these three things everyone will understand your spec’s intentions.


Deprecated: Non-static method mysiteHidden::post_terms() should not be called statically in /home/techk683/public_html/wp-includes/shortcodes.php on line 434

Deprecated: Non-static method mysiteHidden::post_terms() should not be called statically in /home/techk683/public_html/wp-includes/shortcodes.php on line 434