There are a number of discussions about the principles of DevOps “out there” but I am unsure if there is a single codified source (but perhaps I am missing something). Here are some ideas:
Automate - everything
Stable, cross functional teams
Test early and often
Continuously deliver small increments - create a continuous steam of value
Outside-in development - test interfaces before you test code to ensure that when you integrate everything together it has a good chance of working.
Improve continuously
Experiment frequently