I was intrigued with a recent report from IDC1 that predicts that “By 2025, the automation capabilities such as CI/CD and automated testing within low-code and no-code developer tools will mature, leading to a 4x increase in line-of-business developer productivity.” This productivity improvement will certainly be welcome by a universe of developers trying to keep pace with their company’s never ending business transformation objectives. Having the right tools and processes in place to support a DevOps culture will be critical for companies to succeed.
Culture, not technology
The first thing to understand about DevOps is that it refers to a change in culture in which software development (Dev) and IT operations (Ops) merge to improve the software development and delivery process within the organization. The culture provides the fundamental structure to improve the speed and quality of the development process. The objective of a DevOps culture is for the operations and development teams to actively partner across the entire software development lifecycle, from design through to support, using a set of lean and agile practices that automate and integrate the processes between them.
The advantage of this philosophy is that increased communication, integration, and collaboration among the IT players allows for the identification and resolution of an issue as it happens—before the scale of the problem expands into a time-consuming effort to correct it. Critical IT players—the developers, testers, operations, and infrastructure resources work within the same processes and tools to test and deploy code in an automated and integrated manner creating “quick feedback loops” and telemetry to help make decisions faster.
DevOps vs. Agile–Are they the same?
While DevOps and Agile both focus on increasing the speed and quality of software development through intensified collaboration, they each focus on a different component of the process.
- An Agile methodology bridges the gap between the customer’s business requirements and their IT development and testing teams.
- A DevOps culture joins the IT development and testing teams with the operations team to standardize the tools across these areas and optimize the processes through integration and automation for improved delivery.
Companies utilizing an Agile methodology find that they improve the velocity and quality of their end-to-end software development process by embracing a DevOps culture. DevOps allows IT to work with Agile’s fast-paced sprints and reduces delivery bottlenecks.
Getting the buy-in for change
After a company decides to adopt a DevOps culture, its attention turns to how to implement it through the proper tools and processes within the company. Determining the right software to manage the code base, pipelines, and artifacts, and how to integrate these tools to work seamlessly, requires considerable effort and buy-in from the business.
Implementing the automation and controls for these processes to ensure all the functions work across multiple development, testing, and production environments can be challenging. Without the automation component of the environment, the DevOps process will not be able to keep pace with today’s quick and continuous release cycles.
An interesting use case to consider is automated testing. While automated testing software has been available for some time, its adoption has lagged. The slow adoption results from manual and complex executions, processes, and the upkeep of test scripts, making the overall value proposition weak. With DevOps, these tools are getting a lot of new attention. Automated testing tools are integrated into the DevOps environment and process and configured to automatically execute every time a code base is committed.
The tests are executed often—even daily in many cases—without manual effort from the process owner. By reviewing the resulting exception reports, bugs are caught quickly, before they impact the larger development process.
This typical use case shows how implementing a DevOps culture and providing the right tools can increase productivity without increasing effort.
PLM needs DevOps but few tools are available
While many companies can clearly see the value of adopting a DevOps culture, implementing the approach can be difficult. Since a DevOps environment is comprised of multiple functions and products that require tight integration, automation, and administration, the initial implementation can get complex.
In the PLM domain, few software vendors offer a comprehensive DevOps solution to enhance their development environment. This may be acceptable for companies that use their PLM solution out-of-the-box, but this is not common. PLM customers almost always require customizations to their solutions to meet specific requirements. Since most PLM software is not easily customizable and requires considerable testing to manage change, the addition of DevOps is particularly valuable to facilitate development efforts.
How to start adopting a DevOps culture and implement the necessary tools
Aras DevOps is one notable exception to the lack of DevOps products for PLM. Aras users can easily benefit from a DevOps approach because the Aras low-code platform supports complex customizations while never affecting the customer’s ability to upgrade their environment.
Aras adopted a DevOps culture internally years ago, creating an integrated cloud-based DevOps environment by automating state of the art tools and processes to facilitate the development of every release. Now, the same DevOps solution is available to Aras customers in a turnkey environment via the cloud. The cloud environment allows users to have ubiquitous access and collaborate from anywhere in the world.
DevOps and Aras Innovator
In the PLM DevOps race, Aras gets you to the finish line in one quick dash. Learn more about Aras DevOps.