一个需求应该怎么拆解与实现?

研发过程中,开发同学在接到一个需求后,必须要回答两个问题:做什么(WHAT)、怎么做(HOW)。本文就开发与测试在拆解需求时面临的共性问题,结合自己过往的经验,总结的一个实用的方法。本文不讨论技术选型,仅从思考逻辑上总结应该如何拆解与实现一个给定的需求。

理解需求拆解的关注点 通过关注点看实现需求要做些什么

无论是开发还是测试,对于新手来说,都可以尝试基于“需要多少UI”、“数据从哪里来”、“数据与UI如何关联”、“用户行为响应”、“用户行为采集”、“发布后,如何运维与监控”六个方面进行需求拆解,并且根据拆解后的内容进行需求实现或者是需求测试。这个方法也适用于去分析其他功能的实现。这个方法是基于有UI的需求进行的总结,还有更多的需求是无UI的:比如,从某个位置同步数据到指定位置并且提供给到其他场景使用;再比如,研发需要一套新的路由框架或需要一套新的资源调度框架。这类需求的拆解与本文总结的方法有相同点,也有不同点,避免本文冗长,不铺开陈述。以上方法,是我个人在工作过程中,在接手需求的时候,用来判断需求影响范围、评估合作方、评估工作量的方法。欢迎实践、欢迎讨论,欢迎补充与更正。