If you have been following me, you may have found my writings on IT discouraging. I’ve been writing that IT is hard, that software projects fail big, and that companies have shut down. My intention hasn’t been to discourage you, but to warn you. If you are aware of these difficulties, you are already way better equipped than most people to proceed with IT. For example, you know that having software developed is a much riskier business than buying something off-the-shelf, and normally it has a much higher cost.
When logistics people want to have software developed, I often ask them: “Why don’t you buy something off-the-shelf?” A common reply is competitive advantage. If you have your own software, you control it, and you control how it evolves. Since logistics is almost pure management of information, how your software evolves can define how your business evolves. In the fast-changing and unpredictable logistics market, controlling the software can be a major asset for your company.
Given the risks of software development, however, I wouldn’t recommend building your own software except in very specific circumstances. If you are a young, innovative company and your main selling point will be your software and one of the founders is a computer guy (or you have lots of money), it may be a good idea. If you have deep experience in logistics and you are aware of a need that off-the-shelf software can’t cover and you have the resources to invest in developing a solution, it may be a good idea. In most other cases, I’d recommend off-the-shelf.
Off-the-shelf software has shortcomings, but there is no perfect solution. Where do you read your emails? Gmail? Outlook? Thunderbird? For many years I was using a mail client called “mutt”. It was (and is) a very good program (but for computer geeks). This is what its author said 25 years ago:
All mail clients suck. This one just sucks less.
Same thing with logistics software solutions. Whichever one you choose, it’s going to suck. Off-the-shelf software is likely to suck less than maintaining your own.