玩转开发从需求开始

开发经常吐槽产品狗。
开发经常蔑视设计汪。
开发经常傲视群雄。
但,
开发经常坑自己。
开发经常坑队友。
开发经常坑用户。

以上,纯属YY。

话说回来,不懂需求拿起键盘就一顿猛敲的开发是没有前途的。这么说是因为:
首先,开发面对的是需求问题。需求分很多维度,最常见的就是被问及“什么时候搞定”之类的话。面对此类强烈的渴望,开发需要正面应对。往往错误估计时间,坑害的就是自己。熬夜加班甚至牺牲泡妞的时间(开发也需要泡妞,只不过很少去三里屯)。
其次,开发要突破很多技术点,我称之为拓荒。特别是没做过的需求,没有现成的案例可以参考,没有教科书,没有AI…… 所以全靠智慧的双手。那么在启动项目之前,对关键技术攻关是必要的。而从需求中提炼出关键技术点,是尤为重要的。

所以今天说一说,怎么从需求入手。

以TODOMVC项目为例。简单介绍下,这是全球仅次于helloworld的练手项目。

如何入手 TodoMVC 项目呢?
– 需求
+ 列出功能大纲
+ 核心功能给出详细说明
– 设计
+ 逐个设计
+ 重点突破

需求


对 TodoMVC 的核心功能进行简单地拆解:

  1. Add
    1. 输入 todo item(以下简称 item)信息
  2. List
    1. 显示 items
    2. 显示 active(完成中的) items 数量
    3. 过滤显示 all/active/completed(已完成) items
  3. Delete
    1. 删除单个 item
    2. 删除所有 completed items
  4. Update
    1. 完成单个 item
    2. 完成所有 items
    3. 编辑单个 item

 

设计

需求分析的结果让我们清晰地看到:
TodoMVC 的核心功能之间存在一个渐进依存的关系,可以依次开发: Add、List、Delete、Update
部分复杂的功能(如过滤功能)可以稍晚开发
因为还不涉及网络交互,本地数据存储,也未考虑更复杂的功能,已经可以着手原型开发了。

评估

自此,通过需求分析和基础设计,我们就可以评估大概的时间点了。
通常评估简单的需求是一个快速的浏览PRD(产品需求文档)的过程,容易忽略对逻辑的处理。
因此通过流程图或脑图完成对逻辑的拼凑,可以让评估更加精准。
评估的方法:
1. 原型开发时间(功能基础就是原型,是以上对功能的拆解)
2. 分页面或模块评估(包括具体样式、交互功能等)
3. 评估与数据接口(后端)对接的时间
4. 给自己留出自测的时间

总结

九九归一,别给自己挖坑,事前想明白比事后分析更有价值。

以上是对刚开始接触需求的同学的一些建议和方法论。
如果想要知道更多,可以留下联系方式一起讨论。

参考:
todomvc

发表评论

电子邮件地址不会被公开。 必填项已用*标注