敏捷开发 猪和鸡 角色_敏捷开发 猪和鸡 - CSDN
  • 关于的故事有很多种版本,被用在各种不同的场合,管理的、营销的、敏捷开发的,大体相同,但稍有差异。 故事一:有一只鸡和一头合伙开饭店,双方各占50%股份。对猪说:“我每天下一个蛋用来炒菜,你...

    猪和鸡的故事

    关于鸡与猪的故事有很多种版本,被用在各种不同的场合,管理的、营销的、敏捷开发的,大体相同,但稍有差异。

    故事一:有一只鸡和一头猪合伙开饭店,双方各占50%股份。鸡对猪说:“我每天下一个蛋用来炒菜,你每天割一块肉下来炒菜”,猪认为合理:“同意”。饭店后来开大了,这个饭店的股权最后会归谁所有呢?毫无疑问会归鸡,因为猪最后一定会被割死!

    故事二:一天,一头猪和一只鸡在路上散步。鸡对猪说:“嗨,我们合伙开一家餐馆怎么样?”猪回头看了一下鸡说:“好主意,那你准备给餐馆起什么名字呢?”鸡想了想说:“叫‘火腿和鸡蛋’怎么样?”“那可不行”,猪说:“我把自己全搭进去了,而你只是参与而已。”

    前面一个故事往往被用作在管理和营销上来说明一些道理,而后面这则故事应用在敏捷开发,用来说明不同角色的职责。在Scrum过程中,“猪”是在Scrum过程中全身投入项目的各种角色,他们在项目中承担实际工作。他们有些像上边那个笑话里的猪,要把自己身上的肉贡献出来。“鸡”并不是实际Scrum过程的一部分,但是必须考虑他们。

    采取Scrum模式最大的优势在于以口头的面对面沟通取代文档沟通,来保持沟通的高效与快捷,但如果参加迭代会议的人员过多时,会使沟通效率打折扣,这个时候就要求参与Scrum会议的人员明白各自的职责,关注各自的焦点,以避免限于冗长的会议泥潭中。Scrum本身非常关注这点,也就有了上面的鸡与猪的故事。从这个故事引申出来这样的结论:猪类才是团队的核心,拥有较大的话语权;而鸡类仅仅为部分参与者或者关联者,拥有较少的话语权,并明确规定在类似于站立会议中鸡类人员不得讲话、评论等。

    在Scrum团队中,一般ScrumOwner(产品经理)、ScrumMaster(项目经理)、Developer、需求分析师为猪类角色,而测试工程师、UI工程师、QA、客户等为鸡类角色。Scrum教练参与会议以控制迭代及其过程。但实际项目中往往是猪类角色没有发言,鸡类角色喋喋不休。

    展开全文
  • 一天,一头猪和一只在路上散步 看了一下说:“嗨,我们合伙开一家餐馆怎么样? 回头看了一下说:“好主意,那你准备给餐馆卖什么呢?” 想了想说:“餐馆卖火腿鸡蛋怎么样?” 说:“不开了,我全身...
    让我们来看这么一个故事:
    一天,一头猪和一只鸡在路上散步
    鸡看了一下猪说:“嗨,我们合伙开一家餐馆怎么样?
    猪回头看了一下鸡说:“好主意,那你准备给餐馆卖什么呢?”
    鸡想了想说:“餐馆卖火腿和鸡蛋怎么样?”
    猪说:“不开了,我全身投入(火腿是一次性资源),而你(鸡蛋是可再生的)只是参与而已!”
    

    在这里插入图片描述

    这个故事是Implementing Scrum网站为了解释,什么是Scrum而推出的系列故事中最具代表性的一个,它展示了在Scrum中的两组角色:猪和鸡。

    在故事展开之前,我们先来了解一下什么是Scrum。

    Scrum是迭代式增量软件开发过程,通常用于敏捷软件开发。Scrum包括了一系列实践和预定义角色的过程骨架。Scrum中的主要角色包括同项目经理类似的Scrum主管角色负责维护过程和任务,产品负责人代表利益所有者,开发团队包括了所有开发人员。虽然Scrum是为管理软件开发项目而开发的,它同样可以用于运行软件维护团队,或者作为计划管理方法。

    好了,回到本文开头的故事。

    猪被认为是Scrum团队中的核心成员,在一个团队中产品的负责人和Scrum主管和开发团队就是"猪"角色。

    鸡不是Scrum的一部分,但必须要考虑他们,用户、客户或提供商、经理等扮演着“鸡”角色。需要说明的是在Scrum团队中不会有一个人同时成为“猪”角色和“鸡”角色。

    我们看看团队中的“猪”都有哪类角色:

    产品负责人(Product Owner)

    即负责维护产品订单的人,代表利益相关者的利益。

    我们可以把这一角色理解为没有项目管理权限的产品经理,他只对产品负责,决定做出来的产品是什么,包含哪些功能要点。传统的软件开发流程中,产品经理是要肩负起一定的项目管理的职责的,产品经理可能同时就是项目经理,甚至在一些企业中CEO就是最大的产品经理。但是在Scrum框架中,产品经理没有项目经理的权限,无权干涉项目开发的进度,项目的成功与失败也不需要产品经理独自承担责任。产品负责人最大的职责就是做好开发团队与客户之间沟通的桥梁,维护好“产品订单”,排列出开发的优先级。简单来说,有没有按时做完项目不是产品负责人的责任,但做出来的东西是不是客户想要的就是产品负责人的事情了。所以产品负责人必须是Scrum团队的一员,和其他成员一起时刻盯着团队开发的是否是“产品订单”中列举的东西。

    Scrum主管(Scrum Master)

    即为Scrum过程负责的人,确保scrum的正确使用并使得Scrum的收益最大化。Scrum Master需要知道团队其他成员如何完成开发工作。这一角色通常要团队中最资深的那个开发人员来担当比较合适,不仅仅是他的技能可以指导其他成员,更因为他有资历去排除哪些影响Scrum实施的外界干扰。 Scrum Master虽然同样无项目经理的权限,但需要他在关键的时刻站出来,帮团队推掉来自外界甚至是高层临时下达的产品开发需求。

    开发团队

    由负责自我管理开发产品的人组成的跨职能团队。Scrum教程里倡导的Scrum团队的理想人数是7人,那么即意味着除了1个Product Owner和1个Scrum Master外,开发团队应有5人。开发团队必须是跨职能的,如果大家的技能相同,很容易出现彼此推诿的现象。 每个人都应该明确,自己的工作只有自己才能最好的完成,这样才能组合在一起形成一个团队。另外,开发团队人数不能过多。

    Scrum倡导的是自我管理的团队,这其实是违背传统的管理模式的。团队人数少的时候,即使团队中个别人缺乏自我管理的意识,那周围同伴也很容易帮助其提高和改善自我管理的能力。但团队人数一旦很多,出现一群无自我管理意识的人群的时候,那影响的作用力就是相反的,这一小群人会影响周围更多的人,此时Scrum团队又无一个专职的管理者,便会出现“无政府主义”的现象,造成一盘散沙的恶果。
    在这里插入图片描述

    属于“鸡”的又有哪类角色呢?

    用户

    在Scrum流程中,虽然不能完全听取用户的意见,但还是得时刻关注用户的感受和反馈。 因为Scrum是一种迭代式增量软件开发的过程,如果每个小模块都能得到用户良好的反馈的话,那无疑最后完工的整个系统出差错的概率会小很多。毕竟用户不是专业软件开发人员,整个系统对其来说过于庞大和复杂,一个个小模块是其能最好理解的单元个体。处理好用户与开发者关系的重要人物就是前面所讲的Product Owner,他必须及时的收集用户的反馈,以此完善每次冲刺的订单,但同时又不能让用户的反馈去影响开发的步骤。

    利益所有者(客户,提供商)

    在Scrum体系中,一旦开发团队与客户确认好开发需求后,客户应该无权在中间干涉团队是怎么完成的。客户需要了解,随意的更改需求、干涉开发的流程是很危险的,极有可能出现鸡飞蛋打的双输场面。在前期项目立项的时候要尽可能多的和客户接触,完整的记录客户所有的需求。但在开发过程中,特别是每天的站立会中,建议不要让客户,特别是根本不知道什么是Scrum的客户来旁听站立会。

    经理

    可以把他理解为项目经理或部门经理,甚至是管理产品开发的副总或直接就是老板!这群人就是故事中的鸡爷爷,他们财大气粗,有权有势,为了能开发出新的有竞争力的产品,为小猪们提供了资金和场所,所以他们对产品的意见也是至关重要的。

    Scrum实施中一个令工程师们兴奋的就是项目经理将不再管理我们的开发过程,我们自己管理自己。但实际操作起来,这确实是最难的一个环节。

    一旦项目经理在Scrum“每日立会”中下达指示,而Scrum Master又没挡住的话,那这个团队的Scrum实施就失败了,团队成员会觉得自己失去了领导的信任,被授予的自我管理的权限又被无情的收回了。

    大家又会重新回到原先的模式,每一步听从项目经理的指示,按指示办反正不会有错,失败了是项目经理指示错误的责任,成功了也能跟着项目经理分碗汤喝。

    Scrum能否成功实施,很关键的是能否得到高层的认同和理解。一个团队要实施Scrum,首要需要接受培训的就是公司高层领导们,高层领导们要权衡实施Scrum的利弊,如果Scrum能带来高效、优质的开发成果,那就应该忘记Scrum实施过程中给所带来的心灵上的折磨。我们可以合理的定好Scrum团队中每个人的KPI,让每个成员真正意识到项目成功是自己的事,而不是项目经理、高层们的事。

    Scrum能否成功实施关键在于“猪”与“鸡”两种角色之间心理上的平衡与和谐!“鸡爷爷”切不可把“小猪”们看成是一群猪八戒,空有一身本领,但好吃懒做。“小猪”们也不可把“鸡爷爷”想象成周扒皮,只会半夜鸡叫,影响正常的开发进度。猪和鸡双方相互理解,达到项目开展过程中的平衡点,才能让整个项目顺利的完成。

    展开全文
  • 敏捷项目中,架构师可以扮演重要的角色吗?还是说,因为他们倾向于“预先做大量设计(big design up front)”而只能成为辅助角色?最近,微软的企业架构师Nick Malik在一篇博文中对该话题进行了探讨,他的结论是...

    在敏捷项目中,架构师可以扮演重要的角色吗?还是说,因为他们倾向于“预先做大量设计(big design up front)”而只能成为辅助角色?最近,微软的企业架构师Nick Malik在一篇博文中对该话题进行了探讨,他的结论是,架构师完全可以在使用Scrum的软件项目中扮演关键角色。

    \

    Malik的博文源于一个项目。在这个项目中,他试图把架构实践活动作用于Scrum过程。在文章的开头,他就立即断言,软件架构与敏捷开发过程并冲突。不过,他也承认,在一个交付周期较短的Scrum项目中,花费数月时间编写文档和图解系统的传统架构实践活动“相当傻”。但是,必须承认,任何软件项目——包括通过Scrum开发过程交付的项目——都有一个基本的软件架构。

    \
    \

    软件架构的价值在于,它对系统自身核心基础设施做一系列关键决策:哪里需要泛化?要使用分层模式吗?如果使用,每一层的职责是什么?每一层包含哪些模块以及为什么要创建这些模块?如何在层和组件之间划分系统的职责?如何将模块进行大规模部署?信息如何在模块之间以及系统与外围系统之间流转?

    \

    这些问题的答案可以说明一个系统的架构是什么样子。

    \
    \

    据Malik说,做每一项选择都要仔细平衡系统的一连串质量需求。软件架构师在软件架构职责的三个不同层次上工作时均需要考虑这些需求。

    \

    86a661862cae25aafed52d5df7facd0d.png

    \

    原始地址

    \

    最上面一层称作“校准过程(Aligning Processes)”,每季度或者每半年发生一次,解决整个组织的信息和商业策略相关的架构问题。这一层的输出是组织的未来软件模型。第二层包括“平衡过程(Balancing Processes)”,它与给定的软件项目相关联,可能发生在前面几次Scrum冲刺的推进过程中。Malik解释说,在这一层会对系统的逻辑架构进行精心设计。

    \

    这些过程考虑单一系统的需求,但仅仅决定几个方面的问题,包括为什么软件要分成模块、层和组件,如何进行职责划分,以及最终系统使用特定技术部署到特定的环境以后是什么样子。

    \

    最后,该模型的最底层是“实现过程(Realization Processes)”。据Malik说,这一层是“架构变成软件的地方”,架构师做出具体的设计决 ,软件开发人员按照决定构建系统。Malik承认,开发人员可能不接受架构师选择的设计模式,即便如此,“开发团队还是极有可能按照架构师的描述实现软件架构,但是可以改进它”。

    \

    那么,在实践中,对于一个给定的Scrum软件开发过程,如何开展这项工作呢?Malik直接在“冲刺规划(Sprint Planning)”会议之前增加了一个阶段。原先,可以从优先“产品待办事项列表(Product Backlog)” 阶段直接进入到冲刺规划会议及后续软件冲刺阶段。现在,项目团队插入了“冲刺前Story审查(Pre-Sprint Story Review)”阶段,用于对Story进行改进及架构评估。

    \

    533cc1f0f759cb9d516744c22c511b75.png

    \

    原始地址

    \

    Malik建议在冲刺规划会议前一周执行这个专注于架构的新步骤。

    \

    在冲刺规划会议前的一周里,那些与产品经理一起工作的人可以改进Story、增加约束、完善描述和验收标准。这时,架构师开始发挥作用。他完成了上述模型中的“平衡”任务,将有(或可以创建)一份描述软件系统架构的概要文档,并且能够把文档与受该设计影响的具体Story“链接”起来。

    \

    Malik的结论是,在敏捷项目中,一名架构师是“鸡”还是“猪”取决于他在哪一层。在精心设计第一层和第二层的时候,架构师是团队的一名普通参与成员,即扮演“鸡”的角色;当在第三层工作的时候,架构师是一名投入大量时间与精力的参与者,即扮演“猪”的角色。这项由Malik推动的活动继续对架构师在敏捷实践中所扮演的角色进行研究。在今年早些时候的一篇博文中,Malik提出,架构师天生敏捷,他们注重通过增量过程完成高价值的活动,这一点与敏捷精神一致。由于企业试图提高软件开发的效率,同时又希望能够避免增加架构方面的负担,所以敏捷与架构的交点仍然是一个热门领域。

    \

    查看英文原文:Architects: Chickens or Pigs in an Agile Development Process?

    \

    感谢马国耀对本文的审校。

    \

    给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

    \
    展开全文
  • Scrum猪和鸡的故事

    2015-11-29 18:50:40
    一天,一头猪和一只在路上散步, 看了一下说: “嗨,我们合伙开一家餐馆怎么样?” 回头看了一下说: “好主意,那你准备给餐馆卖什么呢?” 想了想说: “餐馆卖火腿鸡蛋怎么样?” ...

    本文转载至:http://blog.csdn.net/fen0707/article/details/8979942

    一天,一头猪和一只鸡在路上散步,

    鸡看了一下猪说:

    “嗨,我们合伙开一家餐馆怎么样?”

    猪回头看了一下鸡说:

    “好主意,那你准备给餐馆卖什么呢?”

    鸡想了想说:

    “餐馆卖火腿鸡蛋怎么样?”

    猪说:“不开了,我全身投入(火腿是一次性资源),而你(鸡蛋是可再生的)只是参与而已”

    注解:这幅卡通画是Implementing Scrum网站为了解释什么是Scrum而推出系列漫画最具代表性的一幅,这幅卡通画中展示了在Scrum中的两组人:猪角色和鸡角色

    猪角色被认为是团队中的核心成员,在一个团队中产品的负责人和Scrum主管和开发团队就是"猪"角色.

    鸡角色不是Scrum的一部分,但必须要考虑他们,用户,客户或提供商,经理等扮演着“鸡”角色!

    需要说明的是在Scrum团队中是不可能有一个人同时为"猪角色"和"鸡角色"!

     

    问题在于鸡老喜欢下决策,并且指挥着猪去执行。所以,在制定策略,拍板决策执行的时候,是不允许鸡这样人物出现。只要这个项目对他毫无影响,他的利益与该项目没有直接关系,我们将不考虑此种人在该项目的任何决策性意见(需要考虑的是建议性意见)。

        在Scrum的项目管理里,区分角色是一项重要的工作。把有兴趣关心,并无利益或价值牵扯的人,排除在项目决策团队以外,明确清楚地知道决策者是那位,听从他的指挥安排,是敏捷项目开发的重要方法。

    "猪"角色:

    猪 是全身投入项目和Scrum过程的人; they are the ones with "their bacon on the line."

    产品负责人

    产品负责人代表了客户的意愿。这保证了Scrum团队在做从业务角度来说正确的事情。产品负责人编写用户故事,排出优先级,并放入产品订单。

    As per this article, the product owner should be the chicken but not the pig, need to identify this later after the discussion with S1 development team.

    2009/05/18 - As described in the co-author of scrum ken schwaber's book <Agile Project Management with Scrum>, product owner should be the pig as he/she has the responsibility and accountability in the projct.


    Scrum主管 (或促进者)

    Scrum主管促进 Scrum过程,他的主要工作是去除那些影响团队交付冲刺目标的障碍。Scrum主管并非团队的领导(由于他们是自我组织的),而是负责屏蔽外界对开发团队的干扰。Scrum主管确保Scrum过程按照初衷使用。Scrum主管是规则的执行者。

    开发团队

    负责交付产品的团度。由5至9名具有跨职能技能的人(设计者,开发者等)组成的小团队完成实际的开发工作。.

    "鸡"角色:

    鸡角色并不是实际Scrum过程的一部分,但是必须考虑他们。敏捷方法的一个重要方面是使得用户和利益相关者参与到过程中的时间。参与每一个冲刺的评审和计划,并提供反馈对于这些人来说是非常重要的。

    用户

    软件是为了某些人而创建!就像“假如森林里有一棵树倒下了,但没有人听到,那么它算发出了声音吗”,“假如软件没有被使用,那么它算是被开发出来了么?”

    利益所有者 (客户,提供商)

    影响项目成功的人, 但只直接参与冲刺评审过程。

    经理

    为产品开发团体架起环境的那个人

     

     

    参考如下网页:

    1)http://blog.csdn.net/flm2003/article/details/5872262

    2)http://blog.sina.com.cn/s/blog_5effa8f10100d2zd.html


    展开全文
  • Scrum是为开发软件而创造的...Scrum角色有 ScrumMaster,猪和鸡。这些角色在Scrum中发挥着重要作用。来看看这些角色到底是什么以及角色之间是如何交织在一起的。 为什么使用猪和鸡来描述Scrum角色? Scrum...
  • 在一个复杂的项目生命周期中,SCRUM MEETING是一种能够协助进行团队管理与过程管理的有效反馈机制,这种反馈机制被那些采用了敏捷开发方法论的软件开发团队广泛应用。不过这种沟通方式并不局限于此,即使你所在的团队...
  • 什么是敏捷开发1.1 敏捷开发的定义1.2 敏捷开发的原则1.3 敏捷开发的特点1.4 传统的开发模式和敏捷开发模式的对比1.5 敏捷开发的分类1.5 Scrum 一. 什么是敏捷开发 1.1 敏捷开发的定义 2001年,由Martin Fowler,...
  • 敏捷开发知识体系整体框架敏捷开发工程实践项目管理 迭代开发 风险价值生命周期 多级项目规划 完整团队 每日站立会议 任务板 燃尽图 需求管理 需求订单 业务流程草图 用例驱动开发 用户故事 架构 演进的架构 演进的...
  • 敏捷开发方法综述

    2019-07-05 10:24:04
    敏捷开发的出现是由于在2000年左右,许多团队采用庞大,重型的过程方法的趋势在逐渐增长,一批自称敏捷联盟的业界专家概括出了可以让软件团队具有快速工作,响应变化能力的价值观原则。影响至今的就是他们的敏捷...
  • Scrum是一种敏捷开发的模式,借助Scrum,团队可以实现产品的迅速迭代,十分适用于需求变化快的行业。因此,Scrum这种模式在互联网时代被广泛地使用,受到越来越多人的追崇。本文中,Momenta无人驾驶软件架构师梁潇...
  • 敏捷开发知识体系

    2017-03-28 08:27:22
    敏捷开发知识体系整体框架 敏捷开发工程实践 项目管理 迭代开发风险价值生命周期多级项目规划完整团队每日站立会议任务板燃尽图 需求管理 需求订单业务流程草图用例驱动开发用户故事 架构 演进...
  • 简要介绍《轻松Scrum之旅–敏捷开发故事》以小说的方式向我们介绍了主人公在经历了如噩梦般的传统的瀑布开发模型后,成功向敏捷开发转型的故事。 作者通过4个迭代开发过程,展现了主人公是如何从一个敏捷开发的新手...
  • 敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可...
  • 一个是敏捷开发的宣言 另一篇是稍微具体的方法
  • 敏捷开发知识体系整体框架 敏捷开发工程实践 项目管理 迭代开发 风险价值生命周期 多级项目规划 完整团队 每日站立会议 任务板 燃尽图 需求管理 需求订单...
  • 按照对开发过程的参与情况,这些角色被分为两组,即[b]和鸡组[/b]。这个分组方法的由来是一个关于[b]猪和鸡合伙开餐馆[/b]的笑话: 一天,一头猪和一只在路上散步。对猪说:“嗨,我们合伙开一家餐馆怎么...
  • 《C#敏捷开发实践》是一本相当不错的良心之作。本书分为两个部分: 第一部分:讲了敏捷开发的一些原则,书中列举了一些很不错的实现例子。本书主要使用的是Scrum的敏捷开发流程 第二部分:通过一个具体开发过程中...
1 2 3 4 5 ... 20
收藏数 388
精华内容 155
关键字:

敏捷开发 猪和鸡 角色