Hi, my name is Peter Gadzinski and I work for a company called MaxScheduler. We're continuing our web surveys for manufacturers and printers about software challenges they face in their businesses. We want to share our experiences. MaxScheduler has been in the scheduling software business for about 15 years. We've helped companies schedule around 300 million tasks. Myself, I'm a Scheduling Expert and Product Manager. My LinkedIn profiled is here: https://ca.linkedin.com/in/petergadzinski
Today's chapter is about building your own enterprise system. Say you've gotten into the point where you have an accounting system, you need more functionality out of your software, you go looking for enterprise software out there, you've heard of all the failures and the cost and complexity. The costs can be 20,000 to 50,000 and you think, "Why don't I just take that money and build my own?” My overall suggestion probably it would be a bad idea. This is me speaking as someone who’s a supporter of large scale systems and has helped build some of them.
To make a parallel, if you wanted to go buy a car, would you go buy it from a car manufacturer or would you try to build one yourself? Most likely you wouldn’t build your own because you may end up with something that’s basically that picture here. The same goes for building a software system. It can be even more complex. That cart does look like fun though.
Let’s get into some of the negatives about building your own system. It will be expensive and can take much longer than you plan. Typical enterprise installations take 6 months to 2 years. If you’re to build one, you have to put that planning and building time on top of that implementation time. Steps for building an enterprise system. You have to start off with requirements gathering. Figuring out what the software system is supposed to do. A good programmer will plan out what they’re about to build, that they won’t just start building something. This can lead to danger. There will be the time to actually program the software. The system will need to be tested because it is a one off and then there will be ongoing support and upgrades.
One of the things you’ll lose out if you build your own, is economies of scale. Similar to going back to that purchasing a car, you get a benefit that General Motors has built thousands of cars a day, they know what they’re doing. They can pass on savings to you and you’ll benefit. If you built your own, you lose that economies of scale benefit.
In the industry there are best practices for building these software products and some of that knowledge of that is generally shared. If you’re to build your own, you’re not going to have the access to these best practiced details or you’ll need to discover them on your own at your own expense. In general, software development is expensive and risky.
I will throw out a scenario that I’ve heard with from customers You own a manufacturing company and you’re considering to purchase or build an enterprise software system, you run across a younger ambitious programmer who says, “Hey I can build you something. No problem, it will take me 2 weeks, it will be better than buying something off a shelf. I know exactly what you want.” In terms of those timelines programmers are famous for underestimating their time estimates. They don’t really dig into the details. They misplace their expectations while giving you a short timeframe and then when that timeframe comes and goes, they either come back asking for more time, more money or they disappear.
If you choose to build you’re a system on your own, one of the key things you need to take into account is if you hire a developer or a software development company, that relationship with that company is not going to be done when they’ve built the first version. It’s going to be a relationship that you need to maintain and grow on with the future because they’re the only ones who really understand how that system works. The tough thing is that from a software developer’s perspective, the most money they make is upfront in building the first version. Once that system is done, they’re going to start losing interest.
I’ve known a few companies that have been in this situation. I know one specifically , they got a software system built relatively for cheap and after a few years the company that had built the initial version basically squeezed the end customer and said, “If you want us to continue being your software supplier, you’re going to have to give us 5 times the amount of money you initially gave us.” What this was, was the customer essentially getting fired. It’s a tough situation but these type of things happen. You should really strongly consider this who you’re starting this project with and will this work in the long term.
There are positives of building your own. You’ll get specifically what you need. If you buy from a vendor sometimes these vendors also can be bad to their own customers. It was quite well known in the printing industry there’s a company called EFI. EFI purchased a few printer MIS systems. They had a number of similar products under their umbrella and they basically suspended development. I think they had 5. I think they suspended development on 3 of them. They tell all their customers, “If you want to continue using our products, you’ll need to migrate for a great cost over these other 2 systems.” That puts their customer in a difficult position.
If you do build it yourself, there’s a good chance that the project will be simpler than many enterprise systems because you can say, “Hey I only need these 30% features.” Also one of the things you could try is integrating software products together.
That’s the end of this chapter. Thank you for your time. If you have any comments, questions or interest in MaxScheduler, our scheduling software please reach out to us through maxscheduler.com. Have a good day. Thank you.