Custom Software vs. Off-the-Shelf: What to Choose?