PO是product owner,是一个role,负责与stakeholders打交道,提炼stakeholders的需求,按照需求的价值以及紧急程度安排优先级。PO是一个角色,对product backlog负责,通俗地讲,product backlog上的条条目目应该长什么样子,PO都有一个清晰的picture;抽象点讲,每个user story的acceptance criteria对于PO而言是确定的。PO为每个user story设定一个goal,scrum team的工作就是hit the goal,让PO心中所想的那个user story成为现实。
 
PM是product manager,是一个titile。可以由PO或者BSA来冠名,这里讲BSA作为PM的职责。PM负责管理产品的需求和研发。PM往往需要了解PO的需求,把这些需求转化成产品的一个个feature,然后依托其技术背景,与团队一起讨论出实现的可行性方案;(注:这里,PM可能未必要100%地满足PO的需求,在可控范围内,提出一个满足product vision的折中方案,使得product team和product owner双赢)同时,PM是product的管理者,并非people的管理者,所以PM侧重点是产品的特性features的管理与研发,在规范化的控制流程(比如Scrum的框架)下与各个团队功能角色一起工作,管理产品的研发进度,确保产品高效地以及高质量地发布上线。
 
需求的角度看待这几个角色:
Stakeholder <-> PO(关注 businessman 需要什么) <-> PM (关注 用户的需求可以成为Product的features吗,如果是则把user story转化为product features,如果不是则workaround)
 
上述可能有点抽象,为了阐述清楚PO和PM的区别,这里举个例子:
PO提出一个user story:我要一个登录界面供注册用户登录网站(PO脑子里想像的登录界面的样子(Acceptance Criteria)就是很简单的一个用户名输入框+密码输入框+提交按钮的功能性需求)
PM根据这个用户需求细化该注册用户登录界面的feature:1. UI 设计(可能是第一稿):配色,输入框、按钮、链接的风格样式,排版 2.登录功能(存在用户+不存在用户;正确密码和非正确密码) 3. 忘记密码链接和恢复密码的功能 4. SQL注入防范 5. 穷举式攻击防范(验证码)等等。而且,PM还需与技术团队共同商讨实现这些feature的可行性方案、难点,可能存在上线延期的风险等等。feature是对user story的详细化的设计,同时拆分了user story为多个小的story,这些小的story可以在若干个sprint完成。
所以PO是从用户功能的角度提出功能性需求(粗放型),PM则是从产品设计的角度把功能需求细分为多个feature(集约型)并确定实现方案的角色。

项目中PO、PM的职责区分的更多相关文章

  1. java 项目中几种O实体类的概念

    经常会接触到vo,do,dto的概念,本文从领域建模中的实体划分和项目中的实际应用情况两个角度,对这几个概念进行简析. 得出的主要结论是:在项目应用中,vo对应于页面上需要显示的数据(表单),do对应 ...

  2. Web API项目中使用Area对业务进行分类管理

    在之前开发的很多Web API项目中,为了方便以及快速开发,往往把整个Web API的控制器放在基目录的Controllers目录中,但随着业务越来越复杂,这样Controllers目录中的文件就增加 ...

  3. Maven项目中的pom.xml详解【转】

    什么是pom? pom作为项目对象模型.通过xml表示maven项目,使用pom.xml来实现.主要描述了项目:包括配置文件:开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的url, ...

  4. Jquery和Javascript 实际项目中写法基础-弹出窗和弹出层 (4)

     一.实际项目中有很多如下界面效果.    二.该效果可以归结为弹出窗或者弹出层来实现的,为什么这么说?看如下代码:      <!DOCTYPE html> <html> & ...

  5. 使用SeasLog打造PHP项目中的高性能日志组件(一)

    云智慧(北京)科技有限公司 高驰涛 什么是SeasLog SeasLog是一个C语言编写的PHP扩展,提供一组规范标准的功能函数,在PHP项目中方便.规范.高效地写日志,以及快速地读取和查询日志. 为 ...

  6. iOS-旧项目中手动内存管理(MRC)转ARC

    在ARC之前,iOS内存管理无论对资深级还是菜鸟级开发者来说都是一件很头疼的事.我参 加过几个使用手动内存管理的项目,印象最深刻的是一个地图类应用,由于应用本身就非常耗内存,当时为了解决内存泄露问题, ...

  7. 如何在 ETL 项目中统一管理上百个 SSIS 包的日志和包配置框架

    一直准备写这么一篇有关 SSIS 日志系统的文章,但是发现很难一次写的很完整.因为这篇文章的内容可扩展的性太强,每多扩展一部分就意味着需要更多代码,示例和理论支撑.因此,我选择我觉得比较通用的 LOG ...

  8. 谈谈MVC项目中的缓存功能设计的相关问题

    本文收集一些关于项目中为什么需要使用缓存功能,以及怎么使用等,在实际开发中对缓存的设计的考虑 为什么需要讨论缓存呢? 缓存是一个中大型系统所必须考虑的问题.为了避免每次请求都去访问后台的资源(例如数据 ...

  9. Xamarin.Froms项目中包含的文件

    Clearly, the program created by the Xamarin.Forms template is very simple, so this is an excellent o ...

随机推荐

  1. [UE4]显示落地箭头

    一.Set Hidden in Game:隐藏对象 Propagate to Children:是否修改容器子对象的可见性. 二.添加2个Static Mesh,分别命名为:StaitcMeshArr ...

  2. sql查询统计

    SELECT TOP 50 (select text from sys.dm_exec_sql_text(sql_handle)) as [SQL], CAST( ((qs.total_elapsed ...

  3. IC5141安装备忘

    X Error of failed request:  BadName (named color or font does not exist)   Major opcode of failed re ...

  4. 超级简单的Memcache入门

    Memcache 就是一个数据库,将数据保存在内存中 常用于缓存服务器,保存操作频繁,丢失无所谓的数据 启动选项 -d 是一个守护进程 -m 内存分配 -u 用户 -l 监听地址 -p 端口 -c 最 ...

  5. 以超级管理员方式运行bat文件

    以超级管理员方式直接运行bat 脚本文件,直接上脚本代码,以下是以一个服务的安装为例子 @echo =============================== ¶¯Ì¬ÅŲú·þÎñ ===== ...

  6. omniPlan密匙

    密钥所有者都是youliyuan.OmniPlan 3:HOMJ-QOJH-OIBN-TNIH-HWUN-TEEH-WUNNKWO-HVKB-JAZE-UIHH-XAVY-BEEX-AVYBCRW-M ...

  7. swagger支持中英文

    内存中使用一种数据结构存储着大量的信息,其中原始的描述信息(各种属性的描述,种类很多),中英文都包含,格式为:"english//中文".需求:描述description需要动态变 ...

  8. 小程序[publib]:1 request:fail ssl hand shake error 如果用的是阿里云和宝塔那么如下解决

    小程序[publib]:1 request:fail ssl hand shake error 如果用的是阿里云和宝塔那么如下解决 宝塔里面的站点SSL右侧的配置(PEM格式) 需要把 阿里云 下载的 ...

  9. 居中分栏flex完美的解决方案

    盒模型实现多栏布局 div { border: 1px solid #aaf; /* 设置HTML组件的大小包括边框 */ box-sizing: border-box; padding: 5px; ...

  10. nodejs 实现文件拷贝

    通过4中不通的方式实现对一个文件的拷贝 方式一:readFile 异步一次性读取文件再写入 //异步形式读取文件 function copyFile(url){ const extName = pat ...