【实战】5.确定核心功能

限于喜欢 提交于 2020-04-06 08:02:20

确定核心功能

一个稍微大一点的项目或者大迭代都会有很多功能点,如果给予的开发周期长,那么就不存在什么问题。可是如果开发短,需求急,这个时候就需要将功能需求排好优先级,也就是说核心功能与边缘功能的区分。

核心功能的梳理是迭代中的一个重要工作,这里我就和大家聊聊我比较常用的一个方法。

一、梳理

把功能需求按照思维导图或者其他形式梳理出来,梳理要做到细而全,我推荐的是使用思维导图。

这样有利于你对整个项目或者迭代的全面认识,而不遗漏一个小点。

二、确定功能类型

将功能按照思维导图梳理出来初期还只是一个简单的功能罗列。我们首先对每个功能模块做类型区分,这里的类型指的是新增、修改、删除。如果有存在不确定的地方,应该使用其他记号标记,比如?问号。

三、缕关系

部分功能模块都是有关联关系的,这个功能依赖于那个功能的实现。所以需要缕清每个功能点之间的关系,比如一个功能必须依赖另外一个功能点,那么使用链接符拉个线,或者其他比较明了的标示或者注释。

四、标记重点

我们做完功能关系梳理后,那么可以对功能的优先级标记重点了。

例如:banner功能比较独立,相对于订单购买功能,订单支付功能,优先级较低,可以为3活着更低4。订单购买依赖于商品系统,而且是整个核心流程,商品系统优先级为1,其次是订单购买优先级为2。

五、看实现方式

我们排出功能优先级了,就一定全部按照这个功能开发了吗?肯定不是,我们还需要看各个功能难易度以及实现方式。

例如:商品功能肯定必须要管理后台有商品管理功能;订单支付在管理后台必须有订单管理功能,但是支付方式管理可以先不需要管理后台,直接数据库初始化就好,后面再补充这个功能就行;首页商品推荐本应该基于用户行为习惯推荐,但是系统初期,可以就只随机展示一个热门商品。

六、开发功能排列

按照优先级和实现方式定了后,心中一定非常清晰了,那些功能优先做,哪些功能简单做,哪些功能放在后面做。然后重新将功能进行排列,为了防止排列错误,一个建议就是复制一个进行排列。排列完后如果没有太多因素影响,基本就是这个顺序开发了。

七、排序说明

做了这样的排序,肯定有一些原因和其他因素,简单做一个说明,这样其他项目成员一看就能了解到你的思路。

备注

这种思路是我在一些大的初始项目或者大改动情况下常用方式,针对一些小迭代就可以灵活许多,毕竟功能少。

当然这种项目开发模式能满足部分的项目或迭代,切记不能完全照搬,你应该根据公司项目实际情况做些调整。

但是整体的思想是没有什么差异的。在软件工程中我们就是通过各种方式方法做到化繁为简,化大为小。

最后将你的规划拿出来和项目成员一起沟通讨论是一个好的主意,或者这项工作就是需要和产品和需求方一起讨论而完成的。无论如何,做到积极沟通都是一件比较好的事情。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!