Software Non-Functional Assessment Process (SNAP)

Making Software Size Complete

About SNAP

In software engineering, the size of the software user requirements is an important attribute of the software. Size of the software user requirements can be used effectively to forecast the resources (including effort and schedule) necessary to develop the software, provided historical or benchmark productivity data is available. The size of the software user requirements is also used to calculate many performance indicators (e.g., the cost per size and the productivity of the team).

Function points measure the size of the functional software user requirements (“what” the software will do). SNAP points measure the size of the non-functional software user requirements (“how” the software will do it). SNAP points are therefore complementary to function points. They are necessary to improve the effort and schedule forecasting accuracy.

SNAP recognizes four categories and their 14 subcategories of non-functional software user requirements. To size the software non-functionality, these requirements are first matched to their corresponding subcategories. Using the corresponding subcategory measurement rules, each software non-functional user requirement is then sized. The size of an application’s (or enhancement’s) non-functional software user requirement size is the sum of the sizes measured using corresponding subcategories.

Beta testing of SNAP size shows that it has a strong statistical correlation with the work effort required to develop the non-functional portion of the software application.

SNAP has the international sizing standards of both “IEEE 2430-2019 - IEEE Trial-Use Standard for Software Non-Functional Sizing Measurements,” and the ISO standard “Software Engineering—Trial Use Standard for Software Non-Functional Sizing Measurements.”

Software development evaluation, planning, management and production control are enhanced when both the functional and the non-functional software user requirement sizes are considered. Here is where IFPUG holds a unique competitive advantage over other software sizing methods, which do not account for non-functional software size.

Become a Certified SNAP Specialist (CSS)

As the use of IFPUG Sizing Standards continues to grow, it is essential that individuals with a specialized level of knowledge be distinguished. The IFPUG Certification Program designations are formal recognition of a level of expertise in the area of either Functional Sizing or Non-Functional Sizing.

Download the Latest IFPUG Assessment Practices Manual (APM) Release

The primary objectives of the IFPUG APM are:

  • Provide a clear and detailed description of Non-functional Assessment;
  • Ensure that assessments are consistent;
  • Provide a common understanding to allow tool vendors to provide automated support for non-functional assessment.
  • Provide guidance to allow a non-functional assessment to be applied to popular methodologies and techniques; 

Available in English and Portuguese

SNAP iTips

iTips provide guidance on topics important to the IFPUG Sizing Standards (FPA & SNAP) community. An iTip is intended to be a short document (only a few pages), explaining the application of IFPUG Sizing Standards methods in a common situation. An iTip is an example of a single application, not an exhaustive examination of a particular subject. iTips are not rules, but interpretation of the rules, and provide guidance using a realistic example to explain a particular topic.

If you have a suggested topic related to SNAP for an iTip or a uTip, please send it to [email protected].