DevOps has become a buzzword within the software development industry, promising rapid turnaround times for requested changes. As for developers, DevOps promises to extend productivity while reducing the danger of production failures. The book “The Unicorn Project” by Gene Kim describes this process for developers because of the Five Ideals.
In this article, we’ll specialize in only two of them:
- The Third Ideal — Improvement of daily work
- The Fourth Ideal — Psychological safety
Psychological safety and improvement of daily work make it easier for developers to make changes for his or her teams, and therefore the work to implement these ideas isn’t difficult. From automated testing to production monitoring, there are many great things that even junior developers can help bring back their teams which will help their entire team make safer changes to their code.
So, what are these easy changes which will be made? Below may be a list of tasks that will be done to enhance the projects you’re assigned to, with most taking but four hours to finish.
found out an endless integration server for your project, like Jenkins or Team City. this may leave automated jobs to be run your code.
Create jobs to run testing for pull requests also as testing jobs to run overnight. this may show the present state of your project’s tests on a nightly basis and can leave the amount of failing tests to be monitored over time.
Add a code coverage tool to your automated tests. this may show what’s being tested in your code and what’s not being tested, creating opportunities to assist prop up your team’s testing suite also as confirm that your changes are going to be covered by existing tests.
Create an automatic deployment job on your CI server. this may convert the manual deployment process during a one-click job, allowing the code to be deployed on command.
Modify your project to extract metrics of the project, allowing your code to simply be monitored for faults in production.
The tasks highlighted above will quickly add value to your team while helping protect you for creating dangerous changes to your team’s codebase. I recently changed teams and have moved to a replacement web project. The project runs fine on my local, but it’s hard to trace what’s suffering from my changes. The team already features a CI server to create their code, but there’s no point in fixing any testing jobs because the project has fewer tests than I even have fingers.
Instead, I created a monitoring tool that captures all requests to the web site and records their results. With the tooling, my team can now see how long it takes for every part of the web site to load, also as what percentage errors are being produced. Now, once I make any changes, I can check these metrics to ascertain if my change is causing issues to the location, increasing my confidence in my code.