S&OP MasterClass™
#E28: Vibe Code Your Own IBP Solution? Here are the Traps
Welcome to this S&OP MasterClass.
These MasterClasses have the purpose of diving into Integrated Business Planning and Supply Chain Planning in general, hopefully giving you some good inputs on the way.
1233616839
Most production companies have already done the hard work upstream. The demand forecast is in place, inventories are optimised, and the MRP is running on better input. Then the production order proposals land on the planner's desk and the whole thing drops into Excel.
But why Excel?
Software could automate and optimise the job has existed for years.
The short answer is that advanced planning software is built to be configured for any factory in the world, so configuring it for yours becomes a very expensive project.
That’s why Excel wins by default.
But that raises a question many is asking right now. Why not just vibe code an IBP system ourselves?
Ask Claude or ChatGPT for an optimisation algorithm, describe your machines, orders and constraints, and let it run.
In this episode, we discuss this question, and what traps you need to watch out for if vibe coding is your plan.
By the end of the conversation you will know what that building block needs from the platform around it, where the planner and the embedded AI fit, and how to test the whole idea in four weeks before you commit any real money.
In this episode
Chapters
- 00:40 Who this episode is for
- 02:17 Where production planning sits after MRP
- 04:00 The gap between what is possible and what happens
- 04:53 Two options, configure everything or give up and use Excel
- 07:22 Casting, furnaces and a 20-step workshop
- 10:37 Why the business case is easy to find
- 11:42 Why not just vibe code it
- 13:41 From impressive demo to production reality
- 15:20 Knowing when to stop automating
- 17:19 Keep the platform, vibe code only the optimisation
- 21:09 What the platform gives the building block
- 22:29 The planner, the dashboard and the embedded AI
- 26:08 Prove it with a four-week POC
- 27:09 Wrap up
Key quotes
"It's amazing what you can do in Excel and it's super awesome, but it's also super fragile and it's super people dependent. And it's exactly the same trap you'll end in with vibe coding."
"I mean, it's four times as costly having a furnace which is, I don't know, 5 times 20 meters running at 1,000 degrees for two weeks. It matters."
"If you're really good at that, you should probably work in a software company and not being a supply chain planner."
"But you have these tiny things that you'll never get into an algorithm. So in that sense, stop before it gets overly complicated in any case."
About Benjamin Obling
Benjamin Obling is the CPO of Perito IBP at Roima Intelligence, where he leads the product side of the integrated business planning platform. In this episode he draws on the factories he has met in that role, from foundries running 1,000 degree furnaces for two weeks at a time to fast-moving consumer goods producers juggling expiry dates. He is candid about his own trade, admitting that a large share of companies still plan production in Excel because the alternative was too expensive and too hard to understand. He has also enabled Python-based optimisation inside Perito IBP, which is what makes the "vibe code only the building block" approach in this episode practical rather than theoretical.
Contact and follow
Questions, topic ideas, or guest suggestions: podcast@roimaint.com
Find more episodes and get in touch through the Roima website: https://roimaint.com
This podcast is produced by Montanus, https://montanus.co.
Full episode transcription
Benjamin Obling (00:00):
There is a huge gap between what is possible if you look at the detailed production or advanced production scheduling capabilities in the world compared to what actually happens in the companies with AI, with the vibe coding. Why don't we just vibe it? It's amazing what you can do in Excel and it's super awesome, but it's also super fragile and it's super people dependent. And it's exactly the same trap you'll end in with vibe coding.
Søren Hammer Pedersen (00:28):
Devil's advocate here would probably say that we are saying, yes, you can vibe code your solution here. You'll end up in the same place. So what to do-
Benjamin Obling (00:37):
So we haven't really helped our business.
Søren Hammer Pedersen (00:40):
So we haven't. We haven't. What are the steps here in terms of how do we actually go to a working solution in your opinion? Today we are picking up a bit nerdy supply chain planning issue. We are looking at detailed scheduling or production planning. So if you are in a company and feeling the frustration about your planning, especially on the detailed scheduling or production planning, this is the episode for you. You might be in a situation where you have seen a beautiful demo of a planning solution, quickly made everything look good, but it never materialized or you are stuck in a very complex detailed scheduling solution only using a minor part of it and basically still stuck in firefighting and Excel.
(01:36):
So if you find that interesting, this is definitely the session for you. So welcome to this S&OP masterclass from Roima. My name is Søren Hammer Pedersen. In my daily life, I help companies optimize their supply chain planning and I'll be hosting this session. And I brought my good friend and colleague, Benjamin Obling. You all met him before to help me shed light on this interesting topic. Welcome Benjamin.
Benjamin Obling (02:01):
Thank you.
Søren Hammer Pedersen (02:01):
Good. But let's just get right into it. Detailed scheduling, production planning. I'm talking about a frustration here in many cases. Start by setting the scene here. What is it that you experience or the company experience in this area?
Benjamin Obling (02:17):
Yeah. So imagine a company that has been doing an integrated business planning process. They have the demand forecast in place. The process is running. They have a nice or okay acceptable accuracy. They have optimized their inventories. We now have the MRP is running with a better input. We have all of the different proposals on purchases that is running. We are taking the supplier uncertainty into account, blah, blah. It's super nice. The components are there to some extent.
(02:48):
And then we have the production planning. So we have all of the raw proposals from the MRP, which will just say in a normal ERP system or in an IBP system, if it's just let's say a basic MRP, it will just say, when do you need the different products to be ready? That will be different production order proposals. Now you need to place them in the right sequence, prioritize which ones to produce now, what are the different operation steps behind that. This is just so that everybody are on board, also people that are not factory managers. So that's the type. So which production orders do we pick first? What is the sequence on which production lines, on which factories?
(03:32):
And also when we are down to the single operations, so which operations starts where on which machines and what are the order, what comes before and after and so on. And all of this makes a lot of sense when you're in the physical world looking at it. Then you can say, "Of course I can't do the packaging before I've casted the iron that I need for the product," for example. But you could say in a detailed scheduling, you need to tell that to the application.
Søren Hammer Pedersen (04:00):
Yeah.
Benjamin Obling (04:00):
So that's the space. And you could say the challenge that we see with many companies that we meet is that there is a huge gap between what is possible if you look at the detailed production or advanced production scheduling capabilities in the world, you could say different software solutions and so on. What is possible there compared to what actually happens in the companies, there is a huge gap. Only a very few, a small percentage are actually using very advanced planning software for that. And a lot are doing that in Excel, very manually based. So there is a huge gap between what is actually going on and what is possible to automate and optimize.
Søren Hammer Pedersen (04:45):
Yeah. And why is it that in your view that people haven't taken that step? Why are they still stuck in Excel?
Benjamin Obling (04:53):
Yeah, so it is very complicated. You could say the benefit of doing this optimized is huge, you could say here that can be in the output, in making sure that your OEE is high, et cetera. So getting the planning right is really beneficial. There is a huge potential in that, but it's also very complicated. There are many, many constraints, there are orders, there are different rules of what can you run together and what can you not, and when does things start, what is the setup and the production time and all of that. So it very fast gets very complicated. And you can say you have two options when you have that optimization task.
(05:33):
Either you can have a very advanced planning solution that you can then configure. That quite often becomes a very expensive and very complicated project because the world is complicated, unfortunately. And the factory is like a mini world in that case, it is super complicated. So you need to formulate all of that into something that you then need to configure into a system that is built for any optimization task more or less in the world, depending on which software you're using. But you can say in general, when you use advanced planning software, then it is built as something you can configure to anything.
(06:17):
The problem is that becomes super complicated to configure that. And after that, to understand why does it do what it does with all of these tons of configurations that you've been doing. So it's a very, very expensive project and at the end you're only using a fraction of that tool, not getting out of it what you wanted. That's the one option. The other option is to give up and do it in Excel, which I would say probably 80, 90% of the companies, that's a rough wild ass guess, but you could say it's at least more than half for sure that does it in a manual way.
Søren Hammer Pedersen (06:56):
Yeah. Okay. But given those jobs, maybe again dive one step deeper into the understanding of why is this complex before we go into how to solve this because I think that's very interesting to hear. Could you give a couple of example of this planning task from companies you have met and how that was solved then?
Benjamin Obling (07:22):
Yeah, yeah, yeah. As you could say, one example of the complexity is a company that are making very big steel and iron products. They have a casting process in the beginning. They have a heat treatment in the middle. These things that they are casting, they need to be in a furnace for a two weeks period, for example, or different duration of period. And then at the end they have a workshop where they're then doing the final treatment that can be anything from 10 to 20 different steps in the workshop. That sounds easy. That's just a sequence and then you'll go. One of the problems is that you are only casting on certain days.
(08:05):
For example, during the week, you need different molds for different products. So is that mold free on that specific day? Which one should we take given that we have all of these operations? We have the requested delivery date from different customers. These customers are not equally important. It could be that it's delivered together with something else, which is super important and a large order, large customer for example. So priority is important. Then you have the heat treatment in this example here, you have different furnaces. You can put these huge iron things into different furnaces.
(08:43):
But if you imagine you have 20 different furnaces and each of the furnaces can host maybe one, two, three, four, five, six different products together, depending on if they have the same duration, it's okay. If they have the same type, so the same temperature, that's also okay to bulk them together. That of course means then you have a furnace running and this is like 1,000 degrees furnace running for two weeks. So it does matter whether you put one or four into it because you'll quadruple the cost if you don't do this wisely.
(09:20):
And then optimizing all of that together in one optimization is something that in a planning solution, advanced planning software will require a lot of configuration. And then there's of course a lot of nitty-gritty, more detail to it, but at the end of the day, that will just be very costly to do in that software. So for this specific client, then the outcome was then to do most of it in Excel and only using an advanced planning software for parts of it.
(09:54):
Yeah. So that's the, you could say, type of things that are solved. It can also be things like batches expiry of product, for example. You have different product, different expiry dates. You have different customers demanding different expiry. If we are fast moving consumer goods, for example, that's also an optimization task that you need to do. And that's the interesting part, that will be a different part of that advanced planning software solution that you need that the other customer doesn't need at all. But they would both have the full say code base and complexity in the configuration because it's the same software that you use in both cases and that makes it complicated.
Søren Hammer Pedersen (10:37):
Yeah. I think that's an excellent example of why we see that frustration out there because everybody knows this is a problem, but a lot of companies haven't solved it yet. On the other hand, I also hear you say it's not that difficult building the business case to improve this because the costs are quite easy to find.
Benjamin Obling (10:55):
Yeah, yeah, yeah. And you could take that very simple example of the furnace, right?
Søren Hammer Pedersen (10:59):
Yeah, yeah.
Benjamin Obling (10:59):
Whether you put one or four. I mean, it's four times as costly having a furnace which is, I don't know, 5 times 20 meters running at 1,000 degrees for two weeks. It matters. Yeah.
Søren Hammer Pedersen (11:12):
Yeah, yeah. Okay. But if you are in that situation, let's say you are stuck in Excel.
Benjamin Obling (11:18):
Yeah.
Søren Hammer Pedersen (11:19):
A lot of you out there will be. The big question is how do we then actually, what is the recommendation here? How do we move forward? Because the easy thing is to book a lot of demos of a lot of nice shiny solutions and do something. But what are the steps in this if you want to improve?
Benjamin Obling (11:42):
Yeah. You can say the interesting question here is that with AI, with the vibe coding, why don't we just vibe it? So we just say let's use Claude-
Søren Hammer Pedersen (11:55):
Yes, I love that.
Benjamin Obling (11:56):
Yeah. Or we use ChatGPT. We say, "I have this problem. These are the different inputs, this is the situation, these are the machines, this is the operations, blah, blah, blah. Make an optimization of this where you minimize or maximize these different parameters with different weights, something like that. And then you build that." And that's a really good and very interesting question, I think, because you can actually do that to a very large extent. And that means that instead of having this huge application with a ton of configuration options, instead you can actually with these, for example, these two cases that we talked about before, you can actually make optimization algorithms or modules that are a lot smaller.
(12:44):
It would be like 2% of the code base of the other one. And when I say code base, I mean all the, if you do this and then and you select the right optimization algorithms and all of that, it actually becomes fairly simple in that case to do the optimization. The drawback, if we jump to that one, if you just vibe it is how do we avoid that we just end up in a new Excel? It's just a web-based and vibe coded environment where everything, the whole application was vibe coded, the data model and so on is also vibe coded. And then you quite fast end up in something that, first of all, you need someone who can actually do this and vibe coding is, you can build something that looks awesome in a few hours or a few days.
(13:41):
The problem is getting it from there and then into something you will actually put into your production, into your supply chain takes a lot of time because you need to be sure about how is the data integration, how is the transformation from the ERP system back and forth? How are the security around it? Obviously, how is the maintenance? So if it breaks, who will then actually fix it? If you have this one guy who vibe coded it, and that is often the case with the Excel managed companies, which we have a lot of, it is one guy or one girl, one woman.
Søren Hammer Pedersen (14:20):
Even in big companies, yes.
Benjamin Obling (14:20):
Even in big. It's amazing what you can do in Excel and it's super awesome, but it's also super fragile and it's super people dependent. And it's exactly the same trap you'll end in with vibe coding because you will have this one person who is then vibe coding it and understands it to some extent. And what do you do when it breaks? And it's the security of the data integration, all of that, is that in place?
Søren Hammer Pedersen (14:46):
Yeah. But I guess you also in that solution have the same problem that is the reason why you are in Excel, meaning that the nice shiny thing you had before that, you left behind and gone into Excel is probably a course of the last 20% of the optimization here in the end that we have the standard solution, everything looks good and then it hits the real world, daily world in operations and then it's easier to do the 20% manually basically.
Benjamin Obling (15:20):
Yeah, yeah, yeah. Yeah, yeah. And there is also you could say a clearly open question on how far should we go in the optimization? And that is actually disregarding which solution you select, but at some point it doesn't make sense to automate anymore because the amount of data you need in order to give the algorithm what it needs to say, is it A or B at the end basically takes longer than for a human to decide whether it's A or B. And the amount of algorithms and logics you need to put on top of it, again, takes a lot longer than for a human to say it's A or B, because there can be a lot of factors going into that.
(16:01):
And that's really where if you imagine a curve of complexity and automation, you really need to stop at some point when you can see now the complexity will really explode and the labor that will save here is minor because you're probably going to need to have someone looking at your production schedule anyway to have a feeling, okay, what is going on and so on. And now these very nitty-gritty things about say, okay, if we start this on Monday morning, then we have Peter running that production line. He's just better than Hugo is on a Monday or whatever. But you have these tiny things that you'll never get into an algorithm. So in that sense, stop before it gets overly complicated in any case.
Søren Hammer Pedersen (16:47):
Yeah. I think that's a good point. I think devil's advocate here would probably say that we are saying, yes, you can vibe code your solution here. You'll end up in the same place.
Benjamin Obling (17:01):
Yes.
Søren Hammer Pedersen (17:02):
So what to do?
Benjamin Obling (17:03):
So we haven't really helped our business, no.
Søren Hammer Pedersen (17:04):
So we haven't. We haven't. Nice conversation.
Benjamin Obling (17:06):
Yes.
Søren Hammer Pedersen (17:07):
Haven't helped anybody.
Benjamin Obling (17:08):
No, no.
Søren Hammer Pedersen (17:08):
So let's fix that.
Benjamin Obling (17:09):
Yeah.
Søren Hammer Pedersen (17:11):
So what are the steps here in terms of how do we actually go to a working solution in your opinion?
Benjamin Obling (17:19):
Yeah. So we want to keep our robustness. So that means we want to have an IBP solution and utilize our IBP solution where we have all of the platform in place. We have the data integration to the IP system. We have all the transformation. We have the roles, the rights, the security going on. We can adapt the different UIs, so the different screens we see because that's also important. You have the planner dashboards and so on. So you have all of that in place in a robust platform. But the tiny thing that you sort of rip out is then the optimization itself and only that.
(18:01):
Because if you then say, okay, let's vibe code that optimization with the clear inputs, it of course needs to know how many production orders do we have, what are the operations, what are the machines, how are they available, the different logics. You need a UI for that, you need the integration, you'd use your IBP platform for that. And then you have a very clearly defined input. You run then and vibe code that optimization using Python, what we have enabled in Perito IBP. And then you have a clear output, which is basically your production order, the operation, when does it start, when does it end?
(18:38):
And then you feed that back to the, say you have that within the IBP solution and then you have your adaptable UI, you have all of your control, the roles, the rights, the security and so on and the integration because you need to throw it back into the IP system of course as well. And then we can actually make something that is a lot less complicated. We don't need this huge configuration part and we can vibe code. We could say in this case, having that platform together with the vibe coded component, which is now limited and sort of fenced, then we can more or less solve everything.
Søren Hammer Pedersen (19:18):
Yeah. I think that's excellent. And it really, really drops for me the understanding of this is that we are not... Try to think of the detailed scheduling and the whole thing that we are not trying to create a standalone solution or process here. We are actually what we are trying to create is a building block, the optimization building block in the detailed scheduling that we should put into the process, this robust platform we already have instead of trying to build two things.
Benjamin Obling (19:50):
Yes. Because if you build the full everything, then you would end up in your Excel sheet problem. So if we imagined, okay, you would vibe code the full IBP platform, everything, then you would end up in having... First of all, you would have a supply chain planner doing software engineering already, that's probably not a good idea. What are the data model, the security, all of that you need to handle and take place. If you're really good at that, you should probably work in a software company and not being a supply chain planner. But in this case, you can really combine, I believe, the best of both worlds and actually end up having an optimization engine, which is a lot simpler, a lot less complicated and easier to explain also.
Søren Hammer Pedersen (20:40):
And allowing it to build on working processes and security and all those kind of things, but also something that you are already working with.
Benjamin Obling (20:50):
Yeah.
Søren Hammer Pedersen (20:50):
So I think that's an excellent point. So the companies in terms, again, staying with the recommendation of this, the key area, if you want to create this building block, what are the key elements you need to have in that?
Benjamin Obling (21:09):
Yeah, I could say the platform, what the platform will give you is the IBP platform will give you the data integration as one, of course, very, very important part. It gives you the fact that now all the data is safe and secure and you know who can access what. So you have all of the rights and the security. You also have the full transformation layer. And what I mean by that is when you read from the different ERP tables and maybe multiple ERP systems, you read those tables or those raw data on what are the production proposals, for example, as a starting point, what are the lead times, et cetera, the routing data.
(21:49):
You want to pick that from the ERP system so you don't have it maintained in multiple systems, but you need to transform that into something that is... Is this in minutes? Is it in seconds? All of that, that is data transformation. And that is also very important that you have a robust platform for that, which the IBP solution will then also provide you.
Søren Hammer Pedersen (22:11):
Yeah. And where does the human input comes into this in the building block? Because I guess we'll still have that element of things happen or we need to do something or judgment here. Where do they play into this optimization after we have done this?
Benjamin Obling (22:29):
Yeah, yeah. So there's one element is to oversee the plan and approve the plan. And that requires a good and adaptive UI design. So that means your dashboard, for example, your planner dashboard. You can see that, okay, these operations are flowing, this is coming before this one, it's a requirement for this and so on. So that's the visualization part of it where you would have the planner looking at that saying, okay, is that feasible? Does it look good? Can I accept this plan? He/she would then release the different steps in that. But the person here, the planner here will then be guided by the AI, which is then also embedded into the solution, which is also super important, I believe.
(23:15):
Because as soon as we start to get very complicated algorithms going on, and that's also why it goes wrong, I think in many cases and why it's not used that much in companies, the advanced planning, is that when you don't understand the plan, the problem is when it gets complicated, and even when I say that in this case here, then it's a very simple code, but it's not that simple. So because you have multiple things, multiple constraints, things you want to reduce, priority of orders, you want to have your OEE high, but how high compared to a delay of a customer order, et cetera. So you have a lot of things at play and that means we cannot review one plan completely as humans and say, is this a good plan? That's gone.
(24:03):
But it is anyway because the alternative in Excel is that we do a plan which is not optimal. And that's what we're doing now, losing a lot of money. We put one of these products into a furnace that could actually host four and so on because we don't see that. But it gets complicated, that is more optimal. But then we can utilize the AI inside of the solution to explain, so why is this a good solution? It will not be able to explain the full solution because it will take too long, I mean, the full production plan. But what it can do is it can answer specific questions on saying, okay, so now we have three of these products in this furnace, but there's room for one more. Why don't we put this one into it?
(24:47):
And then we'll say, "Yeah, but that's actually because you've frozen this part of the step, which makes it impossible," or it needs to go in there with a different temperature or the duration is different or you had this constraint that blah, blah, or that will violate the customer delivery, for example. It can answer things like that, which would otherwise take quite a long time to figure out. And that's really also where the AI embedded, just like you have with the forecast, you can ask questions or with the stacking policy, et cetera, you can in the same way ask questions about the production planning, which is maybe even more interesting here because it is pretty complicated. So you want to need a wing man.
Søren Hammer Pedersen (25:29):
Yes. I think that's excellent. And I think the best advice that I take away from this is really thinking about it differently than we have. We are not saying, or you are not saying that we should go out and make a huge project, make huge new standalones. It's really about the goal is to think of it as a complex, yes, but still a building block in your already existing ecosystem of planning and process and building that building block into your really robust solutions already.
Benjamin Obling (26:05):
Yeah, yeah, yeah.
Søren Hammer Pedersen (26:06):
Excellent.
Benjamin Obling (26:08):
And you can say, as always, if you are in doubt, whether it pays off or if you're seeing a budget, which is crazy high for a new software, for example, in supply chain, make a POC and then show it, prove it. I mean, let's try it out and then remove some of the complexity and make something that is manageable and let's see how far we get in, I don't know, four weeks or whatever. And if you don't get very far, then you should probably go on and find someone else.
Søren Hammer Pedersen (26:33):
I think that links also to the starting point about the very shiny quick demos that looks amazing. Maybe let it hit the real world a bit and see what happens before we commit a lot of money. But that's a general advice, I think.
Benjamin Obling (26:47):
Absolutely.
Søren Hammer Pedersen (26:48):
Within supply chain.
Benjamin Obling (26:50):
Just like with the PowerPoints that you can now create with AI and so on, everything looks awesome, but is the figures correct? Are we getting any wiser, et cetera? You really need to take that additional step deeper. And one way of doing that can be using your own data, et cetera, because then it's a lot easier to assess if this is a good plan or not.
Søren Hammer Pedersen (27:09):
Yeah. Perfect. Thank you so much, Benjamin. Excellent input here today. And I hope that it came across that we are not saying that this is simple, but we believe there is a simple road towards fixing this problem that is still an issue in many, many production companies out there. So thank you a lot for that. And also thank you all for listening in out there to our masterclasses here today. We really appreciate you dialing in. And as always, if there's something that you want us to pick up on, have a discussion on, feel free to reach out. Also, if you want to know about what Roima is doing on the supply chain planning or the execution, we are here to help. Other than that, I hope you all have a wonderful day out there and that you tune in again next time.
-
Roima product
Perito
PERITO IBP
Additional text for product card: A complete Integrated Business Planning package designed to help you navigate rapid changes in your business and profitably manage your supply chain. -
Podcast
PERITO IBP Podcast
#24: Balancing and Executive Review: How to Stop Strategic Decisions Being Made on the Warehouse Floor