As companies continue to look for new ways to optimize and transform business processes, they are generating an unprecedented amount of demand for their IT departments. This demand comes in the form of small tweaks to existing systems, large system projects to implement new functionality, minor and major upgrades of software to keep up with new capabilities, or in simply managing the everyday changes of an organization. Regardless of the size or content of the change, IT departments are expected to “rise to the challenge” and manage these new requirements quickly and efficiently to keep up with their evolving organizations. In the game of “how fast can our IT department run today,” the system development engines are on overdrive and require new approaches and technology to meet the demand without increasing the cost to the business. In order to accomplish this, businesses realize the status quo for system development is no longer effective and requires a new, holistic culture change.
Ladies and gentlemen, step up to the line and start your DevOps engine.
A Culture, not a Technology
The first thing to understand about DevOps is that it refers to a change in culture which merges software development (Dev) and IT operations (Ops) to improve the software development and delivery process within the organization. The culture itself provides the fundamental structure to improve the speed and quality of the development process. The objective of a DevOps culture is for the operations area 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 obvious advantage of this philosophy is that increased communication, integration, and collaboration among the IT players allows for the identification and resolution of issues as they happen—before the scale of process or coding problems can expand into time-consuming struggles to correct them. Critical IT players—the developers, testers, operations, and infrastructure resources work within the same processes and set of 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
People first learning about DevOps may be confused between DevOps and Agile. Are they the same thing? Do they work together? What’s the difference?
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. On the other hand, a DevOps culture joins together the IT development and testing teams with the operations area 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 achieve additional improvements to the velocity and quality of their end-to-end software development process by also embracing a DevOps culture. DevOps allows IT to work in conjunction with Agile’s fast paced sprints and reduces delivery bottlenecks.
The Need for Technology
After a company makes the decision 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 tightly integrate these tools to work seamlessly, requires considerable effort and buy-in from the business. Furthermore, implementing the automation and controls for these processes to ensure all the functions are working 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 has been attributed to 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 applications are integrated right into the DevOps environment and are configured to automatically execute every time a code base is saved. 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.
DevOps for PLM
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 quite complex.
In the PLM domain, few software vendors even 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 their specific requirements. Since most PLM software is not easily customizable and requires considerable testing to manage change, the addition of a DevOps environment is particularly valuable to facilitate the change process.
So how can PLM system owners start the process of adopting a DevOps culture and implement the necessary tools?
One notable exception to the lack of DevOps products for PLM is Aras DevOps. This makes sense for Aras users because the Aras platform is built to support customizations while never affecting the customer’s ability to upgrade the environment. Every one of Aras’ customers have customized their PLM environment or built unique applications on the platform to meet their specific, complex requirements.
Aras adopted a DevOps culture years ago, resulting in a cloud-based DevOps environment—integrating and automating state of the art tools and processes to facilitate software releases. Now, the same DevOps solution is available to Aras customers in a turnkey environment. The cloud environment allows users to have ubiquitous access and collaborate from anywhere in the world.
In the DevOps race for your PLM, Aras brings you to the finish line in one quick dash.