Following the overarching concept that everything programmed into Deacom’s ERP software can be made to work twice as fast, this excerpt captures the guidance provided to the internal development team on where to focus their efforts when looking to improve the performance of the system.
The full transcription follows:
I’ll start with a statement that if each one of you is not focused on performance every single day, you’re not focused on the right stuff. Let me say that again, if you’re not focused on performance every single day you’re not focused on the right stuff. Performance drives everything.
I don’t care how well something works for people, if it doesn’t work fast enough, it doesn’t work. So you start with that. You have to start with performance every single day.
I made a standing bet, I’ll make it again. I will bet anybody $20 you can’t bring me a piece of code that I can’t make twice as fast. That’s a bold statement. No matter what it is, no matter how well it’s optimized, I can make it twice as fast.
And so we always have to start with that concept that every single thing we have we can make twice as fast. So the first question you have to think about, is where am I going to spend my time making things twice as fast.
And so the first thing you have to look at is from a users’ perspective, is what’s slowing down and what’s acceptable performance. So, when a screen refreshes, the eye and your brain can’t process as fast as the screen can refresh. So if I have a screen that say refreshes at a quarter of a second, and I make that twice as fast, and I make it refresh at an eighth of a second, my brain can’t process that fast enough. The difference between a 1/4 of a second and an 1/8 of a second is meaningless to my brain so it doesn’t make any difference. So even though you’ve made that twice as fast, you haven’t helped anybody.
Now if you can go and take something that takes 5 seconds, and turn it to two and half seconds that is meaningful. So the first question is taking a look at the load and how we distribute that load and where do we need to go apply our resources. Because nobody has the resources to work on everything all the time, so we have to be smart in how we do that.
The second part of that is understanding whether we are in a loop or not. So when you come in in the morning and you turn your PC on, in most cases it probably takes some number of seconds for that to start up and for the screen to become active and for you to work. And you look at that and you go, “that’s ok.” You come in, I turn it on, it takes 5 seconds, 10 seconds, 30 seconds, it really doesn’t matter that much, so long as it’s not 10 minutes, it’s a problem. but if it’s a few seconds, I can deal with that.
But then once I’m in processing and programming, if something’s going to take 5 seconds and I’m doing it repeatedly, that’s a disaster. And so we need to look at that from our customer’s perspective. When they’re trying to issue a lot to a sales order, if that takes more than an instantaneous response – I draw the line at a second, or somewhere even below a second, if we’re issuing a lot to a sales order and its taking more than a second that’s unacceptable performance. You have to go figure out how to do that and beat that. Whereas if I’m running a report on how many lots did I ship this month and it takes a few seconds that’s acceptable.