Choosing Between Custom Software Development and COTS Solutions