The top ten mistakes to avoid in custom software development