The global skills and competency framework for the digital world

#19 Verification, Validation & Testing - Improvements to address needs of Software Engineering change request deferred

Should the description of skills related to verification / validation activities be standalone or embedded in each individual software engineering related skill.

So, for example, should the skill descriptions for Requirements Definition and Management (REQM), Software development / programming (PROG), Systems design (DESN) include the descriptions of the activities required to verify / validate the associated work products or should they be stand-alone SFIA skills.

Validation

  • The purpose of Validation is to demonstrate that a product or product component fulfills its intended use when placed in its intended environment.

Verification

  • The purpose of Verification is to ensure that selected work products meet their specified requirements.

Reasons to create standalone skills:

  • The importance of Verification and Validation is a key component of an engineering culture and ethics  
  • Making Verification and Validation stand-alone skills can be seen as key differentiator between organisations / individuals who are focused on “programming and software testing” versus an engineering mindset which verifies and validates its products throughout the software engineering life-cycle.
  • Extracts from SWEBOK Chapter 10: Software Quality
  • 10.1.1 “Software engineers are expected to share a commitment to software quality as part of their culture.”
  • 10.1.3.2 “While some treatments of quality are described in terms of final software and system performance, sound engineering practice requires that intermediate work-products relevant to quality be evaluated throughout the software engineering process.”
  • 10.1.4 “prevention and early detection of defects, continual improvement, and stakeholder focus—are pertinent to software engineering.”
  • 10.2.2 Verification is an attempt to ensure that the product is built correctly, in the sense that the output products of an activity meet the specifications imposed on them in previous activities. Validation is an attempt to ensure that the right product is built—that is, the product fulfills its specific intended purpose. Both the verification process and the validation process begin early in the development or maintenance phase. They provide an examination of key product features in relation to both the product’s immediate predecessor and the specifications to be met.
Engineering culture Programming / Software Testing culture
  • Focus on quality throughout the life-cycle
  • Verification & validation start early in the
    life-cycle
  • Catch bugs before we go live,
  • Testing is something that happens at the end of development
  • Software quality is interpreted as testing executables
Example Example
  • A "Software engineer" would have SFIA skills of PROG, DESN, REQM
  • and "new" SFIA skills VALD (validation), VERF (verification)
  • A "QA engineer" would have skills of TEST, VALD, VERF
  • A "Programmer" would have SFIA skills of PROG, DESN, REQM
  • A "Tester" would have SFIA skills of TEST

A similar distinction can be introduced for other roles involved Software Engineering & Software Development.

Reasons to embedded the activities in the individual skill descriptions

  • Streamline the number of skills
  • Emphasise that good practice in programming, requirements, design etc. implies the use of verification and validation
  • Emphasises that these activities are not “optional”

Background

This change request is one of a number which are proposing revisions to SFIA to ensure it fully supports Software Engineering while retaining overall industry wide applicability and integrity.

The updates will support:

  • The Software Engineering & Technology industry, it's employers and professionals to close skill gaps, attract and retain talent and improve the performance and productivity of engineers
  • Alignment of Software Engineering training / accreditation
  • Professional development through the IEEE-CS and other professional bodies representing software engineers
  • Universities, technical institutes, and other higher education organisations to support professional education and accreditation and enhance the employability of their students

Also need to consider the relationship (e.g. unique skills and overlapping skills) between Software Engineering and IT.

Current status of this request: deferred

What we decided

Will be kept in the backlog of change requests and considered during continuous consultation.

Consider wrt to mapping of SFIA to Systems engineering life cycle models as well.

Julian Bass
Sep 17, 2017 10:03 PM

This is an important set of improvements. There is a need to reflect growing importance of incremental development approaches and customer demonstrations for validation.

Brunella Longo
Nov 28, 2017 08:56 AM

verification / validation activities should be embedded all throughout the framework, not just within the s/w engineering skills, because the global call for data quality and accuracy has reached a tipping point that is critical for the entire computer science culture and professional development.