The 6 Principles of DevOps That Will Speed Up Productivity
In my first blog about DevOps I explained that it is a kind of culture - a way of working, rather than a set solution. Though it may seem like an abstract approach, it is completely solid in its principles and those utilizing the approach are already seeing huge gains in time-to-market and user satisfaction. To make the culture of DevOps a little more tangible, I’m going to dive a bit deeper and explain how the six principles of the DevOps approach will increase productivity as well as office comradery.
A New Era in Development
Is this a new era for software development? I hope so. We’ve been making software for years in many different ways, and we all know the stories of software projects taking years, costing millions of euros and ultimately, never actually getting off the ground. When big government and big industries take on these projects they tend to go for the “Ferrari” model before test driving what could be an easier and cheaper solution that can get you there just as effectively. And the biggest problem with building the Ferrari with a traditional approach is that it takes a long time, sometimes too long too even still be in the race when it is finally completed. Time, money and expert resources spent on a project that is then obsolete is a much too common trend in the Waterfall Method of developing software and the reason why software projects fail across many sectors.
Flexible Frameworks are the Future with DevOps
With the traditional development model, we regularly drown in roadmaps and backlogs. This is because we think we already know what the market will need at the end of next year. As a result, it sometimes takes too long for a functionality to become available, and at that moment the question is no longer which competitor was more agile. Taking the time to prepare a detailed roadmap for 1, 3 or 5 years is luckily, behind us. This is not to say that the framework idea isn’t useful, it is necessary to have a starting point, but the framework shouldn’t be the deciding factor of the end because the detailed interpretation comes during the trip.
A flexible framework, mindset, and team allows for cool functionalities to be added when the market and the customer are ready, not only from the developmental stages of the project. A major advantage of the DevOps approach is that you are always able to assess relevant trips to market conditions, industry changes, political impacts or other needs of your customer.
Work Will Never Be Finished Again
Don’t let this one scare you. In the software development world this is actually a big bonus. One of the biggest commonalities between failed software projects is the desire of the developers to take in changing market circumstances during construction before deeming a project “finished”. The software and IT sectors seem to struggle with getting things finished more than any other. So, if there was a way to never have to make sure projects were “finished” again, it actually takes a lot of pressure off the teams.
This is another advantage of the DevOps way; you are never finished. Working in this way means that you end up in a fixed pattern which can be illustrated as a symbol for infinity. In short, a continuous process of development, testing, integration, implementation and monitoring. In other words, DevOps makes optimum use of everyone's strengths over the entire life of a given project which makes that project more agile and flexible.
When you enter the DevOps lifecycle, you go from the planning stage to the monitoring stage and back again. The blue part refers to the development phase, the yellow part to the operational aspects, but due to the ever-recurring interaction, both flows together. The illustration below shows how the development phase is achieved very quickly which boosts the frequency enormously. In addition, it’s not so bad if a development sprint does not succeed. With this approach, you can also resolve it or remove it easily if an error occurs in the available functionality. With the continuous “eternity” flow of the DevOps approach, projects are never finished but continuously improved upon.
The 6 Principles of DevOps:
There is no tool you can install that will implement a DevOps culture and user adoption is essential. Take a look at the six principles of DevOps to see where your office might benefit:
Principle 1: Customer-oriented working.
You deliver new functions faster in a short cycle. Because the feedback rounds are shorter, you can really listen to your customers and end users, making them feel like more than an ambassador.
Principle 2: No waterfall model.
Departments no longer work separately. The difference between the different methods is illustrated in my previous blog. Because you are now working together (all departments) on the same project and towards the same goal, you share the same mindset to create a working and beautiful product.
Principle 3: Vertically organized teams.
Teams are liable 'from concept to grave' and not necessarily determined by a manager. Together your teams collect the feedback and you get to determine the journey.
Principle 4: All-round profiles.
No booths or separate silos. Working together in autonomous teams where people can develop personally, learn from each other and become stronger assets to the company in general.
Principle 5: Continuous optimization.
Of course, you want people to feel happy and connected. That is extremely important. This principle is about the axis of speed (time to market), costs (time) and the product itself that is relevant and connects with your target group. Working in optimal conditions and providing an optimal product becomes part of the culture.
Principle 6: Automation.
Automate everything that can be automated, including the infrastructure, by opting for container-based cloud platforms, for example.
Accelerate the Time to Market for Your Applications
The DevOps approach positively impacts the entire delivery pipeline of a project. The intention is that you can get to market with functions faster. The biggest change with this approach will be seen in your life cycle management. You will no longer be coming up with completely new versions every week with a new small adjustment. Another positive change is that this is possible with lower error rates. For example, I used to look very hesitantly at every X.0 version update I was offered. I thought it was better to wait for version X.1 or version X.2 because then some errors will have already been fixed. But because you can now respond so quickly in the DevOps culture, users will no longer experience new release stress.
Do you think the six principles of DevOps culture make it feel like something more achievable in your business? Just by changing our WAY of working we can make strides in the way we develop software. Higher productivity, happier customers, more fulfilled team members and positive vibes in the office are all results of DevOps. Get in touch with me if you have any questions and look out for the next blog in the series coming soon!
Like what you've read so far? You may also be interested in joining our Business Masterclass for Software Companies on June 26 in Amsterdam!
This is the second blog in our DevOps series, written by Ernst Veen, Azure Product Owner for SaaSplaza.
Click here to read the first blog, Increase Productivity with DevOps Culture in the Office.