The Future of IBM i+ CI/CD: Best Practices for AI
August 23, 2023
In this series, we’ve discussed the changes happening around IBM i teams, the importance of CI/CD for maintaining a competitive edge and how automated testing is a key component, and how AI and its precursor process discovery can propel the evolution of testing and the concerns and limitations of AI.
So now what?
As an IBM i owner, you’re likely trying to envision the future for your IBM i as well as what steps you need to take to make it a reality. Below, we’ve outlined key considerations to review when determining a future DevOps strategy within an IBM i environment, specifically around incorporating AI as a tool within the IBM i environment.
What Type of IBM i Company Are You?
There are 3 different types of IBM i organizations:
- Your IT environment is IBM i only, now, and forever. You don’t have other systems where you host applications and data; and if you do, the other systems are incidental, at best.
- IBM i is the central system within your IT network, but you do have peripheral systems and places where you need to engage the applications and data on IBM i.
- IBM i is an important but not central system within your IT network. Other systems also host critical applications and data, and the organization is trending toward increasing complexity.
How would you answer that question today? How about five years from now? If you are the first type of organization and don’t see that changing anytime soon, perhaps you don’t expect to take advantage of modern tools, technology, and trends. Most IBM i organizations tend to look more like the second option, where IBM i is central in the network, but there are other systems that IBM i needs to work with. Often, organizations in the last type are large and have had mergers and acquisitions in the past. The last two types of IBM i organizations benefit the most from adopting modern IT best practices, of which intelligent testing is one (or will be soon). Organizations that are more like option three are often already on the path of planning how to take advantage of new technologies or are planning to start down that path soon.
Move Toward Agile Development
If you’re like most other IBM i teams today, you’re already on the path to agile product development; slowly, perhaps, but on the path nonetheless. The need for agile processes is greater than ever before if you want to take advantage of modern tech and best practices. AI is fast and iterative by design, as new data and outcomes must be continuously fed into algorithms. AI will quickly break down into a waterfall development and process improvement approach.
If IBM i teams speed up the DevOps and modernization processes, the amount of data available from process discovery to either the IBM i team and/or to AI increases significantly. It also means feedback to the model is fast, allowing for faster tuning to the model’s intended goal than if development was deploying code only once or twice a year.
An agile approach could also make it easier for businesses to quickly test new tools and adjust based on what works best for them. For example, maybe you adopt Git for your source code repository but find it doesn’t really provide the functionality you had in your previous tool; with an agile approach to DevOps, you can make adjustments quickly.
Reimagine QA in the World of Intelligent Testing
No matter how much automated testing you have, you will still need manual testing. But QA won’t need to look for superficial bugs like color issues, spelling errors, or the location of fields—because test cases can be easily built with intelligent testing and shared with development early in the CI/CD process.
Instead, QA can focus on higher-level issues that could affect the functionality and usability of the application, such as user, regression, or exploratory testing. QA teams can also spend more time figuring out what needs to be tested and building more comprehensive test cases based on process discovery.
The question is: what makes sense for both your DevOps process and the larger organization?
Build a Data Strategy… And Stick to It
At its core, AI is a data synthesizer and juggler. It relies on high-quality historical data to feed the model and uses the data it receives to create uniquely aggregated outputs. Continuous data inputs then feed into the AI model, so adjustments are made to fine-tune its performance.
At their baseline, organizations need a data strategy to ensure the availability, quality, and security of their data, especially if that data is Personal Identifiable Information (PII). The strategy should include:
- Data governance policies—how you handle PII and ensure that biases are not built into models.
- Investing in data infrastructure.
- Building an AI team to build and monitor models.
- Training employees on best practices for data management.
Start Collecting Data Now
Since AI relies heavily on good historical data to get started, organizations should start collecting data now. The types of data you’ll want to collect are:
- Copies of databases
- Data on workflows: how users engaged the database and the applications
- Information on how things work: for example, if you want AI to help process insurance claims for the United States, make sure it understands how insurance is regulated in the U.S.
- Language models
One of the easiest ways to get started is to keep audit logs each year. However, you will need a recorder that understands the ins and outs of the IBM i system to collect all the relevant data. It should be able to track engagement with an application, such as libraries accessed, the application’s business logic and how it engages other applications, as well as the steps users take through an application.
Envision How DevOps Teams Coordinate With Data Scientist Teams
Typically, data collection and R&D happen in different departments of a company, which makes for a potential disconnect when considering time to market. To take advantage of machine learning within DevOps, the code should be promoted throughout the development cycle. DevOps teams should coordinate closely with MLOps or ModelOps teams when deploying new software packages. DevOps can also adopt AI engineering best practices to better align with MLOps/ModelOps teams.