challenges in software consulting