buy or build determining software approach