在软件开发的过程中,需求是贯穿项目的整个生命周期,从项目开始到上线以及后期的维护。软件需求的变更可能来自开发方、也可能来自软件团队。按照一航的经验来看多,多数是来自客户方。但也有一小部分是来自软件团队,因前期没有准确的进行实现评估,便出现在开发的过程中因技术原因无法实现的情况。
来自客户方的需求调整多数是因为自己提出需求时并没有考虑周全,随着需求的深入和细化,很多业务问题开始暴露,比如设计过程中只考虑了订单的收集汇总,但未考虑订单如何合理的进行分发。其实有些时候,一航觉得站在客户角度来看,这个问题挺难避免。很多需求细节不可能在你一开始就能全都考虑到位,软件公司产品也只能是尽量帮你去完善,如果我们在做之前就能把所有细节想到位的话,那相信你是一个思维缜密并且很厉害的人。这样的人太少了,毕竟还是跨行业去做一件事情。
软件公司都是按照工时去进行项目报价,如果开发的过程中出现了需求的变更,软件公司必然要增加一部分额外的工作量,如果调整的工作量小还好,比如:简单的样式调整、在某某界面增加一个跳转、额外展示一个数据库已有的信息等,相信一般的软件公司都会痛快答应,这种的调整对于开发人员来说可能就是顺手改掉的事情。如果是要修改某个业务的流转或是增加没有的业务,这种大的改动多数要对数据库进行调整,可能还对应原型、UI、前端和后端全部人员的修改,成本还是比较大的,所以软件公司要求增加修改费用也是能理解的。不然多出来的这部分工作量谁愿意去免费承担。
如果在开发的过程中不断在进行调整,那可能真的需要反思了。是自己的行业业务没有理清楚还是软件公司产品做的工作不到位。这个是很容易判断的,如果调整的部分是业务逻辑,那很明显是自己的问题,自己还没搞清楚自己究竟要做什么,行业痛点在哪儿,自己的想法是什么,解决思路是什么。如果调整的部分是软件功能,比如说:用户提交了订单信息,后台却没有展示的地方;后台审核通过了,APP端没有展示审核结果等,这些属于产品工作没有做到位。
我们需要根据内容及时做出调整,项目进行的同时也正是我们对这个行业了解和学习的过程。