WIP Defining software development without analogies Our industry has for a long time explained it's concepts through analogy to other fields such as construction. The analogy, though informative, also adds unnecessary cognitive complexity. This is an attempt to describe our field of "software development" without the use of analogies. Providing a narrower vocabulary that is language agnostic. Definition of software development Increase value of life, through computer instructions. This is done by the following activities - type instructions - test execution of said instructions in different context and - measure effects on life Repositories - track instruction changes over time. - group one or more packages Packages - group instructions for sharing, or execution Context A computer with a specific set of preconditions. E.g. - mobile phone running browser X - anonymous cloud computer running docker under load