How to Choose Between Custom Software & Off-the-Shelf Solutions