1 Introduction

There are three fundamental areas of concern that make up all software systems. They are:

  1. a directory structure
  2. a build system
  3. a version management system

They are all related, aspects of one affects aspects of each of the others.

Having a standard system makes collaborative work more efficient, especially when one needs help from others to solve a problem.