Software Sizing Comes of Age with SNAP!

June 2, 2016 Uncategorized

The International Function Point Users Group (IFPUG) is proud to debut the new Software Non-functional Assessment Process (SNAP) logo to signify the importance of non-functional sizing for estimating, benchmarking and productivity analysis in software development. Non-functional requirements have long been known by estimating experts such as Barry Boehm (USC) and William Perry (QAI) as having a significant impact on the effort and costs of software development, and SNAP formally addresses this problem.

What is SNAP?

SNAP is the Software Non-functional Assessment Process.

While function points measure the functional requirements by sizing the data flow through a software application, SNAP measures the non-functional requirements. It is therefore complementary to FPA.

The SNAP model consists of four categories and fourteen sub-categories to measure the non-functional requirements. Non-functional requirement are mapped to the relevant sub-categories. Each sub-category is sized, and the size of a requirement is the sum of the sizes of its sub-categories.

The SNAP sizing process is very similar to the function point sizing process. Within the application boundary, non-functional requirements are associated with relevant categories and their sub-categories. Using a standardized set of basic criteria, each of the sub-categories is then sized according to its type and complexity; the size of such a requirement is the sum of the sizes of its sub-categories. These sizes are then totaled to give the measure of non-functional size of the software application.

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

Software development evaluation, planning, management, and production control is enhanced when the size and effects of both functional and non-functional application size 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.

Read more about SNAP here.