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:
- Is produced, modified, or used by a task
- Defines an area of responsibility
- 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
| Artifact | Description | Format |
|---|---|---|
| Vision | Project goals and scope | Document |
| Use-Case Model | System functionality | Model |
| Glossary | Term definitions | Document |
| Requirements Spec | Detailed requirements | Document |
Architecture Artifacts
| Artifact | Description | Format |
|---|---|---|
| Architecture Notebook | Key decisions | Document |
| ADRs | Decision records | Documents |
| Component Diagram | System structure | Model |
| Deployment Diagram | Infrastructure | Model |
Development Artifacts
| Artifact | Description | Format |
|---|---|---|
| Source Code | Implementation | Files |
| Build Scripts | Build automation | Files |
| Design Document | Component design | Document |
| API Documentation | Interface specs | Document |
Test Artifacts
| Artifact | Description | Format |
|---|---|---|
| Test Plan | Testing strategy | Document |
| Test Cases | Test specifications | Document |
| Test Results | Execution records | Report |
| Defect Reports | Issue tracking | Records |
Project Management Artifacts
| Artifact | Description | Format |
|---|---|---|
| Project Plan | Overall schedule | Document |
| Iteration Plan | Sprint plan | Document |
| Risk Register | Risk tracking | Document |
| Status Report | Progress tracking | Document |
Artifact Lifecycle
States
| State | Description |
|---|---|
| Not Started | Artifact not yet begun |
| In Progress | Actively being developed |
| Under Review | Submitted for review |
| Rework | Changes required from review |
| Approved | Review passed |
| Baselined | Frozen 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
Traceability
Artifacts must be traceable to support:
- Requirements verification
- Impact analysis
- Audit compliance
- Change management
Traceability Matrix Example:
| Requirement | Design | Code | Test |
|---|---|---|---|
| REQ-001 | DES-001 | src/auth.ts | TC-001 |
| REQ-002 | DES-002 | src/user.ts | TC-002 |
Artifact Quality
Quality Attributes
| Attribute | Description |
|---|---|
| Complete | Contains all required information |
| Consistent | No internal contradictions |
| Correct | Accurately represents intent |
| Unambiguous | Single interpretation |
| Traceable | Linked to source requirements |
| Verifiable | Can 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 → ValidationEach link must be documented and verifiable.
Artifact Reviews
| Artifact Type | Review Type | Participants |
|---|---|---|
| Requirements | Formal | Stakeholders, QA, Dev |
| Design | Technical | Architects, Leads |
| Code | Peer Review | Developers |
| Test | QA Review | QA, 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.xlsxRelated Resources
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).
How is this guide?
Last updated on