外包软件开发步骤是什么