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. 五、使用druid管理数据库,mybatis连接mysql数据库

    简介:    使用 mybatis 连接 mysql 数据库, 一套简单的增删改查流程, 前台用 bootstrap, bootstrap-table 框架, 最后用 druid 监控数据库连接情况 ...

  2. linux setup的安装

    setup作为一个l图形化的界面能够让我们更方便的去操作linux系统,而不需要记各种各样的配置文件的名称. 但是我们安装的最初的setup只有验证配置一个功能,我们还要安装完其他的功能才能使用其他的 ...

  3. 级联Cascade

    cascade分为两类: 1.JPA标准 2.Hibernate标准 JPA的方法使用JPA规范 如@OneToMany(cascade=CascadeType.ALL,mappedBy=" ...

  4. SpringBoot+Mybatis+Maven+MySQL逆向工程实现增删改查

    SpringBoot+Mybatis+MySQL+MAVEN逆向工程实现增删改查 这两天简单学习了下SpringBoot,发现这玩意配置起来是真的方便,相比于SpringMVC+Spring的配置简直 ...

  5. C语言博客作业3--函数

    C语言博客作业3--函数 1.本章学习总结 1.1思维导图 请以思维导图总结本周的学习内容,如下图所示: 1.2本章学习体会及代码量学习体会 1.2.1学习体会 描述本周学习感受,也可以在这里提出你不 ...

  6. thinkphp中插入ueditor编辑器的代码

    1.需要在header中加入以下js内容:<script type="text/javascript" src="{$smarty.const.__ROOT__}/ ...

  7. 解决用try except 捕获assert函数产生的AssertionError异常时,导致断言失败的用例在测试报告中通过的问题

    在使用Python3做自动化测试过程中可能会遇到,assert函数不加try  except,就可以正常在报告里体现用例不通过,加上变成通过. 这是因为在使用try except 时,捕获了asser ...

  8. js打印页面指定区域,并去掉页眉上的时间和请求路径

    需要通过js打印指定页面的内容 <style media=print type="text/css"> .noprint{visibility:hidden} < ...

  9. PG数据基本命令——连接(笔记)

    在PostgreSQL中,有以下类型的连接: 内连接(INNER JOIN) 左外连接(LEFT OUTER JOIN) 右外连接(RIGHT OUTER JOIN) 全连接(FULL OUTER J ...

  10. 转载:深入浅出Zookeeper

    ZAB协议 ZAB协议是专门为zookeeper实现分布式协调功能而设计.zookeeper主要是根据ZAB协议是实现分布式系统数据一致性. zookeeper根据ZAB协议建立了主备模型完成zook ...