DevOps is more than a collection of useful practices to streamline your development process.
It is all about your whole team thinking about how to constantly deliver value to your clients. You’ll need to automate your build, test and deployment process and make it reproducible.
Make your developers think about how to keep your software testable and deliverable at all times. Take Test Driven Development for the first point. There are three rules that need to be followed
1. “No production code without test code!”
2. “Only write enough production code until the test runs!”
3. “Only write production code that is covered by test code!”
Following these three simple rules will force you to write production code that is testable and will make you use interfaces and avoid strict couplings in your software.
Take Continuous Integration for the second point. Continuous Integration is the use of only one main branch that at all times needs to be release ready. In Microsofts World Continuous Integration is only the automatic queuing of a new build every time the code changes. One way to always be able to release is the use of feature flags to disable features that are not ready for production. In combination with a feature service it also enables you to enable some features only for small groups to get feedback on your new feature.
For your Team Members that work on your operations make sure that they to use version control for all of their PowerShell scripts etc. Your goal should be infrastructure as Code for operations because this enables you to automate provisioning and configuring your test machines and makes it easier to keep track of differences between your test environments and production.
If you want to be more innovative to create more value then you need to free up time that is blocked by other things like build, test and deploy. The quicker you are going through the feedback or idea Phase to change or create phase followed by build, test and deploy phases all aforementioned phases form a circle. Automation of the build, test, deploy and feedback gathering phases are essential to be more efficient. The terms Continuous Build, Continuous Integration, Continuous Deployment, Continuous Delivery and Continuous Feedback are used to describe the different automation stages. The faster you can run through the whole circle the more agile you’ll be and the more innovative you’ll become. Microsoft offers tooling for all 4 phases. Using Visual Studio Team Services or Team Foundation Server (2015/17) you are able to use the features to plan your work, automatically build a new version once your code changes, execute automated test, deploy your newest build and get feedback from your customers or test group.
Application Insights or Hockey App or both are both powerful tools from Microsoft to gather feedback and to find out what your customers really use. Depending on the gathered feedback you can create new tasks and reevaluate features of your software or redesign parts of your app that are seemingly unused.
Once you are able to act on real data you are able to reliable postulate hypothesis on the way of bringing more value to your clients. Though this is only a small look on how DevOps can help you and your team to create better more dependable software with features that are really used by your customers.
- Erstellt am .