敏捷产品管理:从产品负责人到产品待办事项的全面指南
1. 敏捷环境下的产品管理与产品负责人职责
在敏捷开发环境中,产品管理与其他应用开发环境下的产品管理有诸多相似之处。其核心工作是明确哪些产品特性能够让产品对最终用户产生价值,这要求对开发限制、时间框架有清晰的理解,同时要巧妙平衡市场与客户需求、业务需求以及各种相互竞争的限制和要求。
在敏捷开发,特别是使用Scrum框架时,“产品负责人”这一角色应运而生。产品负责人的基本职责决定了他们要对产品的成败负责,具体职责如下:
-
理解客户需求
:要区分客户所说的需求(想要的)和实际需求。市场细分会使这一问题更加复杂,不同类型的客户可能有相互冲突的需求。例如,在医疗行业,营利性医院、慈善医院和政府运营的医院需求可能不同。此外,产品负责人还需具备预测未来三到五年事件及其对客户需求影响的能力,以便让产品提前做好准备。
-
代表利益相关者
:产品负责人是组织内客户的代言人,要代表客户、政府监管机构和高管管理层的优先级、需求和意见。通过在工作中始终代表利益相关者,确保产品具备为客户提供最大价值的特性,且产品能按照客户期望的方式运行,并在大部分客户需求的参数范围内可定制。
-
最大化产品投资回报率(ROI)
:在评估产品特性的取舍时,产品负责人要使开发活动的回报最大化,即从每个添加到产品中的特性中以最低成本获得最大价值。这给产品负责人和开发团队带来了巨大压力,要求他们尽量减少缺陷,并在客户看重的功能和虽无直接功能但必要的架构改进之间进行谨慎平衡。
-
工作优先级排序
:产品负责人通过对产品待办事项列表进行优先级排序,来驱动Scrum团队的开发工作。Scrum团队从待办事项列表顶部获取工作,如需处理列表中定义顺序之外的事项,必须获得产品负责人的许可。任何人都可以向待办事项列表添加项目,但这些项目通常会被添加到列表底部,或者先放入一个待审核队列,只有产品负责人有权对列表进行优先级排序或移除项目。
-
为开发团队翻译待办事项
:无论产品待办事项如何编写,产品负责人都是其含义和产品完成后应如何表现的最终权威。例如,客户可见的功能、用户界面的工作方式、公式的运行方式、搜索标准、数据是否可选以及功能的性能特征等。产品负责人通常在待办事项梳理研讨会、冲刺计划会议和冲刺过程中完成这些沟通工作。
-
实现并维持可维护的开发节奏
:在敏捷产品管理中,Scrum团队在冲刺期间完成的功能数量往往达不到产品负责人的期望。产品负责人应适度推动团队,使其保持动力和挑战,找到可持续的最大开发节奏。如果推动过度,可能导致团队产出低质量软件且无法长期维持工作节奏。
-
理解多个团队的需求
:产品负责人是将新产品想法引入产品待办事项列表以及组织中其他非敏捷部分的起点。他们需要了解开发团队、销售团队、技术营销团队、教育服务团队和客户服务/技术支持团队等受产品待办事项变更和添加的影响,并确保相关人员在正确的时间采取正确的步骤。
-
规划产品beta测试
:即使在敏捷开发中每天进行产品构建和测试,仍需将产品安装到实际客户环境中进行beta测试,以确保产品在最接近生产的环境中得到测试。产品负责人需要规划一次或多次beta测试,征集潜在客户,管理beta软件的交付,收集客户报告的缺陷,并确保这些缺陷得到诊断和修复。
2. 大规模产品所有权管理
在大型组织中,产品负责人通常是由产品经理和业务分析师组成的团队的一部分,共同承担产品负责人的职责。以下是两种常见的组织形式:
-
小型产品负责人安排
:有一个单一的产品负责人,主要负责与外部相关的职责,如与客户会面、与管理层交流和参加行业会议。四名业务分析师与产品负责人密切合作,他们尽可能多地了解产品待办事项列表中的每个项目,以代表产品负责人的意愿,并直接与每个Scrum团队合作,履行产品负责人对Scrum团队的大部分职责。
graph LR
A[产品负责人] --> B[业务分析师1]
A --> C[业务分析师2]
A --> D[业务分析师3]
A --> E[业务分析师4]
B --> F[Scrum团队1]
C --> G[Scrum团队2]
D --> H[Scrum团队3]
E --> I[Scrum团队4]
-
大型产品负责人安排
:对于更大型、更复杂的产品,需要多个产品负责人,每个产品负责人负责产品的一个主要部分。此外,还有一个“超级”产品负责人,对整个产品负总责,并将权力下放给其他产品负责人。产品负责人团队定期开会,至少每冲刺一次,比较业务需求和当前机会,具体内容包括:
- 回顾上一次冲刺的结果(完成了什么、哪些返回待办事项列表)并相应调整。
- 审查当前项目状态,确保所有产品待办事项列表反映组织的优先级和需求。
- 与其他产品负责人协商,解决待办事项列表之间的依赖问题。
- 识别新机会和挑战,并相应更新产品待办事项列表。
例如,在一个航班管理软件项目中,有超级产品负责人Paul,以及负责不同功能的产品负责人Linda、Jody和Bill。他们各自带领业务分析师与Scrum团队合作,根据市场变化和客户需求,对产品待办事项列表进行调整。当公司客户开始订购Airbus A380飞机时,产品负责人团队决定在待办事项列表中添加与该飞机相关的项目,如架构调整、座位配置、登机口分配、餐饮偏好和座位安排等方面的项目。
3. 扩展的产品待办事项列表
随着产品负责人对要构建的产品定义越来越多,信息在产品待办事项列表中初步成型。但实际上,产品待办事项列表不仅仅是一个简单的列表,还包括项目信息库和缺陷管理系统,这三者构成了扩展的产品待办事项列表:
|组成部分|说明|
| ---- | ---- |
|产品待办事项列表|本书和大多数关于Scrum的文献都对其进行了详细讨论,这里不再赘述。|
|项目信息库|用于存储Scrum团队在讨论待办事项时收集的所有信息,包括流程图、用户界面原型、数据库架构设计、测试用例定义等。|
|缺陷管理系统|包含Scrum团队认为软件功能完成后在产品中发现的缺陷信息。它可以从各种来源收集关于缺陷性质的重要必要信息,并对缺陷进行分类,以便于搜索、优先级排序和报告。产品负责人可以在产品待办事项列表中为缺陷设置占位符,确保Scrum团队对缺陷进行分析和解决。|
例如,在飞机管理系统中,要添加对多甲板飞机的架构支持,团队在评估和分析该待办事项时,会创建与设计相关的信息,如“飞机”和“座位”表的初步架构、受影响的代码模块和报告列表等,这些信息存储在项目信息库中。同时,在详细讨论中发现的缺陷会添加到缺陷管理系统中,产品负责人会将缺陷ID添加到产品待办事项列表中。
4. 产品待办事项列表的管理工具
- 产品待办事项列表 :为了满足报告和安全需求,组织通常会选择专门的工具来管理产品待办事项列表,而不是使用电子表格。常见的工具包括Excel、ScrumWorks、XPlanner、Rally和VersionOne等。除电子表格外,大多数工具都提供一定程度的安全保护和支持查看、修改和优先级排序待办事项的功能。
- 信息库 :信息库需要能够存储多种类型的信息,并允许Scrum团队围绕产品待办事项轻松组织内容。常见的工具包括Sharepoint、Basecamp、Lotus Notes和Wiki等,这些工具支持对文档进行标记,方便关联文档与待办事项编号,并可配置以提供适当的信息访问权限。个人推荐使用现代Wiki应用程序,通过简单的命名和使用标准,它可以管理大量复杂信息。
- 缺陷管理系统 :缺陷管理系统需要能够存储帮助开发人员理解、诊断和解决应用程序软件中发现的缺陷所需的所有信息。常见的免费产品包括BugTracker.NET、Bugzilla、Mantis、GNATS和Redmine等。
5. 向产品待办事项列表添加项目
产品待办事项列表是产品负责人定义产品需求和顺序的方式,他们必须确保想要的任何产品内容都能进入待办事项列表。可以添加的项目包括:
-
功能特性
:产品待办事项列表中的大部分项目描述了产品负责人希望产品具备的功能。
-
架构需求
:如通用的打印和报告例程、队列管理、列表管理、事件管理、身份验证和授权、通用用户界面渲染例程等。
-
技术债务
:这些是开发人员在构建功能时未完成的“完成度”项目,在组织向敏捷开发过渡初期可能较多,但在头两年内应迅速减少。常见的技术债务包括未完成的重构、缺失的单元测试和验收测试、未将产品工件(代码、文档等)检入源代码控制、修复代码以通过所有单元和验收测试、完成质量检查和文档更新等。
-
基础设施项目
:这些项目虽然不直接为产品添加功能,但直接支持开发人员构建产品的能力,如构建或修复持续集成服务器、研究、安装和实施开发工具等。
6. 向产品待办事项列表添加缺陷
当完成的软件从Scrum团队交付给其他质量保证团队、开发团队和客户时,会发现软件操作中的缺陷。在大多数组织中,新发现的缺陷会根据其严重程度和对客户的影响进行分类:低、中、高和关键。处理方式如下:
-
关键缺陷
:直接交给负责的Scrum团队立即处理,Scrum团队需要确定缺陷对当前冲刺的影响,并与产品负责人讨论如何修改冲刺承诺。
-
其他缺陷
:分配给Scrum团队后,有两种处理方式:
- 将缺陷添加到产品待办事项列表中,并与其他工作一起进行优先级排序。在某些情况下,只将高严重程度的缺陷添加到待办事项列表,中低严重程度的缺陷在后续项目规划时添加。
- Scrum团队在每个冲刺中预留一些容量,按优先级顺序解决队列中的缺陷。Scrum团队应与产品负责人持续协商,确定为解决缺陷应预留的容量。
7. 为产品待办事项列表项目的成功做好准备
产品待办事项列表中的项目驱动产品的创建,因此项目定义越清晰,Scrum团队的开发就越成功。除了所需功能的描述外,产品负责人和Scrum团队还可以考虑在待办事项列表项目中包含以下信息:
|信息类型|说明|
| ---- | ---- |
|问题复杂度估计|Scrum团队负责对项目进行估计,产品负责人不应自行提供估计。建议从一开始就采用一致的估计方法,如小时、理想人天、理想团队天或故事点。|
|验收标准|帮助Scrum团队定义项目的“完成度”,通常以“完成后,如果你执行
,结果将是
”的形式编写。产品负责人和业务分析师定义验收标准,Scrum团队也可提供建议,但产品负责人拥有最终决定权。建议所有待办事项列表项目在Scrum团队开始构建之前都有验收标准。|
|风险|评估构建项目的风险,通过对团队对技术、算法和概念的理解、产品负责人对功能的理解清晰度、团队协作能力、团队对产品的整体经验水平以及应用程序的稳定性等方面进行快速评估,得出一个基本的风险概念。根据总得分将风险分为最小风险、中等风险、高风险和不可接受风险,并采取相应措施。|
|价值|产品负责人负责评估待办事项列表项目的价值,可使用实际货币金额或自定义单位,如0 - 10分制、高/中/低、$/$ $/$ $ $等。一种有效的方法是定义“收益”和“惩罚”两个值,将两者相加得到项目的业务价值,以帮助产品负责人更客观地评估和优先排序项目。|
|性能约束|现代软件开发往往在开发后期才关注系统性能,产品负责人在创建新的待办事项列表项目时,应从客户的角度考虑项目的性能要求。可以通过设置相对值来表示性能标准,如B(批量或后台)、S(搜索)、C(提交)、F(快速)和VF(非常快速),在待办事项梳理过程中再将其细化为更详细的标准。当Scrum团队对项目进行切片时,原项目的性能特征应传递给较小的项目。|
|专业技能|在许多组织中,Scrum团队处理的待办事项列表项目经常需要团队缺乏且组织内供应有限的技能,如数据库架构师、数据库分析师、用户界面可用性分析师和技术文档编写人员等。Scrum团队可以标记需要专业技能的项目,以便提前一两个冲刺识别所需技能并获得相关资源的时间承诺。|
建议根据组织的实际情况选择是否添加这些信息,以下是一个实施计划建议:
-
立即实施
:复杂度估计有助于Scrum团队了解每月的工作完成量(速度)并限制冲刺期间的待办事项梳理工作;验收标准对每个项目都至关重要,帮助Scrum团队了解如何构建项目;价值估计有助于产品负责人在项目过程中最大化投资回报率。
-
按需实施
:如果Scrum团队在冲刺过程中遇到许多意外复杂情况,可在待办事项梳理时实施风险评估;如果开发过程中性能测试不足或应用程序对性能依赖较大,可在待办事项列表项目中实施性能约束;如果Scrum团队经常因缺乏必要技能而无法完成项目,可实施待办事项列表项目标记。
8. 产品待办事项列表项目的优先级排序
产品待办事项列表中的项目不断被审查和切片,产品负责人需要不断对其进行优先级排序。这是一个主观的过程,以下是一些可以参考的方法:
-
哪些项目提供最大的商业价值
:通过比较待办事项列表项目的价值和复杂度估计,可以计算出大致的商业价值。
-
哪些项目提前完成或与其他项目结合完成成本更低
:一些项目在产品开发早期完成成本较低,例如在添加大量新表之前对产品数据库架构进行重大更改,或者在产品最初构建时添加身份验证和授权功能。此外,一些项目与其他项目结合完成比单独完成更容易。
-
哪些项目后期完成风险更高
:随着产品功能和复杂性的增加,一些项目后期构建会越来越困难,例如审计和日志功能往往需要对整个产品进行修改,风险会越来越高。
-
哪些项目能增加产品的吸引力,但客户不会主动提出需求
:有些功能客户一开始不会想到,但当产品具备这些功能时,会增加产品的吸引力和客户的兴趣。
产品负责人应关注当前机会,合理组织产品待办事项列表,以充分利用这些机会。
9. 管理系统约束
系统约束(也常称为非功能需求)描述了应用程序的特性,通常分为两种类型:
|类型|说明|
| ---- | ---- |
|操作特性|描述应用程序的运行方式,如应在哪些操作系统上执行、应用程序的可移植性、应使用的数据库管理系统类型以及应支持的安全应用程序类型等。|
|结构特性|描述应用程序的构建方式,包括可维护性(应用程序和代码本身是否易于理解和修改)、可扩展性(应用程序在增加CPU或内存、添加节点时的表现)、可测试性(应用程序对测试的支持程度)和可移植性(代码是否易于在不同平台之间迁移)等。|
在敏捷开发中,结构特性应融入每个Scrum团队的“完成度”定义中,通常在产品或组织层面进行定义。而操作特性会约束Scrum团队构建功能的方式,每个待办事项列表项目在讨论、分析和估计时,都必须考虑每个操作特性的影响。当操作特性列表较短时,Scrum团队可以在待办事项梳理和冲刺计划中考虑这些约束并记录影响;当列表较长时,在待办事项梳理时,Scrum团队的成员可以负责审查新项目与操作特性的关系,以查找潜在影响。
综上所述,在敏捷环境中,产品负责人通过填充、优先级排序和解释产品待办事项列表来进行产品管理。他们需要承担多项重要职责,在大型组织中可能会得到业务分析师的协助。产品待办事项列表由待办事项本身、信息库和缺陷管理系统组成,产品负责人在添加项目和管理列表时,需要考虑多种因素,包括项目的复杂度、价值、风险、性能约束和专业技能等,并根据实际情况对项目进行优先级排序和系统约束管理,以确保产品能够满足客户需求,实现最大价值。
敏捷产品管理:从产品负责人到产品待办事项的全面指南
10. 产品负责人的沟通与协作
产品负责人在整个产品开发过程中,需要与多个团队和利益相关者进行有效的沟通与协作。
-
与Scrum团队的沟通
:产品负责人应直接与Scrum团队交流产品的相关情况,包括决策原因、优先级调整以及这些变化如何提高产品的盈利能力和为客户提供的价值。不要仅仅通过业务分析师传达重要信息,要保持与Scrum团队的直接沟通渠道,确保信息的准确传递。
-
与利益相关者的协作
:产品负责人要代表利益相关者的需求,与客户、政府监管机构和高管管理层保持密切联系。在大型组织中,产品负责人团队需要定期开会,比较业务需求和当前机会,共同协调产品待办事项列表,解决依赖关系,并识别新的机会和挑战。
11. 敏捷产品管理的持续改进
敏捷产品管理强调持续改进,产品负责人需要不断优化产品待办事项列表和开发流程。
-
待办事项列表的优化
:产品负责人应定期审查和更新产品待办事项列表,确保其反映组织的优先级和需求。根据市场变化、客户反馈和技术发展,及时调整待办事项的优先级和内容。
-
开发流程的改进
:通过回顾冲刺结果,分析开发过程中出现的问题和瓶颈,产品负责人可以与团队一起探讨改进措施,提高开发效率和产品质量。例如,如果Scrum团队在某个冲刺中遇到了性能问题,产品负责人可以与团队一起分析原因,调整后续待办事项列表中的项目,增加性能优化的任务。
12. 敏捷产品管理中的风险管理
在敏捷产品管理中,风险管理是至关重要的一环,产品负责人需要对项目中的风险进行识别、评估和应对。
graph LR
A[识别风险] --> B[评估风险]
B --> C[应对风险]
C --> D[监控风险]
- 识别风险 :产品负责人需要关注项目中的各种潜在风险,如技术难题、资源不足、需求变更等。通过与团队成员、利益相关者的沟通和交流,及时发现可能影响项目进度和质量的风险因素。
- 评估风险 :对识别出的风险进行评估,确定其发生的可能性和影响程度。可以采用前面提到的风险评估方法,如对团队对技术的理解、产品负责人对功能的理解清晰度等方面进行评估,得出风险的等级。
- 应对风险 :根据风险的评估结果,制定相应的应对策略。对于高风险的项目,产品负责人可以考虑调整优先级、增加资源投入或寻求外部支持;对于低风险的项目,可以采取监控和观察的方式。
- 监控风险 :在项目开发过程中,持续监控风险的变化情况,及时调整应对策略。如果发现某个风险的发生可能性增加或影响程度变大,应及时采取措施进行处理。
13. 敏捷产品管理与客户价值的实现
敏捷产品管理的最终目标是实现客户价值,产品负责人需要始终将客户需求放在首位。
-
以客户为中心的开发
:产品负责人要深入了解客户的需求和期望,将其转化为产品待办事项列表中的项目。通过不断与客户沟通和反馈,确保产品的功能和特性能够满足客户的实际需求。
-
快速响应客户需求
:敏捷开发强调快速迭代和响应变化,产品负责人可以根据客户的反馈及时调整产品待办事项列表的优先级,优先开发对客户价值最大的功能。例如,如果客户提出了一个新的需求,产品负责人可以评估其价值和可行性,将其添加到待办事项列表中,并根据情况调整其他项目的优先级。
14. 敏捷产品管理中的团队协作与激励
一个高效的团队是敏捷产品管理成功的关键,产品负责人需要促进团队成员之间的协作和激励他们的积极性。
-
促进团队协作
:产品负责人要营造一个良好的团队协作氛围,鼓励团队成员之间的沟通和合作。可以通过组织团队建设活动、定期的团队会议等方式,增强团队的凝聚力和协作能力。
-
激励团队成员
:了解团队成员的需求和期望,为他们提供适当的激励和支持。可以通过认可团队成员的工作成果、提供培训和发展机会等方式,激发他们的工作积极性和创造力。
15. 敏捷产品管理的实践案例分析
为了更好地理解敏捷产品管理的实际应用,下面通过一个具体的案例进行分析。
假设一家软件公司开发一款在线教育平台,产品负责人需要管理多个Scrum团队进行开发。
|团队|职责|
| ---- | ---- |
|开发团队|负责平台的功能开发和代码实现|
|测试团队|对平台进行测试,发现和报告缺陷|
|设计团队|负责平台的用户界面设计和交互设计|
|运营团队|负责平台的运营和推广|
在项目开发过程中,产品负责人面临着以下挑战:
- 客户需求不断变化,需要及时调整产品待办事项列表的优先级。
- 多个团队之间的协作和沟通存在一定的问题,需要加强协调。
- 平台的性能和稳定性需要不断优化,以满足用户的需求。
针对这些挑战,产品负责人采取了以下措施:
- 与客户保持密切沟通,及时了解客户的需求变化,并根据需求调整产品待办事项列表的优先级。
- 组织定期的跨团队会议,促进团队之间的沟通和协作,解决项目中出现的问题。
- 在产品待办事项列表中增加性能优化和稳定性改进的任务,并与开发团队一起制定详细的计划。
通过这些措施的实施,项目取得了以下成果:
- 产品能够快速响应客户需求,满足了用户的实际需要。
- 团队之间的协作和沟通得到了明显改善,提高了开发效率。
- 平台的性能和稳定性得到了显著提升,用户体验得到了改善。
16. 敏捷产品管理的未来发展趋势
随着科技的不断发展和市场环境的变化,敏捷产品管理也将面临新的挑战和机遇,未来可能会呈现以下发展趋势:
-
与新兴技术的融合
:随着人工智能、大数据、区块链等新兴技术的不断发展,敏捷产品管理将与这些技术相结合,为产品的开发和管理带来新的思路和方法。例如,利用人工智能技术进行需求分析和预测,提高产品的开发效率和质量。
-
更加注重用户体验
:在竞争激烈的市场环境中,用户体验将成为产品成功的关键因素之一。敏捷产品管理将更加注重用户体验的设计和优化,通过不断收集用户反馈,及时调整产品的功能和特性,提高用户的满意度和忠诚度。
-
跨领域协作的加强
:未来的产品开发往往涉及多个领域的知识和技能,需要不同专业背景的团队进行协作。敏捷产品管理将更加注重跨领域协作,打破部门之间的壁垒,促进团队之间的沟通和合作,实现资源的优化配置。
总之,敏捷产品管理是一种适应快速变化市场环境的有效产品管理方法。产品负责人在其中扮演着至关重要的角色,需要承担多种职责,管理产品待办事项列表,与多个团队和利益相关者进行沟通协作。通过持续改进、风险管理、实现客户价值、促进团队协作等方面的努力,能够提高产品的开发效率和质量,满足客户的需求,实现产品的商业价值。同时,随着科技的发展和市场环境的变化,敏捷产品管理也将不断发展和创新,为企业带来更多的机遇和挑战。
超级会员免费看
8

被折叠的 条评论
为什么被折叠?



