You are here: Home / SFIA 7 development / Change requests / Verification, Validation & Testing - Improvements to address needs of Software Engineering

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

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

Rate this proposal

Log in or register to vote on this requirement

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 cultureProgramming / 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.

Attached to Systems development

j.bass@salford.ac.uk says:
Sep 17, 2017 09: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 says:
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.

Navigation