Requirements

From Open Source Ecology
Revision as of 22:18, 27 December 2015 by Marcin (talk | contribs)
Jump to navigation Jump to search

General

Requirements are the necessary features of a given product, pelrocess, or development pathway. The requirements can apply to machine be design, design of a website, design of a Template, design of a software tool, etc.

Machines

When applied to machine development, Requirements are the features that the given machine must have. These are based on the general concept of the GVCS - machines that meet or exceed industry standards, and are sufficient to build a post-scarcity village infrastructure for 150 people.

Requirements for OSE machines are based on Module Based Design - we focus on a design language where we identify a finite set of modules, and these modules are used to build any of the GVCS machines. While there are 50 machines, there may be ~200 modules which are used through all the machines. The specific number of modules decreases with time as multi-purpose modules are substituted into the Set.

The motivation is that instead of building a fixed number of machines, we can build an infinite number of machines by combining the modules in different ways.

The Specification narrows the development path from a general idea to a specific implementation. The specification is a distillation of the Conceptual Design (how it's done) and Design Rationale (why it's done in a particular way) into a specific set of design parameters.

The specific items that a Requirement should have includes Specifications. In the Open Source Product Development method, the specification should be approved by the technical lead, such that the general development workflow includes:

Protocol

  • Start with a Requirements Spreadsheet or equivalent.
  • Fill it out for your machine. Include simple diagrams and flowcharts.
  • Publish in the Development Spreadsheet for a given machine. If you don't have edit privileges, use the Pull Request form. If you join a given development team, you may be given further edit privileges.