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. note 8 字符串

    字符串String 一个字符的序列 使用成对的单引号或双引号括起来 或者三引号""" 和 ''' 表示块注释 字符串运算 长度 len()函数 first_name = ...

  2. 事务回滚 SET XACT_ABORT ON

    USE tempdb IF OBJECT_ID ('dbo.test') IS NOT NULL DROP TABLE dbo.test GO CREATE TABLE dbo.test ( id I ...

  3. 使用Microsoft自带的小工具将可执行文件(.exe)注册为系统服务

    首先,我们从Microsoft下载Windows Resource Kits,Download 下载完成后,运行rktools.exe进行安装. 安装完成后,我们打开安装目录,将其中的"in ...

  4. 傻瓜学编程之block_1

    1.引出 1.1.int pp = 3;for循环为dd赋值并 调用 finprint(int ,int)函数 获取pp*dd的乘积,输出 void finalValue(int d, int sca ...

  5. 一、.NetCore EF 之命令行

    一.前言 最近在学习研究ABP,使用到微软的ORM框架 Entity Framework(后面简称EF),将其基本操作记录下来. 二.程序包管理器控制台 为了能够在控制台中使用命令行来操作EF,需要先 ...

  6. Subline_Text3消除更新提示

    很简单的一个小问题,去除SubLine text的更新问题,在网上看了很多资料也不可以,原来是因为注册码和版本的问题,在这简单做个记录. 关于安装问题就不说啦 百度文库安装方法 安装完成之后一定要注册 ...

  7. [UnityShader基础]06.#pragma multi_compile

    参考链接: https://blog.csdn.net/qq826364410/article/details/81774741 https://docs.unity3d.com/Manual/SL- ...

  8. Quick Search Articles in My Blog

    === Quickly Search Articles in My Blog: === 本文介绍了如何快速在主流搜索引擎搜索本专栏内文章的方法. Use Google's Search :  pres ...

  9. Slf4j与log4j及log4j2的关系及使用方法

    Slf4j与log4j及log4j2的关系及使用方法 slf4j slf4j仅仅是一个为Java程序提供日志输出的统一接口,并不是一个具体的日志实现方案,就比如JDBC一样,只是一种规则而已,所以单独 ...

  10. 17Linux_mariadb_PXE+Kickstart

    Mariadb mariadb-client mariadb-server # yum groupinstall mariadb mariadb-client mariadb-server -y # ...