c++中所有权是什么意思
Scrum继续坚持一个人在开发项目中扮演产品负责人的角色。 一个人可以设定团队的方向和优先级,定义系统将要执行的工作,管理积压的需求,并确定何时完成工作。 但是,与许多其他组织一样,我们发现这行不通 。
一个人要理解和管理的功能,操作和技术细节太多,一个人要做出的重要决定太多,要解决的问题太多,需要后续跟进的问题太多,松懈,而且没有足够的时间。 它需要太多不同的观点:业务需求和业务风险,技术依赖性和技术风险,用户体验,可支持性,合规性和安全性约束,成本因素。 而且,有太多的利益相关者需要咨询和管理,尤其是在大型,实时业务关键系统中。
单一产品负责人无法扩展
Roman Pichler说,一个产品负责人可以支持一个或最多两个功能团队 。 您在涉及数十或数百人的大型项目,复杂产品上做什么? 您需要组建一个产品所有权团队 ,并由产品所有者的层次结构向产品经理或程序经理报告。 或者找到其他方式将产品所有者的职责分散到一个以上的人员中,将产品经理和一个或多个业务分析人员之间的某些工作分散起来,以负责详细的工作,或者尝试“ 客户配对 ”或其他一些客户责任模式 。
敏捷开发的原则是,您可以从一起工作的人们那里获得最好的结果:更好的理解,更好的设计,更好的代码。 那么,为什么要一个人做出关于需要构建什么的所有重要决定呢?
谁是您的产品负责人?
在我们的商店中,每个系统都有一个发起人:一位业务主管,负责日常运营并具有制定战略性业务和产品决策的权限。 发起人设定系统的总体方向和目标,并对任何政治行为进行罚款,仲裁来自不同利益相关者(客户,合作伙伴,销售,运营,合规,发展)的冲突需求和优先事项。 发起人对重大计划做出不做决定,并在风险很高时权衡风险和成本的决定。
其他职责分散在开发主管,开发人员,测试人员,客户服务人员和组织中的其他人员中。
开发负责人负责管理积压工作,功能和修补程序的详细计划以及优先级排序的大部分工作,并与发起人,开发人员,质量保证和操作人员以及其他利益相关者一起制定开发时间表。 这使开发团队可以更好地控制管理技术依赖性和技术风险,从而决定将如何完成工作以及可以一起完成哪些工作。
开发负责人和开发人员填写需求,编写和审阅规范,构建原型,举行研讨会,讨论和争论替代方案并阐明细节,进行实验,制定设计。 他们知道何时需要澄清或其他帮助时去找赞助商或其他利益相关者。 他们可以解决此问题,因为团队中的每个人在此业务领域中工作了5年,10年或更长时间,并且拥有必要的洞察力和经验。
丹·诺斯(Dan North)在“ 加速敏捷:无需炒作的情况下实现卓越表现 ”中解释说,生产能力超强的敏捷团队的关键是要拥有真正了解该领域的人员,以便每个人都可以做出贡献,填写详细信息,提出建议,提出疑问,评估风险,并在需要时做出决定。 让您的团队充满以前使用过相同系统的人员,如果可能的话,让所有人接受培训或动手实践。
决定完成
决定何时完成工作(对我们而言,这意味着代码已准备好发布)也由团队共享。
开发人员编写自己的单元测试并测试自己的更改。 所有代码都必须通过持续集成中的自动回归测试套件和静态分析检查。
开发负责人检查所有代码签入,以确保代码正确,安全和可维护-正确完成。
质量检查工程师测试每个功能或更改或修复,包括集成测试和探索性测试,以验证功能或修复是否达到了预期的功能。 他们还会审查可用性,并根据需要引入其他利益相关者,例如客户服务或运营。
在发布更改之前,我们的发布经理(也是质量检查团队的负责人)检查所有评论和演示是否已完成并且所有测试都已通过,评估风险,确定准备发布的代码,然后调用发布与发起人,开发人员,操作人员和其他利益相关者的会议。 发起人查看所有步骤并进行检查,审查主要更改(尤其是具有法规影响或承担操作风险的更改),并确定可以继续进行发布。
这就是产品所有权的工作方式
由多个人共同承担产品所有权责任,使我们可以完成更多工作。 我们也做得更好:更多的观点和知识,更多的发现错误的机会。 它为团队中的每个人创造了更多参与和回馈业务的机会。 所有这些都变得自我增强。 越多的人参与产品所有权,他们将学到更多。 他们学习的越多,他们可以做的越好,就可以回馈更多。 组织变得更好,产品变得更好。 你为什么不想要那个?
翻译自: https://www.javacodegeeks.com/2014/05/how-product-ownership-works-in-the-real-world.html
c++中所有权是什么意思