OSHW Project Management User Stories

Preamble

Welcome to the How do you share your Open-Source Hardware project workshop summary report. During the workshop we worked with participants to identify what we can do as a community to make it easier to share, communicate, and collaborate on OSHW projects. The following content is the result of that work.

Desired Core Capabilities

These are the core needs of the OSHW community when sharing, communicating, and collaborating on OSHW projects

1. OSHW Definition

OSHW projects should be developed and shared in accordance to the OSHW Definition.1

1: https://www.oshwa.org/definition/

2. OSHW Certification

OSHW projects should be developed and shared in accordance to the OSHW Certification process.1

1: https://certification.oshwa.org/process.html

3. OSHW Should Be like OSS

OSHW should be like Open Source Software (OSS) to the greatest degree possible (e.g. sharing, development, licensing).

4. OSHW Development Should Leverage Modern Software Development Techniques

OSHW development should leverage modern software development techniques to improve the OSHW developer experience.

examples

  • package management
  • DevOps (e.g., DevSecOps, DocOps)
  • mono-repos
  • design patterns (e.g., model-view-controller)
  • semantic versioning

Minimum Required Data Model

Classes of data that need to be captured 1. Core Capabilities

1. BOM Data

Bill of Materials (BOM) data: list of components and counts covering all parts and tools which must be procured to build the project

2. Instructions

  • Assembly Instructions: complete list of instructions to build the project from its procured parts
  • Operating Instructions: complete list of instructions to use the project safely and effectively

3. Supporting Data

e.g. design files,

  • CAD models (e.g., Mechanical CAD files, PCB Gerbers files)
  • Specifications (e.g., operating temperature range)
  • Interface definitions (e.g., board pinout)
  • Schematics (e.g., Circuit boards)

User Stories

As a OSHW User, I want to Build an OSHW Project, so that I can Reproduce the OSHW Project

related to 1. Core Capabilities: 1. OSHW Definition

notes

  • build using alternative components for (end-of-life) availability

As a OSHW Developer, I want to Organize OSHW Project, so that I can Conform to DRY Principle

related to 1. Core Capabilities: 4. OSHW Development Should Leverage Modern Software Development Techniques

notes

  • need for bridging knowledge gap between industry standard and open-source practices; no mentoring programs / methodology
    • while the DOF team agrees this is a challenge within the OSHW community, it is outside the scope of DOF (packaging a OSHW project to be shareable/modifiable/reproducible)
  • lintable data structure
    • interpret "lintable" to mean the content in the model is verifiable (no missing fields, orphan elements, etc.)
    • LinkML "validate" capability implements these kinds of tests
    • a.k.a., expose ability to validate content


Children
  1. 0. Workshop
  2. 1. Audience Survey
  3. 2. There Must Be a Better Way
  4. 3. Developing User Stories
  5. Templates