很复杂,取决于你要开发的软件的性质。大概给你说几点吧:
软件协议的选择。这个决定软件的发布形式,涉及是否开源、是否能商业化、版权、著作权、再开发权等等。
开发模式的选择。这个决定开发流程,瀑布式、V模式、螺旋模式、迭代模式等等。
开发工具的选择。取决于软件类型、开发语言、框架以及功能结构,有的工具自带软件协议,必须检查是否和你的软件协议相一致。例如有的工具函数库采用继承式的开源协议,使用这个工具函数库的软件也必须是开源的,如果你的软件不开源,就不能用这个函数库。
资源规划。包括人力分配(开发团队的组建)、设备利用(硬件设施的分配)、资金(开发资金的来源和使用计划)、时间安排(开发周期规划)。
软件目标规划。具体描述软件功能所要达到的最低标准。