在APP的开发过程中,最让人头疼、最困惑的,可能是开发需求的变化,在开发的过程中,客户倾向于一个新的想法,会覆盖原来的想法,或者发生变化,一般情况下,可能不会有大的变化,也会有需求的大变化发生,而在软件开发的过程中是一个循序渐进的过程,是产品向UI向开发,
是一个项目落地的过程,一个漫长的过程,在这个过程中,客户的想法有了新的碰撞,新的火花,其实也是很正常的,新的想法,需要改变,也是软件开发过程中常见的事情。
软件需求是什么
软件需求是(1)用户解决问题或实现目标所需的条件或能力。
(2)系统或系统组成部分应满足合同、标准、规范或其他正式规定的文件所要求的条件或能力。
(3)反映上述第(1)或(2)项条件或能力的文件。
它包括功能性需求和非功能性需求,它们对设计和实现施加了约束,例如性能需求、质量标准或设计约束。
软件需求分为三个层次:业务需求、用户需求和功能需求——包括非功能需求。
业务需求反映了组织或客户对系统或产品的高级目标。
它们在项目视图和范围文档中陈述。
用户需求文档描述了用户在使用产品时必须做什么。
它在用例文档或场景场景中陈述。
功能需求定义了开发人员必须实现的软件功能,以便使用户能够完成他们的任务,从而满足业务需求。
特性是一组逻辑上相关的功能需求,为用户提供处理能力并满足业务需求。
1. 软件需求的有效管理
项目签约前,通过思维导图、功能列表等方式帮助客户梳理功能,将未来可能出现的需求变化降到最低。
并在合同中纳入功能信息作为依据;
在项目开发过程中,对需求变化进行了有效控制。
一方面,在产品原型设计阶段,与客户反复确认,避免开发后期出现新的变化。
二是减少过滤的不合理需求,从产品功能和用户角度给客户合理建议;
第三,在UE开发过程中,真正需要修改的需求,需求的微小变化和可接受的需求,都可以帮助客户实现和提高客户满意度;
对于对整个开发有重大影响的主要变更和需求,需要重新评估软件,以查看客户是否接受下一阶段的开发,或者如果这次需要开发,则需要评估新特性。
第四,一旦确定了终端,就不能再更改了,因为后续的开发将以其为基础。
2. 系统开发完成后,客户再次提出新的需求
在这种情况下,基本考虑协议之外的新开发需求,分析客户想要变更的具体内容。
如果是一些小的需求,可以在下一个版本迭代中进行开发,在原有的基础上增加一些小的修改。
如果需要更改主要的基本核心功能,那么在项目的第二阶段,当需要进行重大升级或重构时,可以重新评估以满足客户的需求。
并且要防止客户滥用权力提出要求,对于一些不合理的要求,也要引导客户,让他们了解不合理的地方这一功能,从而修改要求或者放弃。
总的来说,软件的需求变化并不可怕,最重要的是需要合理的控制和响应,小的修改,满足客户,提高客户满意度,大的修改,重新评估,客户可以了解自己的需求变化。
最不能控制的是前期需求不明确,或者客户没有将需求的内容识别为新的需求。
因此,文件化管理和早期协议是双方更好的保证。