在公司经常听到PM,RD,FE,UE,UI,QA,OP,DBA,BRD,MRD,PRD,FSD

这些都是需求文档

BRD :B开头的就是商业需求文档 B的意思就是Business商业

MRD:M开头就是市场需求文档 M的意思market就是市场

PRD:P开头的就是产品需求文档 P的意思Product就是产品

FSD:FS开头的就是功能详细说明 FS的意思就是Functional Specifications

PM

项目经理( Project Manager )

  • 从职业角度,是指企业建立以项目经理责任制为核心,对项目实行质量、安全、进度、成本管理的责任保证体系和全面提高项目管理水平设立的重要管理岗位。项目经理是为项目的成功策划和执行负总责的人。
  • 项目经理是项目团队的领导者,项目经理首要职责是在预算范围内按时优质地领导项目小组完成全部项目工作内容,并使客户满意。为此项目经理必须在一系列的项目计划、组织和控制活动中做好领导工作,从而实现项目目标。
  • 当然在互联网公司这个有着项目经理or产品经理的意思

RD

研发(Research and Development)

  • 软件RD工程师就是软件研发工程师,诸如PHP程序猿,Java程序猿,无论是爱疯的还是安卓的都是属于这一类别。偏向于后端的技术实现。

FE

前端(Front-End)or 前端开发(Front-End Development)

  • FE是web前端研发、前端开发的意思!

UE,UED

用户体验(User Experience,简称UX或 UE)

  • 是一种纯主观的在用户使用一个产品(服务)的过程中建立起来的心理感受。因为它是纯主观的,就带有一定的不确定因素。
  • 个体差异也决定了每个用户的真实体验是无法通过其他途径来完全模拟或再现的。但是对于一个界定明确的用户群体来讲,其用户体验的共性是能够经由良好设计的实验来认识到。
  • 计算机技术和互联网的发展,使技术创新形态正在发生转变,以用户为中心、以人为本越来越得到重视,用户体验也因此被称做创新2.0模式的精髓。
  • 另外还有有个组合叫法:UED(产品交互设计师,用户体验师)。

UI

用户界面(User Interface)

  • UI设计则是指对软件的人机交互、操作逻辑、界面美观的整体设计。好的UI设计不仅是让软件变得有个性有品味,还要让软件的操作变得舒适、简单、自由、充分体现软件的定位和特点。
  • UI还有其它的意义,如Unit Interval,Univ of Iowa,Unlock Instruction,Urgent Interrupt。

QA

测试(Quality Assurance,就是“质量保证”)

  • 其在ISO8402:1994中的定义是“为了提供足够的信任表明实体能够满足质量要求,而在质量管理体系中实施并根据需要进行证实的全部有计划和有系统的活动”。有些推行ISO9000的组织会设置这样的部门或岗位,负责ISO9000标准所要求的有关质量保证的职能,担任这类工作的人员就叫做QA人员。

OP

运维(Operations)

  • OP这个词语代表的意思很多,这个简称来自于英文的Operations一词。我也不清楚谁最早用op代表运维工程师,不过2010年开始,这个词慢慢被很多人所知道。
  • OP工作内容主要就是维护公司的服务器能够正常提供服务,细分的话包括系统部分,网络部分,应用程序部分,数据库部分,具体根据公司的规模和职位职能不同,运维的定义也不同。现在市面上主要的OP有三种:网络游戏运维,网站运维,大型项目测试和生产环境运维。

DBA

数据库管理员(Database Administrator,简称DBA)

  • 是一个负责管理和维护数据库服务器的人。数据库管理员负责全面管理和控制数据库系统。这个职位对不同的人意味着不同的意义。
  • 另外还有DB,既数据库(Database)。

BRD

商业需求描述(Business Requirement Document)

  • 是基于商业目标或价值所描述的产品]需求内容文档(报告)。其核心的用途就是用于产品在投入研发之前,由企业高层作为决策评估的重要依据。其内容涉及市场分析,销售策略,盈利预测等,通常是供决策层们讨论的演示文档,一般比较短小精炼,没有产品细节。

MRD

市场需求文档(Market Requirements Document)

  • 获得老大的认同后,产品进入实施,需要先出MRD,具体来说要有更细致的市场与竞争对手分析,通过哪些功能来实现商业目的,功能/非功能需求分哪几块,功能的优先级等等。实际工作中,这个阶段PD可能的产出物有Mind Manager的思维图,Excel的Feature List等。
  • 市场需求文档(MRD)重点放在为一个被提议的新产品或者现有产品的改进定义市场需求。与BRD指出商业问题和解决这些问题的解决方案不同,MRD更深入提议解决方案的细节。它包括一些或者所有这些细节:
    a. 解决商业问题所需要的特色
    b. 市场竞争分析
    c. 功能和非功能需求
    d. 特色/需求的优先级
    e. 用例
  • MRD通常是由拥有产品经理,产品营销经理或者行业分析师头衔的人撰写的。MRD通常是一份连续的5-25页Word文档,或者正如之后描述那样在一些机构中甚至更长。

PRD

产品需求文档(Product Requirements Document)

  • 进步一细化,这部分是PD写得最多的内容,也就是传统意义上的需求分析,我们这里主要指UC(use case)文档。主要内容有,功能使用的具体描述(每个UC一般有用例简述、行为者、前置条件、后置条件、UI描述、流程/子流程/分支流程,等几大块),Visio做的功能点业务流程,界面的说明,demo等。Demo方面,可能用dreamweaver、ps甚至画图板简单画一下,有时候也会有UI/UE支持,出高保真的demo,开发将来可以直接用的那种。
  • 产品需求文档(PRD)重点放在为一个被提议的新产品或者现有产品的改进定义市场需求。与MRD侧重于从市场需要角度看需求的不同,PRD侧重于从产品本身角度看待需求。通常在特点和功能需求上更深入细节,并也可能包括屏幕截图和用户界面流程。在那些MRD不包括具体需求和用例的机构中,PRD就包含这些具体内容。PRD通常是由拥有产品经理,行业分析师或者产品分析师头衔的人撰写的。PRD通常是一份连续的20-50页Word文档,或者针对复杂产品甚至更长。
  • 提醒:一些机构将这里描述的MRD和PRD合并成一个文档,并称最后的文档为MRD。在这种情况下,MRD包括本段描述的内容,也包括上一段描述PRD的内容,并且可能超过50页。

FSD

功能详细说明(Functional Specifications Document)

  • 有一点像“概要设计”,这步就开始往开发衔接了,产品UI、业务逻辑的细节都要确定,细化文档并保持更新。相应的,有很多内容,比如表结构设计,要由项目经理来编写了。
  • 功能规格文档(FSD)把焦点集中在实现,定义产品功能需求的全部细节。FSD可能通过一张张的截屏和一条条功能点来定义产品规格。这是一份可以直接让工程师创建产品的文档。
  • 与MRD和PRD侧重于以市场需要和产品角度看需求不同,FSD把重点放在了以表格形式定义产品细节,再让工程师实现这些细节。FSD也可能包括完整的屏幕截图和UI设计细节。
  • FSD通常是由拥有产品分析师,工程领导或者项目经理头衔的人撰写的 – 作者通常属于工程部门。通常一个连续几十页的Word或类似文档。

项目流程

1、产品立项报告

按照公司的管理流程,由公司有关人等都有可能提出《产品立项报告》,比如公司老总、市场部门、研发部门,一般是在公司组织的定期召开的会议上提出,经初步讨论具有一定的可行性之后,由公司领导提交到公司负责产品开发立项的部门,比如,总工办,然后,按照公司的管理流程,由该部门组织人员进行讨论,最后指定某人进行产品的可行性分析,提交《产品的可行性分析报告》。在《产品立项报告》中,初步描述该技术的国内、国外现状、经济效益和社会效益。

2、产品可行性分析报告

上面提交《产品的可行性分析报告》,在会议上产品立项讨论通过,指定pm(项目经理),对该产品提出《初步设计》,在这里,要对风险进行评估。

风险控制:意思就是不要超过多少的比例。也可以说需要招人

如果招员工没有达到想要的那个人就会超出对这个项目的风险

3、项目需求调研

  项目启动会开过之后,项目经理就要开始和项目客户方进行沟通,对项目的需求进行调研了。项目经理需要对项目的需求领域做一定的功课,让自己对项目领域知识有一定的了解,这样在进行需求调研的时候与客户谈起来就能更快的理解需求。同时,项目组内部也要举行项目领域知识的培训,让项目组成员都了解要做的是哪个领域的业务系统。在该阶段,项目经理需要将总结下来的需求与客户进行确认,以保证项目需求的正确性和稳定性。

4、项目的设计

  在掌握了一定的项目领域知识,且项目经理已经将项目需求总体的确定下来之后,项目就进入了设计阶段。这时候,项目组需要对项目进行架构选型、设计,开发工具,开发语言,开发平台以及项目的运行平台进行选择确定。然后,由项目经理牵头,架构师或技术经理进行系统架构设计,技术经理和项目组成员进行概要设计和详细设计。在该阶段,需要对项目的各个设计进行审查,以确定由需求到设计的正确性。

5、项目的开发

  在项目的设计阶段部分或总体结束之后,就进入到了项目的代码开发阶段。在该阶段,技术经理负责对项目的整体代码进行把控,软件工程师对项目设计转化为代码进行开发。项目经理在该阶段需要不断的调整项目计划,以让项目整体能够跟上进度,同时要让开发出来的系统让客户方进行试用,以不断调整项目开发上的问题,同时要防止需求的大变更。

6、项目的测试

  在项目系统开发出部分或总体功能之后,项目的测试人员就需要介入对项目系统进行测试了。这个阶段,包括黑盒白盒测试。单元测试和集成测试等等。以保证系统对需求的和设计上的开发的正确性。

7、项目试运行

  在项目系统进行了总体测试通过之后,项目经理要联系项目客户方进行系统的试运行了。试运行阶段主要是对需求到设计,设计到代码的确认。保证系统的功能的正确性。同时也是需求变更比较大的阶段,在这个阶段,项目经理要把控好和计划好时间,尽量避免需求大的变更出现。

8、项目验收

  项目在进行试运行结束后,就到了项目验收阶段了。项目验收阶段就是项目收尾阶段,包括项目收尾和合同收尾。在该阶段,项目经理该联系项目客户方组织专家组对项目系统进行评估、审查,保证项目的正确性。