软件开发需求分析由委托方和软件外包方谁来完成?

软件开发需求分析是软件开发过程的核心,其结果直接影响到整个的软件开发过程,对软件开发的成败起决定作用。因此,做好软件开发需求分析是软件开发的关键。传统的软件工程理论主张软件外包方派专门的软件开发需求分析人员或小组到委托方进行长期的业务实践和调研。我认为,这种方式效率并不是很高,浪费了大量的人力,财力和时间。延长了软件开发周期,增加了软件开发费用。然而,如若将软件开发需求分析工作分作两大部分,由委托方和软件外包方共同来完成,或许能达到更好的效果。

在此,桌子主张将软件软件开发需求分析团队分作两组:委托方业务团队和软件外包方专业软件开发需求分析团队。委托方业务团队由熟悉业务的业务主要负责人员组成,本组人员所应完成的主要工作有:描述业务的内容、性质及业务规则,并形成相关文档,为软件外包方提供业务流程图及所有与业务相关的日常业务数据表。另外,企业各项业务间存在着千丝万缕的联系,委托方软件开发需求分析团队应注重向软件外包方描述这种联系。因为,这些联系将作为数据库设计的依据。软件外包方软件开发需求分析团队作为软件开发需求分析第二部分,将根据委托方软件开发需求分析团队所提供的所有数据形成面向计算机的软件开发需求分析,包括功能分析,性能分析和数据分析等。具体说来,分析人员要根据业务的内容和性质概括出功能需求分析,根据业务规则概括出初步的算法思路,根据业务流程和日常数据表形成数据流图和数据字典。

综上,桌子主张软件软件开发需求分析任务由委托方业务团队和软件外包方专业分析团队共同来完成。二者各伺其职。从分析时间上,委托方业务团队具备丰富的业务经验,应该在很短的时间内就能整理出软件开发所需的所有数据,以供软件外包方专业分析团队使用。而软件外包方专业分析团队,根据委托方提供的说明文档、业务流程图及数据表,经双方座谈、研讨,便能很快形成软件开发需求分析全局印象,进而根据现有的资料及研讨结果便可进行具体的软件开发需求分析。

相对于传统的瀑布模型中的软件开发需求分析,二者的差异在于,传统模型中的软件开发需求分析全部过程均由专业的分析人员来完成。这样,在软件开发需求分析开始之初,软件外包方要派遣分析人员到委托方接受业务培训,培训结束还要进行长期的业务实践,方可掌握业务概况,再进一步做具体的软件开发需求分析,浪费了大量的时间。而我所提出的分析过程,前半部分过程由熟悉业务的人员来替代专业的软件软件开发需求分析人员来完成,这样,不但节省了人员培训的过程和费用,更是避免了软件开发需求分析所产生的误差,有利于缩短整个软件开发的周期,也使得软件将来的主要用户在软件开发初始就能大体了解到自己委托别人软件开发的软件能做什么。从而,在一定程度上也会降低将来用户培训的力度,为软件开发双方节省人力、物力、财力和时间。

陕西弈聪软件信息技术股份有限公司
电话:13679229477    02989322522
陕西省西安航天基地神州四路科为城墅20栋4301