Scientific Method

What is it

  • falsifiable

  • dont trust experts

  • science is about reverse engineering nature

  • Scientific principles

    • It is adherence to Logic and Data - gathered by impartial unbiased experiments

    • Too much focus on logic -> mathematics, theories that may not be useful

    • Too much focus on data -> mechanics, can maintain stuff, but not improve it

  • Engineering is the use of science to economically change society one innovation at a time

Why use it

  • Otherwise we rely on cargo-cult, dogma, to guide out software creation

    • Faith and belief in experts, rather than the idea and the evidence that backs it up

    • personal opinions, people become biased, arguments (vi vs emacs)

    • Some one has an idea, it becomes popular, is used but no one questioned it

    • People relying on common sense, or using it as a reason

    • The term "Recommended Practice" or how to use it, should be a flag

    • Marketing to sell a product leads it to becoming the norm, being sold a magic bullet

    • What makes it worse and hard not to trust, is there is some grain of truth, some reasonable logic behind it

  • Need an impartial way of finding the best way to develop software, which is unbiased, evidence based, impartial

Use in software creation

  • Idea is to use scientific method to develop hypothesis/experiments that can be tested and have evidence that they work.

  • Agile

    • is about fast feedback to use improve, restart that cycle, to narrow down on what is required

  • Test first

  • Learning from feedback to improve

  • How to make software more like Engineering

    • Demand proof

  • Never trust the manual fully

    • trust the evidence - tests, source code

    • libraries that are used, should be read

    • if no source, decompile

Theory

Difference with Mathematics/logic

Last updated