1. design
    1. Think about
      1. what problems need to be solved first
      2. what is the scope of these problems
        1. product
        2. section
        3. fild
    2. Fix common errors
      1. do not load people with technical actions
      2. if the field can be filled automatically, fill it
      3. create a couple of ready-made options
    3. WHEN
      1. the product lives a long time
      2. the product has many forms and conditions
      3. integration with third party services
    4. Sources
      1. https://speakerdeck.com/egodyston/error-driven-design-90b75f40-ffda-466b-b363-cd8b1bf41305
    5. the best protection against errors is the tech barrier that will allow them to be avoided
  2. Development
    1. Bug-driven development is software development methodology where incremental development is triggered by raising bugs on existing program or software prototype.
    2. Sources
      1. https://lizkeogh.com/2007/11/16/bdd-bug-driven-development/
      2. https://en.wikipedia.org/wiki/Bug-driven_development
      3. https://halogenandtoast.com/error-driven-development/
      4. https://haacked.com/archive/2007/09/24/bug-driven-development.aspx/
  3. Testing
    1. Error guessing is a software testing technique on guessing the error which can prevail in the code
    2. Sources
      1. https://www.softwaretestinghelp.com/error-guessing-technique/
      2. https://www.tutorialspoint.com/software_testing_dictionary/error_guessing.htm
      3. http://tryqa.com/what-is-error-guessing-in-software-testing/
  4. Learning
    1. a sub-area of machine learning concerned with how an agent ought to take actions in an environment so as to minimize some error feedback.
    2. Sources
      1. https://en.wikipedia.org/wiki/Error-driven_learning
      2. https://www.quora.com/What-is-the-difference-between-error-driven-learning-and-self-organized-learning