1.需求分析,要做一个具有启发性的分析人员

当产品提出一个需求时,如果只有说当是满足A条件时,就要具有a功能,这个时候要做启发时询问,这里的A是唯一推导出a的条件吗?因为一般客户或产品也是只是认识到,具有A时,应该出现a功能,但这里有可能隐含其他未考虑的条件:

  • A+[BCD...]等都是出现a功能
  • A+H 时,则不是a功能,而是b功能

这就是需要我们开发人员,具有启发思维,帮助客户或产品引导分析出,当出现A+H这种情况时,如何处理,这也是为我们开发提供更准确的需求,避免后期开发方向偏离或返工等。

案例
产品要求开发一个星座与专业的预测功能,同时在预测结果处提供客户的资料下载。产品初始要求是一个专业对应同一个资料的下载。
这里我们就需要启发思考,同一个资料下载是否只与专业有关?如果出现同一专业和同一星座对应同一资料下载时如何处理,也就是否会出现:

  • 专业A+星座I 出现ai资料的下载,专业A+星座II 出现aii资料的下载 ...
  • 专业B+星座I 出现bi资料下载,专业B+星座II 出现bi资料的下载 ...

我们要清楚是上面那种情况还是都包含,这个会影响我们这设计功能的数据结果。

2.在给产品做功能时,要对这个功能上线背景有所了解,对客户对这个功能期待有自己的一个判断。

这里我们要考虑的是,这个功能我们要开发实现到什么程度。

  • 如果我们判断这是一个客户紧急需要上线的功能,我们就要用最快的实现方式实现(或者是比较暴力的方式:如直接灌注数据到库等);
  • 如果我们判断这不是一个紧急的功能,但是客户比较重视的一个功能,这里我们就要考虑到,客户后期是否会修改功能或数据等。在时间允许的情况下,我们就要考虑是开发供产品或客户自己修改配置的功能,方便修改调节(主要是在后期节省开发时间)。

上面是我在开发中遇到的问题,有经验的老师帮忙总结指导的,供大家参考。