The Ongoing Process of IBM i Modernization
This transcript is edited for clarity.
Charlie Guarino: Hi everybody. This is Charlie Guarino. Welcome to another edition of TechTalk SMB. For today’s podcast I’m very happy to be sitting here with Mr. Koen Decorte. Koen is the information and communication technology consultant for IBM i. He is the owner of CD-Invest, which is an IBM i modernization and innovation consultancy based in Antwerp, Belgium. Koen, it’s a real treat for me to be sitting here with you and talking about IBM i modernization. Thank you so much for joining me.
Koen Decorte: Yup, happy to be here.
Charlie: Excellent. Koen, you and I have been talking a lot recently about IBM modernization, and one thing that I always say whenever we have this topic is it’s such a funny word, because depending on who I’m speaking to, it has so many different meanings. I feel very confident that if I ask 6-10 different people what it means to them, I will get ten different responses. So how do you interpret that to me when I say what does modernization mean to you, especially on IBM i? What does that mean to you and why does it vary so much across different organizations?
Koen: Yeah, modernization. If you literally translate... it’s Latin. It means right now. So it means your applications adapted to the world right now that you change and evolve it with the world right now. That is, for me, modernization. So in some cases if your application is running fine, it can mean we just change something on the database and we evolve the company forward. So modernization can mean many things for many people, and for me it is being in the right now. My application is ready to serve everything my company needs at this moment in time. For example, for some companies it can mean that you have need for changes on your database, so you can easily put them in. You can evolve that. Sometimes the business logic needs to change. Sometimes it’s the interface. Like you say, it can mean many things for many people. But the main thing, the most common denominator between everything and everybody is that they all want their application to be ready for now, being in the moment.
Charlie: But I think it goes beyond that. It needs to be prepared for the time right now—I agree with that—but I think we also need to keep our eye on beyond today.
Koen: Yes, it always goes beyond today, but that I call more the innovative part. In many applications, you want to be innovative. You need to change for the future. You will prepare your application to have AI in, to have this in, to have much new stuff in. But yeah, the first thing on the modernization is being able to do the things you want to do, because many customers see that the application is not doing what the business needs today. So it’s first bringing them up to par to let the business be able to do what they want to do today, and then evolve it further. I saw that customers that move, for example, to SAP or to Microsoft Dynamics, their new application is also not doing what they need it to do today… They are ready to adapt all to new technologies. That’s per se the definition of being modern: you need to be adaptable to everything. Yeah, most are looking at adding AI or adding a new interface, adding a connection to other systems, moving part of the application to cloud. It can be a whole bunch of stuff that can be added on, or for some of our customers, it’s adding a 3-D configurator. It can be a whole wide stream of things that you change.
Charlie: It’s interesting to me, but by you saying what you just said, getting your application being able to run today—that’s considered modernization. I think that has now separated in my mind the difference between modernization and digital transformation. I use the terms interchangeably, but that’s not really correct. Digital transformation to me is once you are now modern, I think going to more emerging technologies. Is that a fair statement?
Koen: I would say that’s a fair statement. Digital transformation is going indeed beyond modernization. It’s going towards emerging technologies like AI, like Blockchain or like adding Internet of Things to your applications, or even moving part of your application to cloud native.
Charlie: Let’s keep going along those lines then. We talk about modernization—we don’t just wake up one day and decide to modernize. Typically, there are some business triggers that would have a company either decide to, or quite honestly, be forced to modernize. What have been some triggers that you might have seen out there?
Koen: Yeah, in many cases, either the business that says okay, we need to modernize. For example at some customers it can be the new people coming in, they don’t understand the green screen, they don’t want to work on the green screen. It can be that the users don’t want to work with the application or that business owners, when they see an old application, they think they need to have a new one. It can be just a screen or it can be a new application linking into others, or even adding in AI or adding in a new machine. For example, a customer wanted to add in a whole new factory floor, and at the same time they wanted to add in some IoT linking to PLCs. So it meant changing the whole application and the way they worked. In many cases the business use case comes also from the whole transformation of the business itself, because now you have a lot of—I call it political discussions with customers. They want a new interface or they want to go to SAP or Dynamics. That is something you hear a lot, but in many cases, they don’t really want an application, they want a more modern screen. They say okay, we are going to change the way we work, change our production way of working. The business is also really taking charge of the project. Then you really get a good innovation or modernization project to move forward. Then when the business carries also the project, it will more likely succeed because in many cases, I saw a lot of failed projects both in the modernization or in the moving off, I would say.
Charlie: When you’re brought into a business for this discussion, there has to be I think an initial evaluation on determining the company’s readiness to even begin a modernization project, or even just to have that discussion. What might be some of the key components or indicators if you will to help a company to identify its readiness to modernize applications?
Koen: In many cases, this comes from when you are called in. We may be called in when something failed or when they can’t find new people to work on the platform. That is the two most common things. I call that external factors because they are put with their back against the wall. They don’t find any new people to work on their platform, they don’t find any new application that works for them, so they are put with the back to the wall, and then there is a readiness to do something. But also sometimes they want to do an AI project, they want to do something really new and they need the data or they need something or somebody that can read the old data, read the logic in to feed the new system or to feed it to the new application that they want to build, or they want to build something which is either spatial or with IoT. They need somebody that knows it. Then you’ve got the business needs, and they carry the project. They are already willing but in many cases willingness these days comes from back against the wall. I see that with a lot of customers.
Charlie: It’s really unfortunate I think that we have to wait until people’s backs are indeed up against the wall, because then I think sometimes you make decisions that you may not have made if you had the benefit of more time.
Koen: Yeah, if you have the benefit of more time you would make different decisions. We have customers that really want to be innovative—change constantly, invest constantly in their applications. You have those that say, IT is not a cost. IT is what makes me. It is part of the company; it’s an asset and not a cost. While others in many cases treat it like a cost, it will end up being yeah, back against the wall in many cases.
Charlie: Why do you think some companies wait until, again, their back is against the wall? Do you think that they view it as a risk to the enterprise to start a modernization project, or is it just because they’re just so busy with everything else and it always gets pushed to the back?
Koen: There are several reasons but the main reason I think is because the people are reluctant to change. That is human nature… and then since they didn’t change and it ran fine all those years, they saw it more as not so costly, or in the end it becomes costly to change or do anything because we didn’t change anything all those years. They are also not aware sometimes of the possibilities of the platform. Many customers that I visit are not aware that you can run, for example, some open source application, or that you can do some OCR with the platform, or that you can do even AI with the platform. They think it’s just a box for the old stuff to run, and when we don’t need the old stuff anymore, we will move off. In many cases it’s seen as a cost. Just let the legacy run and don’t use it.
Charlie: That’s a good point. So clearly, education is very important here.
Koen: Education is the most important thing. That’s why I try to go out and speak to a lot of customers and attend a lot of events. I try to educate people and point them to the fact that they can do all that with the platform. Even if they don’t use it, they know it exists and they think differently of the platform, and they think differently to move forward. I used to say it a lot: Legacy is like in the Middle Ages when you had the Renaissance. They talk about the Dark Ages, but you had a French philosopher that said okay, we are like dwarfs sitting on the shoulders of giants, which means we can see further and do more than the giants in the Renaissance. So the Middle Ages were like the giant that evolved the whole legacy that was there. If it wasn’t there, we wouldn’t have Michelangelo or a Raphael. So we cannot create a very good application without all the knowledge we have from the past. Yeah in many cases it’s an asset for companies, but they don’t realize they have an asset. They see it as a cost and they want to get rid of the cost.
Charlie: So we talk about how some companies have their backs against the wall and things like that, but beyond just a traditional modernization project where we’re updating a database, for example, or the UI or the languages themselves or the whole thing, there has to be more to it than just that. There has to be the ability to implement new processes and new technologies, and maybe even better security. Have you seen situations where security alone is the most important thing, and if we can implement better security, then we are more modern? Have you seen those situations?
Koen: Yeah, I’ve seen situations where we were brought in just to do the security. We had that at a customer in insurance, because they gave to their insurance brokers 5250. It was a non-SSL all over. They just divide it all with, I think, the lines to all their brokers. So we had to change the application to be on the web with AC/TPS and everything so they were more secure. The whole reason to do the project was to be able to close the Port 23 on the firewall, so security was the main driver there. Also at some other customers security is the main driver, like when we have to implement even encryption on the database because they need to be more GDPR-compliant. So you have those cases where security or wanting better security can trigger the whole project.
Charlie: But it doesn’t stop at security. Anything like security, or having the requirement for IoT or even a more modern UI, whatever the case is, this I think is how you build a business case to get budget—
Koen: Yeah, yeah. You can get the business case and get the budget from either upper management or the business owners in many cases because that will justify the cost to the company. Because in the end, they will want to have a return on investment. They will want to know okay, what do we get when we invest in this or this? Is this really necessary, or can we live with this?
Charlie: And I don’t think any two modernization projects are alike, because everybody has different modifications. Their legacies work differently perhaps, and also the choice of which new technology they want implemented might be different.
Koen: Indeed, it’s always different. If you look at all our cases of this, it’s even different technologies that are used. Sometimes it’s Node.js, sometimes Python, sometimes RPG, sometimes a combination, sometimes just Java. It depends also on the knowledge that is present in the company or what they want to achieve, but yeah, today I would say you don’t have a one-language solution anymore. You will have to have multiple languages.
Charlie: One thing I know for sure in any project of this scale is that there are what I call many moving parts, and a modernization project is a big project potentially. One thing that comes into my mind of course is project management. How do you typically manage these projects? Is there one ideal strategy that works to help you get from beginning to end?
Koen: For us, it is what we call the work back. It’s a methodology where we put all the things that need to be done on the list. We divide the project in different work backs and then for each of the items on the list, I go through with the business and we use like the Eisenhower matrix where we decide okay, is this important and urgent? It gets rated higher than just an important one, than just an urgent one, and then just not important and not urgent. So in the end we just score everything with 100 to 50 or 10 and a zero and you only work on the 100s because you will see with all your work on the 100s, you will get more success out of the business…. In the end, you don’t work on the 10s or zeros. It’s something you can either delete—zeros you can directly delete and the 10s—in some cases you will end up working on the 10s, but that’s really an extreme case. In many cases, 10s you won’t do as well.
Charlie: So it’s a weighting system. You assign different weights to different tasks and then you—
Koen: You assign different weights. That’s the technique that General Eisenhower used in World War II to make his decisions. He gave the same weights and what needs to be done and what you can do, what you cannot do—yeah, sort of prioritizing system on the to do list. And with the work back you make to do lists for each individual part. For example, if you have to rewrite the bigger ERP, I would say, “okay, purchase.” I will have to do this, this, this. For sales, we need this, this, this, and you rate everything accordingly. And with that rating you can then say okay, these are the priorities within all the 100s, the top priorities you will also rate and give an order on that. And each time you finish some of those things, you go back to the business and be in a kind of continuous cycle. We do most of our projects like that.
Charlie: You know another thing that comes to mind as we’re having this modernization conversation is the skills of the development team. That’s very important. We need to have people who are at the top of their game to implement these latest technologies. What kind of training or skills should somebody have if they’re going to really be successful in a modernization project?
Koen: You will need to have recommendations, so they will need to have somebody that can still know the business or read the business logic from the older programs, have the knowledge on the database or can read the older code to see what is happening on the one side and on the other side. You will need to get assistance from people knowing the new technologies—like Python, like Node.js—and have a combination. I think the times when you were the full stack developer, I don’t think that is still possible because you cannot know all the different technologies. It evolves too fast. You can say I know some Javascript or I know some RPG, I can build both. But in the end, you will not be able to have all the knowledge on each of those technologies. That is no longer doable because in many cases for us, we put some young guys that know Python, that know Node.js, together with an older, experienced RPG developer. The young ones [learn] RPG fairly quickly. That’s easy—it only takes them a couple of weeks and they are already writing Free RPG with SQL. But then on the other hand, they lack the real business knowledge to write the applications, and that is something we sometimes underestimate. The older developers, they have also a lot of knowledge on the applications and how applications really work, while the young ones are probably more technology versed than the older ones.
Charlie: I agree with you. It’s very often a very sad day when somebody who has been in that shop for 20, even 30 years, when they walk out the door that last day. That can be very scary for many companies.
Koen: Indeed. They underestimate what walks out, especially in terms of business knowledge. In many cases they didn’t do any knowledge transfer to anybody else and that is a huge mistake that is done at many companies. That’s when they end up with their backs against the wall because in many cases, it’s not the knowledge of the application, it’s the business knowledge that has gone out of the door like you say.
Charlie: Maybe even more important.
Koen: Yeah, the business knowledge is more important because you can always read a program, but sometimes you don’t know why it is like that. You say okay, this program has this IF and they put this in this field, but yeah, you don’t know the reason why the business put that IF in. If it is not documented, it’s a question mark.
Charlie: Koen, one thing I talk about whenever I discuss modernization is getting—what I say is getting your house in order. And what I mean by that is I think if you’re really going to embark on this journey of modernization, clearly in my opinion one of the things you absolutely need to have—and I think hopefully you do already have as a customer—and that is a good change management system. That’s really vital I think to start this journey. Is that something you would agree with?
Koen: I would definitely agree, because I say that to all the customers. You get more management system. And you go to even versioning of your code, just use it like that, just use a GitHub or use Tortoise or another SVN. You have a lot of them out there, just use one and have versioning already on your code—not even alone on your code, but also sometimes on your front end or JSON files. We do it even for the 3D files at a customer for 3D configurators because we also put them in and so like text files you also get versioning on the front. You can see okay, we made this change, and then you have to write some small comment why when you put it there. So you have some trait that somebody changed something and then you can see okay, this was for that, this was for that. These changes need to be done together or implemented together.
Charlie: I guess you’re referring to third party, but I know some companies even have their own custom built change management system. That would also be sufficient, I think.
Koen: Yeah, that can also be sufficient. We have customers that build their own system as well where they keep track of all the changes and really document it well and then move everything to production. That is also okay. You don’t need to have a product or an open source project that you use. It can be something you’ve written yourself, but you will need to keep track of the changes and try to manage the changes.
Charlie: All right. So I have my last question on traditional modernization, and then I want to change gears on you, change topics. But end of the project is—when does modernization officially end, or does it ever really end? Is it an ongoing process?
Koen: For me, it’s an ongoing process. It doesn’t really end. It can end. The business can say okay, we pause and we will see within a year or two, but in reality it never stops. You will need to keep changing and follow along with the changes because that way you stay current with your application and everything. It doesn’t stop. It’s like I say—you always keep up to being the application you want to have today. So it doesn’t stop. It’s an ongoing process.
Charlie: At what point do we stop saying the word modernization and just use the word refactoring, or is that even a fair question?
Koen: It depends, yeah. It can be really a refactoring or transforming digitally even in the end. It’s how technology works. We have customers like that where we did all the stuff. We helped them even move some parts to other applications. And now we are moving some parts back, changing again. It’s a constant change. IBM, for two or three of those case studies within the last five years that they are published, there are already three or four updates because it constantly changes, and those were already modern applications. One was with a 3-D configurator; the other one was with a lot of IoT and PLCs linked in, and we already changed those applications twice or three times during the last five years. So it’s a constant change, but my personal experience is once the customer sees value in the new applications, they constantly invest in them. And they also attract younger people as a company, not only on IT part but also on the other parts of the company. You see a more dynamic company in those cases.
Charlie: Because it sends a message that the company is willing to adapt new technologies, and it becomes a fun workplace.
Koen: It becomes a fun workplace and you see that young ones want to work in those companies while others that don’t do it, they say okay, we do a quick this or that and then they stop all those things. You see that young ones don’t stay in those companies.
Charlie: That’s a fair point.
Koen: Especially when you look around now, more and more companies are having difficulties finding people. Especially here in Europe, it’s not so easy to find skilled people or people even wanting to work for some companies. Young ones are thinking differently in some cases than we are.
Charlie: I want to spend a few minutes on pure digital transformations with a real focus on AI, because that is the topic that’s on everybody’s mind. Anywhere I go, I know anywhere you go, anywhere we speak, we hear AI questions. So let’s talk about AI, especially on IBM i. First of all, how has AI maybe begun to transform the landscape of IBM i applications? Have you seen an impact already?
Koen: I’ve seen an impact already because in many cases, you need to transform or change your application to be ready for AI. Sometimes you can have like a field in a database with a price of zero. Getting the price of zero can mean okay, you have to ask the manager. But that is something AI cannot detect or cannot know, so you will need to create a separate field for that, adapt your application. The zero is not really a zero in that case—it means ask the manager—so, a separate field with true or false. Okay, we have to ask the manager. In some cases, you have another in the same instance—like all 9s can mean something different. You will need to adapt and clean that out so you get a very clean database. My son is teaching that at university and doing a lot of projects. He says that cleaning up the data and preparing everything from the data and the rules from the application, it will take you a long time. Most of the time 80%-90% of the project will be doing that—just getting the application ready, getting the data ready and then building a model will probably take you a few weeks. We have seen customers that have to clean up a lot of stuff. Like in Belgium we have until last year the largest IoT network in the world where they collect data for how much rain will fall in places. That’s, I think, between 400-500 devices out there. It’s already a three-year project they are doing at university here, and they are still in the phase of cleaning up the data, getting the application ready to be able to do the first AI prediction. So it’s still a huge amount of work.
Charlie: So it’s not really surprising to me that data cleansing is a big part of this, because clearly you need good data to make good forecasting—
Koen: You need not only good data but also good definition of the business rules the model needs to take into account. Because you can just have a prediction model, a normal prediction model. So you need to say okay, I predict I will sell 100 pieces. But if you only sell 90 and you have 10 surplus in stock or if you are able to sell 110 and you don’t have the 10, what is costing the company more? Is it having those in stock or is it not being able to sell the 10 or having the 10 in your inventory? You need to have those cost rules on top of your model, because otherwise your model will not be worth anything to your company. It will always predict you will do 100, but in some cases you will end up at 90 or you will end up at 110. So you want to correct the model to be as cost effective for you as possible. We take into account your business. We have customers where we implemented models like that to where they don’t want to have the surplus in stock, so we correct the models and level down the prediction. Other customers will always want to have the opportunity because keeping inventory doesn’t cost anything. They will want to sell the 110, so we will overestimate or have the model take into consideration events where they sell more than predicted.
Charlie: You know Koen, we started our conversation by saying modernization is bringing the technology up to current standards, and then we can have the discussion after that to talk about emerging technologies. But surely there are customers out there today who are running pure legacy applications—we’ll say not modern. But they hear about AI, they hear about what it is capable of doing and they say we want to do this today. I guess the question is, is it possible to run something as advanced as AI on a legacy application, or are there some basic requirements that have to be done, that are not negotiable, that we must do before we can implement an advanced technology as AI?
Koen: Yeah, in many cases. A must have is already having SQL-defined database. That is a must have because many of those systems, they will expect data fields to be data fields, where they do calculations and not have like a character or a numeric field… So we will not be able to do anything if your database is not already in order. You can still run the green screen, you can still run your old code, but your database will need to at least either do it through a trigger and have a view to be the dummy of your physical file but have like SQL fields beside it that contain then the correct date format, for example, or other fields for that matter. But you will need to have a correct database as a minimum.
Charlie: So we talked about some basic skills that a development team needs to have to modernize. Are there any additional skills that people need to have on their teams to integrate AI into an application?
Koen: You will need to have the business knowledge on your team to implement AI. The knowledge of the database, the size knowledge of the programming, you will need to have the domain knowledge. So the knowledge of, for example, to predict where to have some stores. You will need to know the market, you will need to know the competition, you will need some business knowledge…. If you want to have prescriptive power or more analytics, you will have to have domain knowledge and sometimes even just common sense. We had a customer that came to us. They had already tried to implement two AI systems. They have a lot of logs on their websites and all kind of visits, but they forgot that they also had to grow illusion and they had to filter them out. Nobody had the common sense of looking at that, so all the models they already built were wrong. They were not built to give the correct discount to Google and then to do the real discount to a real end customer. So… especially domain knowledge is the most important.
Charlie: But when you say domain knowledge, I think in this context we’re referring to somebody who understands the technical requirements.
Koen: Yeah in that case it was technical requirement, but also in other cases—in insurance, it’s somebody that knows the business of insurance, or somebody that knows the business of banking, how investment banks work…. For example, customers with furniture—how they build the furniture, how the furniture market works, what type of shops are rare… I learned from the customer that you can have different seating comforts, and certain markets don’t want certain seating comforts. If the furniture you build is, for example, hard-seating comfort, it will not work in many Latin countries because they prefer more soft-seating comfort. So if your AI model doesn’t take that into account or you don’t add that knowledge to the system, the system will say you should be able to sell in that country. But in the end, you won’t sell in that country.
Charlie: Got it. That makes perfect sense to me.
Koen: Yeah, and many people forget that you also need that knowledge.
Charlie: Koen, I think we could talk all day because it is such a fascinating topic, and this is such a new topic.
Koen: It’s a new topic and it’s really a topic I like to be involved in a lot. I find it is always fascinating to see what you can do already. If you see what they can do with, like sports analytics or anything on the AI side. It’s sometimes really impressive what they can do.
Charlie: I couldn’t agree more, but we’ll leave it here. Maybe we’ll have you back for another conversation at some point—maybe just all on AI because I think that could even be an entire podcast just on that one topic. I mean how can it not be? Anyway, I do want to thank you very much for your time today. Thank you so much. It has been absolutely fascinating. We’ve been speaking with Koen Decorte of CD-Invest, again an IBM i consultancy on modernization located in Antwerp, Belgium. Koen, it’s been a real delight speaking with you. Thank you so, so much for your time today.
Koen: Thank you as well, Charlie. It was nice talking to you.
Charlie: Always a pleasure, thank you. Until next month, we’ll talk to you then. Bye now, everybody.