Software Procurement Avoiding the Pitfalls