用MVC5+EF6+WebApi 做一个小功能(二) 项目需求整理

在一个项目开始前,需求整理大概要占到整个项目周期15%甚至30%的比重,可以说需求理得越清楚,后续开发中返工几率越小。在一个项目中,开发新功能的花费的精力要远远小于修改功能的精力,这基本是一个共识。老祖宗说,谋定而后动,不是没有道理的。

一般项目开发中,前期会包含商务活动、需求调研,需求交底的过程。

商务活动

一般由售前人员进行,了解客户需求,收集客户愿景,商务洽谈等等工作,个人认为在这一阶段主要要做好如下工作,原谅我没做过商务工作,穷限制了我的想象力:

  • 了解客户的需求,收集客户的应用场景
  • 商务洽谈,初步确认是否能合作,如果合作确认合作性质,比如,是一个试水项目还是一个盈利项目等等
  • 与产品经理或项目经理沟通是否有资源来完成项目
  • 等等其他,因公司性质而已。

需求调研

一般由商务接洽后,项目经理或产品经理介入,根据前期了解的内容与客户接口人进行详细的规划

  • 对客户场景的详细了解,确定项目的开发模式规模等
  • 对客户需求的详细了解,对项目细节所应具备的功能进行梳理
  • 对客户业务的详细了解,针对不合理的需求提出合理性的建议,反馈给客户帮助客户完善业务
  • 产出需求概要、原型等文档,由商务交付客户确认
  • 产生最终开发方案,并评估工时等信息,有商务进行报价

可以说需求调研是整个项目成功与否的关键所在,如果被客户牵着鼻子走,可能会造成项目开发过程中功能难以实现;如果牵着客户鼻子走,又可能会造成产品上线后客户业务无法开展,导致项目返工甚是废弃(当然给钱了项目废弃也无所谓,但是作为项目经理费了好大劲最后做出来一个废品,是不是很受打击呢!)。

同时项目经理又是承前启后的桥梁,客户业务需求转化成基本实现方案,对接客户与开发人员之间的沟通,立项,需求交底,项目排程,项目监管,阶段验收,测试交付等等,贯穿整个项目流程。俗话说,兵熊熊一个,将熊熊一窝。这个项目经理就是大将,项目成败系于一身,慎之慎之!

接触过的一些项目经理(当然大环境下分工并不十分明确)比如如下场景,

客户:我要做个商城

项目经理(产品经理):……

第二天

项目经理(对客户):一个月吧,最多两个月我们就能做出来,您看怎么样?

客户:我们商城要能加盟,能b2b同时b2c

项目经理:嗯……

第三天

项目经理:我们对了一下,这个可能有点麻烦,要三个月

客户:我们还想关联微信公众号,然后……

项目经理:哦,我咨询下我们的技术再给您答复……

第三天:

项目经理:可以做

客户:……

估计客户最后内心是崩溃的~,你不能和大爷多说几句话么?你不能问问大爷为什么要么?你就不问问大爷想干什么?万一大爷要搞个传销系统,你敢做么?

我总结过,对客户要把握两点

第一:合作共赢(大家各取所需,共同做好项目,都有好处,客户有业绩有绩效,我们有钱拿)

第二:不卑不亢(有时候很难做到,碰到财大气粗的,一副拿钱砸死你的气势,但是回过来想我又不吃你家饭,你在牛和我没半毛钱关系,挖了坑自己难受)

需求交底

在这一阶段,客户基本可以休息了,改由项目经理(如果可能能参与更好,避免跑偏,但是一般很少有客户参与,第一客户专业不是开发,第二客户都很忙)和项目成员进行对接,把从客户那里听来的经过咀嚼,喂给开发人员

  • 项目启动会:概述项目的意义啊,价值啊什么的,白话说,就是要高举反清复明的旗号,告诉大家,只要成功都有吃有喝有女人~
  • 成员定义:谁干什么谁干什么,别等项目都开始了,先锋官还没有,后勤没到位,还打个屁仗,洗洗睡吧
  • 需求交底会:项目经理主讲,图文并茂的说一下客户场景,客户需求,每个模块干什么,并且要保证项目成员能听懂能理解。这点很重要,客户那里有很多术语,要翻译给项目成员听,一定记住 井蛙不可以语于海者,拘于虚也;夏虫不可以语于冰者,笃于时也
  • 需求反交底:由项目模块的相关人员(开发、测试等)进行模块功能讲解,项目经理进行确认,避免开发人员跑偏。

需求交底和反交底视情况而定,参与的人越多,这些工作越要做的仔细。

以上工作并不一定线性进行,有可能是异步的,而且,除了这些,在企业内部要做好项目的支援工作,人员协调,开发资源协调,项目经理要做好前期项目搭建工作,源码管理、项目管理、bug反馈管理等等的准备工作。

以上可以省略,下方本文正文:

我们的项目需求如下:

用MVC5+EF6+WebApi 做一个小功能(二) 项目需求整理

叨叨了一堆废话,最后就一张图片,因为项目组就我一个人啊。

You can you up

我喜欢用思维导图来梳理一个项目的枝枝叉叉,比较方便,而且不容易漏掉东西,但是也有很多不足,比如展示内容有限,要加很多备注什么的,展示的时候别人看不到等等。

所以用思维导图配合原型工具比较好。

说下功能:项目重点在 “考试系统管理”,规划的功能基本都会实现。答题这里的移动端我不会手机原生开发,做的话可能就是angular或者vue,这俩都没做过项目,所以最后可能只提供API而不实现移动端。

上一篇:awk命令分析日志的简单笔记


下一篇:TTS-零基础入门-10分钟教你做一个语音功能