So, I got this question about what kind of principles did we follow when introducing this thing called DevOps. I have destilled the principles here.
They are somewhat based / inspired by a Gavin Davies blogpost.
Whole Product Focus
- Customer is interested in continuous value (less of negative one – issues, and more of positive one – features), not development vs. support
- Product is finished when it is retired from production
No Silos
- Team that delivers customer value has capability for development and support
- Cross-functional and cross-component team owns the product and has full responsibility for everything related to the product
- Team defines and continuously improves working agreements regarding development vs. operations
Automated feedback
- Before production – highest quality and early discovery of problems
- In production – built for fast analysis, resolution and low impact (not roll-back)
- Development in service of operations (built for easy operations), operations in service of development (root cause data to solve and prevent repetition)
Perfection goals
- Product runs itself, doesn’t require support
- Deployment is instant
- All issues discovered and solved before production
- Every team member does both operations and development
Happy to hear any feedback.