ROI: Why aren't we building this ourselves?

I've been going through a lot of services recently to simply purchase solutions to some oddball needs we have at Newstex. We've gone out and used Pingdom for monitoring, Papertrailapp for log management, Localytics for mobile analytics, and Google Analytics for website analytics. I often stop and think "I could probably write this better", (and so do many of my employees), but the question is then why don't I?
The answer can be summed up in 3 words, Return on Investment. What exactly is the ROI for me building it myself, and how much would it actually cost to build and maintain the service, vs purchasing an external service that does the same thing?


Your time may be better spent elsewhere

Most likely your company, like mine, isn't based around Log management. If the task you're thinking about doing yourself is solved by other solutions out there already, and it's not part of your core business, then you always have to remember that your time could be better spent doing things that improve your product.

Lets take a look at Log Management. Yes, I could probably build a service that would be better then Papertrailapp, providing me the features that I want and need without having other features that maybe I don't (although Papertrailapp doesn't have a lot of extra features that I wouldn't need). Maybe I could add in some nifty graphs, and other sorts of alert management, but how much time would that take me? At a minimum, it would take me several months to build a system to do all that paper trailapp does that I need, and it would take me several more months to add in everything I really want that they don't have. But what would that give me? Would our core product be any better? What value could I have added to our core products that I couldn't because I was working on this project instead?

Quite simply, you always have to ask yourself before you start on a project, would my time be better spent elsewhere? If the answer is yes, you probably shouldn't be building it yourself.

It's probably not cheaper to build it yourself

Lets face it, no project is ever completed even after you're "finished" with it and it's being used. There's always regular maintenance, unexpected events, and updates that need to be done. That log management service may be costing you $200/month, but what's that in hours of your time? Lets say you get paid $20/hour, that's 10 hours of your time per month. That's half an hour a day on average of your time. Would it cost you more then that to maintain and update the system? What about adding new features? Even if you ignore the fact that you had to initially build the system, you're still getting quite a deal. How can they do this cheaper then you can? Quite simply, they have more use of the same product. You don't. If you think it would take you less then half an hour a day on average just to maintain the system even after it's built, you've probably never actually worked with a system this big. Do you think they spend less then that per day maintaining the system?

Leave it to the experts

You don't do this for a living, those that offer these services are focused completely on providing a service like this just for clients like you. If they're any good, they're also asking you for input on how you use the system and what new features you might be looking for. What happens if the system goes down? Are you monitoring this daily to make sure you respond quickly to an outage? If it's running for months and then suddenly breaks, then you have to stop working on your core business just to fix a problem with your log management system. Unless you're constantly working with it, it'll probably take you longer to "switch gears" and get back into the mode to fix and update the system. Leave it to the experts that work with their technology on a regular basis

Anytime you think "I could write this better myself", don't forget to ask the question "but is it worth it?"

A quick note on Papertrailapp, they are missing a few features I would love to see, but they offer a very substantial API which can easily be used to add the features you may want, or integrate with your other systems.

0