Why expert consulting is critical in software product development