Way back when
I’ve worked in the business IT industry for 30 years. When I started, the IT department was a lot different than today. Staff sat at desks in a back room and entered line after line of numbers onto a program; those numbers were transformed in the background on massive mainframes and eventually printed out and sent to the finance department or occasionally management. Any software changes would require the developer to make the change in isolation and then manually move the changes into a production release. This was handed over to the product support team for release. The production support team would know a change was coming but not really what the details were; they just trusted the developer and the business had tested the change correctly. The developer would have a restless night waiting for that dreaded phone call or be onsite in case of an issue. The whole process was slow and often had issues. Production releases were scheduled once a month at a time when the business could manage without the computer system for a few hours.
In modern business, computer software runs large parts of the company. These products often operate on computer hardware shared by other firms and products. Customers interact with your business’s digital channels significantly more often than with staff members. IT change is a constant thing. To keep up with the modern, fast-paced world, businesses must adapt quickly and keep their digital offering valuable and relevant to their customers. The problem is that the rate of change has increased dramatically, but the process of managing the change and support of the changes in production have not changed as quickly, or in some instances, at all. To keep up with this high level of change, the business has had to change how they manage the life cycle of their digital software.
So, where does DevOps come in?
If you’re involved in your business’s process of introducing new digital value or updating the current user experience, then you’ve probably heard the term DevOps when planning projects. If your business has a software development team or outsources to an external company for help, the question will be asked at some stage in the planning process. What are your business’s IT change process? Have you implemented a DevOps practice to support change? The answer is likely to be one of these.
- Yes, we have implemented a DevOps process; here are the guidelines for the process.
- Our current process has worked well for years, and we don’t have time to implement a new process.
- No, I don’t think so; what is DevOps exactly? Do we need it?
In this introductory blog, I will give you an overview of DevOps and why I believe all modern businesses with a digital platform to maintain and enhance will benefit from adopting DevOps processes and how it will add value to your business.
Delving into DevOps
“DevOps is the union of people, processes, and products to enable continuous delivery of value to our end users.”
As you will notice, Donovan Brown was particular in his use of language. That is because DevOps is more than just the software you use, and the automation process adopted.
It is essential to realise that you can’t just buy DevOps, it’s a transformation of people and process supported by technology. DevOps adoption requires a commitment from all levels of business, it’s about understanding and following a process that enables products to deliver value to end users. Specialised software is then used to enhance these processes and support those following the DevOps processes.
DevOps is the process a business adopts that will support software through its life cycle from inception to retirement including:
- Planning the software change
- Designing the software change
- Build the code change into a software
- Release of the change for deployment
- Deployment of the change to required software environments
- Testing of the change
- Monitoring of the change while in operation
- Decommissioning the change when it is no longer required
All these functions are performed by different departments and staff and can cover an extended period.
DevOps brings these processes together and uses software to enhance the capability of the business to manage software change more quickly and with less risk.
Why is DevOps Important?
DevOps is important because it helps your business deliver products of value to your end users in a timely fashion. The top challenges when delivering software to our end users in your business without a robust DevOps process are:
- Developer burnout
- Technical debt
- Poor quality of product
- Risky software releases
- Frequent Production Failures
- Longer time to resolve errors
- Frustrated IT engineers
- Slow time to market
As an example, a DevOps process in Adaptiv can help reduce the time taken to deliver the products to our end users and the costs associated with maintaining the quality of the products.
What are some of the benefits of adopting a DevOps process?
- Faster time to market. Getting the software to market becomes smoother and quicker because architects, designers, developers, testers, and engineers know what is required and work together to achieve the end goal.
- Reduced development failures and rollbacks. Many development failures happen when they get to production because the changes are moved manually into the production release process from the development and test processes. Something is missed, the move to production causes an issue, and the change must be rolled back out. DevOps helps reduce this risk because everyone, including the engineers, is included in the early stages.
- Faster recovery time if there is a failure. DevOps processes are largely automated, so software changes are consistently applied from dev to test to production. In the event of an unforeseen issue, the automatic process makes removing the transition easier and faster.
- Reduced development time and less management of complexity. During the design process for product functionality, all the teams are involved in design through to production support. This helps reduce the development rework due to issues caused by environmental factors, production software performance and hardware constraints. The DevOps process is supported by automation software; this allows the ability to release complex changes quickly and confidently as little or no manual intervention is required to shift from the development release to a production release.
Finally, here are some tips and reminders for successful DevOps implementations
- Get buy-in from everyone. Remember, DevOps is not something you can buy; it’s a way of thinking that often requires a cultural change in your business.
- Constant communication is critical. DevOps is a collaboration between the teams required to deliver a product to the end user that will add value to your business and the end user’s experience with your business.
- Put the right people in the right place. Everyone involved in the process needs to understand their role and be able to perform it. Make sure your people are comfortable with what is required of them.
- Measure DevOps benefits to justify the journey. Recording and analysing the success of each part of the DevOps process is key to making sure it is performing as expected. This will also help to show the justification for following the DevOps process.
- Invest in the right tools for you. The software enhances your DevOps process and supports the people using it. Using the software to its full potential will make your DevOps processes work more smoothly and reduce the time people spend implementing change.
Adopting and maintaining good habits will lead to DevOps success.
Adaptiv uses DevOps practices and processes in all aspects of our business. This enables us to deliver software quickly but to a high standard of quality. Our goal is to always help our customer’s businesses perform at their best and add value for their end users.