2016-07-26 07:55:46 qq_28391549 阅读数 1217
  • hibernate4从入门到大神(备java基础,mysql,javaee...

    Hibernate4开发技术:ORM思想,hibernate介绍,hibernate.cfg.xml配置,hbm.xml映射文件详解,主键生成策略使用,PO对象状态及状态的转换分析、一级缓存,Hibernate数据检索技术,Hibernate映射技术,Hibernate多表联合查询, Hibernate二级缓存技术,Hibernate分页技术,Hibernate性能优化技术。

    18390 人正在学习 去看看 任亮

讲到敏捷开发,那么在每个team里面,都会有一个叫做PO(project owner)的角色.

在敏捷开发中,PO这个角色扮演了很关键的作用。

首先讲讲PO都会干些什么:
1 PO是开发team与客户之间的桥梁,他负责与客户沟通,并且商量需求。
2 从客户那边确认了所有的需求之后,PO需要对这些需求做一个优先级的排序,可以让开发人员知道首先应该实现哪些需求。

根据PO的工作性质,我们可以发现,PO必须你具备良好的沟通能力,这是必要的。并且还有一点也很重要,PO必须你要是一个对项目十分了解的一个人,因为只有对项目十分了解,才能够对接到的需求进行优先级的排序。
所以,PO对于开发team来说是有一定风险的,如果沟通不到位,需求理解不正确,或者优先级决定有问题,都可能导致team无法及时给出阶段性的产品,就算给出,可能也达不到客户所要的需求。

这只是我自己对于敏捷开发的一点见解,可能有很多不对的地方,大家看看就好。

2017-05-14 09:48:51 totty2006 阅读数 2737
  • hibernate4从入门到大神(备java基础,mysql,javaee...

    Hibernate4开发技术:ORM思想,hibernate介绍,hibernate.cfg.xml配置,hbm.xml映射文件详解,主键生成策略使用,PO对象状态及状态的转换分析、一级缓存,Hibernate数据检索技术,Hibernate映射技术,Hibernate多表联合查询, Hibernate二级缓存技术,Hibernate分页技术,Hibernate性能优化技术。

    18390 人正在学习 去看看 任亮

敏捷开发团队中PO和SM角色介绍

通过前面几篇关于敏捷开发总体的相关介绍,相信大家对敏捷开发模式已经有了一个比较清晰的了解,后续会介绍一些比较细分的方面,结合我在敏捷开发实施过程当中的一些体会,来阐述自身对敏捷开发的认识。

敏捷开发中的PO即Product Owner,字面意思是产品或业务负责人,即熟悉该产品所有业务相关的逻辑、流程、设置等方面事宜的人员,一般可由产品经理担任,也可由熟悉业务的开发人员担任。如果敏捷团队是在一起办公的(指一个办公室内坐在一起的),建议由产品经理担任,本身产品经理已经是所有业务的接口人,熟悉业务是其本职工作;如果产品经理和开发、测试团队是两地办公的,如设立的研发中心、外包服务等形式的,建议在开发团队内指定一个人来担任PO,这样产品经理在第一次PRD全体review之后,只需跟这个PO讲解清楚产品逻辑,后续开发和测试当中遇到的问题,都可以咨询PO来得到解决,PO不确定的可以联系产品经理确认,这样可以减少一部分的沟通成本。

敏捷开发中的SM即Scrum Master,字面意思是敏捷专家或者敏捷大师,即熟悉敏捷开发模式及敏捷实施流程的人员,一般可由敏捷团队当中的开发负责人担任,部分能力很强且懂技术的产品经理也可担任这个角色,因涉及到工作量评估和分派等工作,最好都是由技术能力较强的人员担任。

Product Owner(PO)

Product Owner角色定义

确定产品的方向和愿景,定义产品发布的内容、优先级及交付时间,为产品ROI(profitability of product)负责。 是维护产品需求清单( product backlog )的人,代表利益相关者的利益。

Product Owner工作职责

负责最大化产品以及开发团队工作的价值。主要职责如下:

1、确定产品的功能;

2、决定发布的日期和发布内容;

3、为产品的ROI负责;

4、根据市场价值确定功能优先级;

5、每个sprint中,根据需要调整功能和优先级(每个sprint开始前调整);

6、接受或拒绝开发团队的工作成果;

7、参与Scrum Planning Meetings(Sprint计划会议),Sprint Review Meeting(Sprint评审会)和 Sprint Retrospective Meeting(Sprint回顾会)

Product Owner

Product Owner在团队中的作用

在junior团队中:主要的需求来源,个人确定需求价值和优先级

在intermediate团队中:多角度的收集需求,和团队成员共同确定需求的价值和优先级

在Senior团队中:和团队成员共同提出和收集需求,共同对产品负责

这里的团队分级主要是指团队的敏捷成熟度,即产品团队实施敏捷开发模式后,对敏捷开发模式的适应程度、接受程度和学习程度。后面会专门介绍团队的评估标准。

一句话总结PO这个角色就是:告诉产品团队要做什么,做功能的先后顺序是怎样的,需求有变动时该如何处理。

Scrum Master(SM)

Scrum Master角色定义

是团队的导师和组织者,与Product Owner紧密合作,及时为团队成员提供帮助。促使team按照scrum方式运行,为Scrum过程负责的人。

Scrum Master并非团队的领导(因为团队是自我组织的),而是一个负责屏蔽外界对开发团队干扰的角色。 Scrum Master是规则的执行者,他是Scrum团队中的服务型领导。

Scrum Master工作职责

确保scrum被理解和正确使用并使得Scrum的收益最大化。主要职责如下:

1、保证团队资源合理利用;

2、保证各个角色及职责良好协作;

3、解决团队开发中的障碍;

4、作为团队和团队外部的接口,协调解决沟通中的问题;

5、保证开发过程按计划进行,组织Scrum Planning Meetings(Sprint计划会议), Daily Stand-up Meeting(每日站会), Sprint Review Meeting(Sprint评审会)和 Sprint Retrospective Meeting(Sprint回顾会)。

Scrum Master

Scrum Master在团队中的作用

在junior团队中:主导和控制

在intermediate团队中:引导和教导

在Senior团队中:辅导和协助

一句话总结SM这个角色就是:教整个团队怎么做,如何估时,跟进每天进度,风险控制,定期总结,计划排定。

案例分享

某Team在Plan Meeting会议中,邀请了PO参加,但PO因会议时间冲突未能参加,在讨论Sprint  Backlog的时候,因需求有变动,团队未完全按照product  backlog上的优先级去拿,选好Sprint  Backlog 后,Scrum master详细讲解了每一条Sprint  Backlog应该如何拆分及理由,最后给出了每个task的评估工时。

问题一:PO未参加计划会

应与PO提前协商时间,若PO没有时间需调整时间,PO一定要参加;

问题二:未按已排定的优先级做

如果不按照product  backlog上的优先级去拿需要和PO一起决定;

问题三:SM一个人完成需求拆分和工时评估

任务的拆分及工时的评估需要和团队共同确定,不是Scrum master一个人说了算。

在敏捷开发团队内部,PO和SM角色是非常重要的,基本决定了团队是否可以很好的执行敏捷开发这种模式,因此这两个角色一定都要十分熟悉敏捷开发的整个运转流程,带领和引导团队一步一步的往敏捷的方向迈进。很多时候PO和SM的不专业,很容易使团队偏离敏捷的模式,因此决定一个团队能否完全进入敏捷开发模式时,这两个角色很关键。


2015-08-31 22:09:31 jnqqls 阅读数 5940
  • hibernate4从入门到大神(备java基础,mysql,javaee...

    Hibernate4开发技术:ORM思想,hibernate介绍,hibernate.cfg.xml配置,hbm.xml映射文件详解,主键生成策略使用,PO对象状态及状态的转换分析、一级缓存,Hibernate数据检索技术,Hibernate映射技术,Hibernate多表联合查询, Hibernate二级缓存技术,Hibernate分页技术,Hibernate性能优化技术。

    18390 人正在学习 去看看 任亮

      

        在前面的三篇文章中对敏捷开发进行了一个背景铺垫,是以笔者个人的经历为主线来逐渐从个人的角度来理解敏捷开发.

 

        通过结对编程完成了开发框架的搭建,在搭建框架的时候其实我们的正式敏捷流程还没有开始,真正开始是大家都可以行动的时候.当敏捷开始的时候整个团队定是在相关的分工下完成任务,所以不同的人有不同的角色,接下来主要对敏捷开发中的角色进行了解.

 

        第一个要说的角色是PO

 

         敏捷开发中的PO即ProductOwner,字面意思是产品或业务负责人,即熟悉该产品所有业务相关的逻辑、流程、设置等方面事宜的人员,一般可由产品经理担任,也可由熟悉业务的开发人员担任。

 

        在我们的团队中PO是行方的专门业务人员担任并执行PO角色,本身并不开发.跟她打交道的一方面是我们这边的开发团队,另一个方面是行方的业务团队,她作为开发和业务的桥梁.

 

        PO主要是确定产品的方向和愿景,定义产品发布的内容、优先级及交付时间,为产品负责。是维护产品需求清单( product backlog )的人.详细的职责为一下七点:

 

1、确定产品的功能;

 

2、决定发布的日期和发布内容;

 

3、为产品的ROI负责;

 

4、根据市场价值确定功能优先级;

 

5、每个sprint中,根据需要调整功能和优先级(每个sprint开始前调整);

 

6、接受或拒绝开发团队的工作成果;

 

7、参与ScrumPlanning Meetings(Sprint计划会议),Sprint Review Meeting(Sprint评审会)和 SprintRetrospective Meeting(Sprint回顾会)

 

 

        结合我们的团队的PO来说一下实际的情况,在项目的初期我们的PO基本上上是神龙见头不见尾,很少有机会见到他的面,因为他本身还担任行里的其他职务,总是来也匆匆去也匆匆,所以导致了前期开发中很多不可避免的问题.之后行方安排了专职人员担任项目组的PO,整个项目组20个人分成两大组,两个PO负责我们这两个大组的任务和计划.

      

       随后经过团队的磨合,PO也越来越专业,开始进行原型设计,挖掘业务,更融洽的跟开发人员进行沟通和交流.

 

      一个迭代的成功与失败完全由PO说了算(在相对比较理想的情况下),总结就是:告诉产品团队要做什么,做功能的先后顺序是怎样的,需求有变动时该如何处理。

2015-09-29 23:23:16 jnqqls 阅读数 3300
  • hibernate4从入门到大神(备java基础,mysql,javaee...

    Hibernate4开发技术:ORM思想,hibernate介绍,hibernate.cfg.xml配置,hbm.xml映射文件详解,主键生成策略使用,PO对象状态及状态的转换分析、一级缓存,Hibernate数据检索技术,Hibernate映射技术,Hibernate多表联合查询, Hibernate二级缓存技术,Hibernate分页技术,Hibernate性能优化技术。

    18390 人正在学习 去看看 任亮

        

      在敏捷开发中除了POSM之外,另外一个非常重要的角色就是TEAM,也就是我们的开发(有些包括测试)团队.

 

      因为在每个迭代进行的过程中,真正的将需求实现为用户需要的产品是在团队的同心合作下进行的,因此将一个新的团队磨合成敏捷开发所要求的自组织团队是一个比较难得过程,尤其是在实际的开发进度和需求等不定因素的影响下.

 

     因此提高Team的凝聚力是创建自组织团队一个 重要因素.

 

    团队的凝聚力来自于大家都在为一件事而努力,每天都在做,而且经常有提高。

      为了提高团队凝聚力,有很多途径可以实施,例如在每天的站立会议,Team成员除了介绍每天的工作,还可以做两个额外的事情:

 

        一个是快速形成某个团队级别的决议,例如将某个方法作为公共模块,临时调整资源等,解决阻碍团队的重大问题;

 

          另一件事情是代码分享或者代码复查,每个人都会拿出昨天最核心的功能代码,讲给大家听,只包括外部模块的耦合,业务逻辑,大家进行讨论,结果不是发现了漏洞,就是发现了某个人的代码更加规范,其他人都会和他保持一致。当然,因为涉及到具体代码此过程在站会的时候进行可能会耽误比较长的时间,项目团队可以根据实际情况,每天留下固定实际来进行此项操作,因为是良性的,所以会越来越好.

       

 

       Team成员每天进行集体沟通,每个人都有机会发言,每个人都不只是听客,每个人都可以感受到其他人对项目的贡献,每个人都有是整个项目和产品的主人翁的感觉.

 

       为了让整个Team的沟通有效率,因此每个敏捷团队人数不易太多,如果有很多人,首先站会就会浪费大家很多时间,也同时因为人数太多,大家的关注点就开始分散起来,不利于高效的去解决问题.

 

       所以在实践过程中,我们原先的20多人的团队分开成两个敏捷团队,每个团队都有各自的PO,SMTEAM.每天的站会分开两部分进行.如果需要两个团队共同来解决公共问题,则还有站会的站会,每个Team派代表来给项目经理说明问题,进度等.

 

       至此,整个敏捷项目的角色基本上全了,PO+SM+TEAM.


2014-02-16 20:40:38 u013427959 阅读数 1522
  • hibernate4从入门到大神(备java基础,mysql,javaee...

    Hibernate4开发技术:ORM思想,hibernate介绍,hibernate.cfg.xml配置,hbm.xml映射文件详解,主键生成策略使用,PO对象状态及状态的转换分析、一级缓存,Hibernate数据检索技术,Hibernate映射技术,Hibernate多表联合查询, Hibernate二级缓存技术,Hibernate分页技术,Hibernate性能优化技术。

    18390 人正在学习 去看看 任亮

敏捷团队po与其核心价值

 

有人曾经问过我 敏捷团队po的核心价值在哪里?这个问题使我思考Product Owner需要哪些关键特质,PO能给一个开发团队带来什么样的价值?对于软件产品研发又有哪些价值?PO是否是一个软件产品成功与否关键,微信开创者张小龙是一个敏捷团队PO的榜样吗?

 

从敏捷运作机制看 po职责应该是产品主管角色,对外是产品价值交付和连接产品反馈的桥梁,对内是研发团队理解外部需求,转换为软件产品的驱动者,因此一个好的PO首先作用应该是一个好的连接器。 用户关注的是软件产品价值,而软件产品研发关注如何实现这一价值过程和能力,并通过一套软件开发方法能够准确、高效、快速、高质量完成软件产品价值交付所以PO首要的作用是桥梁作用,打通软件产品价值创造和软件产品开发的联系,实现高效映射,因此,好的产品主管必然首先是一个桥梁角色扮演者。

第二 拦截器角色,一个好的po是一个有效的拦截器。po应该能够合理的屏蔽一些外界因素对于软件产品开发的干扰,一个软件产品可能由不同的团队完成也会与不同的售前团队和其它团队合作,合作过程中必然会有很多团队之间的协调, 比如团队计划协调、外部压力屏蔽,po需要提供给软件开发过程提供相对稳定的开发计划,使得软件开发可以有条理、有头绪的进行产品开发,让开发人员完全溶入到软件产品开发中,做好代码质量控制,提升软件产品的细节处理,让研发、测试能够以高效的节奏完成软件产品的研发。

 

第三 过滤器,一个好的po也应该一个有效的过滤器。让高价值需求点能够传递进内部研发团队,让内部研发团队在有限的研发资源的情况下实现更有价值需求,让实现需求尽量落入80-20区间的20部分,对于需求的价值和重要性进行优先级排序,优先解决产品中的重点、关键点、热点、痛点。虽然对于张小龙参与产品研发的具体过程不清楚,但是从微信产品发展历程看,每个版本微信关键需求路子还是迈得很对,在较短的时间内得到了用户的认可和好评,张小龙至少是一个有效的过滤器。

 

第四 推动器角色,一个好的po是一个推动器让团队成员感觉到产品价值交付带来的成就感,推动团队软件开发进入到正反馈通道,激发出团队成员内心对于产品价值的认可使得团队成员更加热爱自己的工作,建立良好的团队文化,让团队成员热爱这个团队,从内心对于团队工作认可,与团队其它成员高效合作,在团队开发中迸发出更多的智慧火花,团队必须要内心高度认可团队文化,心往一处想,力往一处使,成为一个真正的团队而不是一个没有内部凝聚力的团伙。

 

因此,一个好PO,是一个好的连接器、拦截器、过滤器、推动器,对于敏捷团队的作用是否关键,PO应该对于自己进行持续修炼,不断努力,磨砺自身关键特质。

敏捷开发

阅读数 2946

没有更多推荐了,返回首页