Netspective Logo

Artifacts

Understanding work products and their role in software development

An artifact is a formal work product that is produced, modified, or used by a task, defines an area of responsibility, and is subject to version control. Artifacts are the tangible outputs of software development activities.

What is an Artifact?

An artifact is a formal work product that:

  1. Is produced, modified, or used by a task
  2. Defines an area of responsibility
  3. Is subject to version control

An artifact can have multiple forms including a model, a model element, or a document.

Types of Artifacts

Models

Formal representations of system aspects:

  • Use-case model
  • Design model
  • Data model
  • Deployment model

Model Elements

Components within models:

  • Classes
  • Components
  • Interfaces
  • Packages

Documents

Textual artifacts:

  • Vision document
  • Architecture notebook
  • Test plan
  • User guide

Artifact Categories by Discipline

Requirements Artifacts

ArtifactDescriptionFormat
VisionProject goals and scopeDocument
Use-Case ModelSystem functionalityModel
GlossaryTerm definitionsDocument
Requirements SpecDetailed requirementsDocument

Architecture Artifacts

ArtifactDescriptionFormat
Architecture NotebookKey decisionsDocument
ADRsDecision recordsDocuments
Component DiagramSystem structureModel
Deployment DiagramInfrastructureModel

Development Artifacts

ArtifactDescriptionFormat
Source CodeImplementationFiles
Build ScriptsBuild automationFiles
Design DocumentComponent designDocument
API DocumentationInterface specsDocument

Test Artifacts

ArtifactDescriptionFormat
Test PlanTesting strategyDocument
Test CasesTest specificationsDocument
Test ResultsExecution recordsReport
Defect ReportsIssue trackingRecords

Project Management Artifacts

ArtifactDescriptionFormat
Project PlanOverall scheduleDocument
Iteration PlanSprint planDocument
Risk RegisterRisk trackingDocument
Status ReportProgress trackingDocument

Artifact Lifecycle

States

Artifact Lifecycle States

StateDescription
Not StartedArtifact not yet begun
In ProgressActively being developed
Under ReviewSubmitted for review
ReworkChanges required from review
ApprovedReview passed
BaselinedFrozen for release

Version Control

All artifacts should be version controlled:

artifact-v1.0.0  (Initial release)
artifact-v1.0.1  (Bug fix)
artifact-v1.1.0  (Minor enhancement)
artifact-v2.0.0  (Major revision)

Artifact Relationships

Input/Output Relationships

Artifact Input/Output Relationships

Traceability

Artifacts must be traceable to support:

  • Requirements verification
  • Impact analysis
  • Audit compliance
  • Change management

Traceability Matrix Example:

RequirementDesignCodeTest
REQ-001DES-001src/auth.tsTC-001
REQ-002DES-002src/user.tsTC-002

Artifact Quality

Quality Attributes

AttributeDescription
CompleteContains all required information
ConsistentNo internal contradictions
CorrectAccurately represents intent
UnambiguousSingle interpretation
TraceableLinked to source requirements
VerifiableCan be validated against criteria

Review Criteria

Before approval, artifacts should be reviewed for:

  • Completeness - All sections filled
  • Accuracy - Information is correct
  • Clarity - Easy to understand
  • Consistency - Aligns with other artifacts
  • Standards - Follows templates and guidelines

Artifact Templates

Using templates ensures consistency and completeness. NUP provides templates for all standard artifacts.

Template Benefits

  • Consistency: Same structure across projects
  • Completeness: Prompts for required content
  • Efficiency: Faster creation
  • Quality: Built-in best practices

Template Structure

A typical artifact template includes:

# [Artifact Name]

## Document Control
- Version: X.X.X
- Author: [Name]
- Date: [Date]
- Status: [Draft/Review/Approved]

## 1. Purpose
[Why this artifact exists]

## 2. Scope
[What this artifact covers]

## 3. [Content Sections]
[Main content organized by topic]

## 4. References
[Related documents and resources]

## Revision History
| Version | Date | Author | Changes |
|---------|------|--------|---------|

Artifacts for Regulated Software

In regulated environments, artifacts require additional rigor:

FDA/HIPAA Requirements

  • Document Control: Formal versioning and approval
  • Change History: Complete audit trail
  • Electronic Signatures: Where applicable
  • Retention: Per regulatory requirements

Traceability Requirements

User Need → Requirement → Design → Implementation → Test → Validation

Each link must be documented and verifiable.

Artifact Reviews

Artifact TypeReview TypeParticipants
RequirementsFormalStakeholders, QA, Dev
DesignTechnicalArchitects, Leads
CodePeer ReviewDevelopers
TestQA ReviewQA, Dev, Stakeholders

Best Practices

Creation

  • Use templates consistently
  • Start with minimum viable content
  • Iterate as understanding grows
  • Get early feedback

Maintenance

  • Keep artifacts current
  • Archive obsolete versions
  • Review periodically
  • Update traceability

Storage

  • Use version control (Git)
  • Organize by project structure
  • Apply consistent naming
  • Enable search and discovery

Artifact Naming Conventions

[Project]-[Type]-[Name]-[Version].[ext]

Examples:
NUP-REQ-UserAuthentication-v1.0.docx
NUP-DES-APIArchitecture-v2.1.md
NUP-TST-IntegrationTestPlan-v1.0.xlsx

Compliance

This section fulfills ISO 13485 requirements for control of documents (4.2.3), control of records (4.2.4), and traceability (7.5.3), and ISO 27001 requirements for documented information (A.7.5) and documented procedures (A.5.37).

View full compliance matrix

How is this guide?

Last updated on

On this page