A formal or informal methodology for designing, creating, and maintaining software (including code built into hardware).
Source(s):
NIST SP 800-218