Many definitions of DevOps exist, and many of them adequately explain one or more aspects that are important to find flow in the delivery of IT services. Instead of trying to state a comprehensive definition on our own, we prefer highlighting SIX PRINCIPLES we deem essential when adopting or migrating to a DevOps way of working.
Customer-Centric Action: It is imperative nowadays to have short feedback loops with real customers and end-users, and that all activity in building IT products and services centers around these clients.
Create with the End in mind: Organizations need to let go of waterfall and process-oriented models where each unit or individual works only for a particular role/function, without overseeing the complete picture.
End-to-End responsibility: Where traditional organizations develop IT solutions and then hand them over to Operations to deploy and maintain these solutions, in a DevOps teams are vertically organized.
Cross-Functional autonomous Teams: In product organizations with vertical, fully responsible teams, these teams need to be entirely independent throughout the whole lifecycle.
Continuous Improvement: End-to-end responsibility also means that organizations need to adapt continuously in the light of changing circumstances (e.g. customer needs, changes,...).
Automate everything you can: To adopt a continuous improvement culture with high cycle rates and to create an IT organization that receives instant feedback from end users or customers.