business software consultant job description