HitchDev Principles

The HitchDev framework is committed to the following principles:

  • Automated consistent dev and test environment setup - there should be fewer than 5 steps to get the average dev or test environment set up.
  • Executable specifications should define behavior only and test the software only as a side effect.
  • The specifications should be terse and strongly typed.
  • The framework should enable the project to be tested against as realistic a model of the real world as possible.
  • There should be strict separation of concerns between descriptive executable stories and the the execution engine used to actually execute them.
  • The execution engine should set up a realistic, isolated environment that runs the code and interacts with it, keeping a clean separation between "mock real world" and "code under test".
  • Documentation should be generated from specifications and specifications should explain themselves clearly in order to generate better documentation.
  • Where possible the specification should be rewritable based upon the output of the program.