快速交付 敏捷开发的特点_京东产品经理谈敏捷:如何推动团队持续敏捷转型...

推行传统团队进行持续敏捷转型,需要天时、地利、人和。因为业务发展需要,我们新增加了B仓的业务模式,在针对相关业务设计产品时,不论从业务发展还是从产品规划角度,短期的确定性和长期的不确定性与敏捷的特性不谋而合。

为了能够让产品快速落地试错,我首先与研发团队的leader进行了沟通,让人欣喜若狂的是,他是一个敏捷推崇者,并且已经具有多年实践的经验。为了让敏捷在团队推行顺利,我建议整个研发团队能够固定人员,同时申请敏捷教练加入,期望先通过单个项目来推动团队持续的敏捷转型。

1ae1750b5d6abae611ecab395256694f.png
7FRESH资深产品经理 吕彦

破局第一步:转变产品设计思维方式

作为产品经理,在敏捷实践的过程中,最深刻的体验莫过于产品实现思路的转变。在转变的过程中我更深刻地感受到瀑布式思维对产品经理的“戕害”,长周期的开发封闭,要求产品必须站的高看的远,在一开始就必须把产品设计的大而全。文档变成了又臭又长的“裹脚布”:与其说文档是为了帮助测试研发详尽地了解需求,不如说是产品经理为自己后续一个多月内答疑准备的备忘录。瀑布式的设计思维同样也导致在交付研发后,大而全的模块无法持续、快速交付并且往往在最后交付的时刻出现各种各样的“惊喜”。

以往的工作经验告诉我,研发和测试更加需要先看到“锦绣河山”,再逐步去探寻一座座大山中的瑰宝。怎么能从大而全再聚焦当下,像树木生长出的年轮那般,一圈一圈,一个闭环一个闭环去设计自己的产品,是对产品的考验,是需要我们持续关注和改进的地方,也是推进敏捷和引导研发快速交付的制胜点。

为了快速让产品和业务方看到效果,产品经理比研发团队更需要敏捷的思想。成本中心针对新业务模式核心要实现的就是能够即时监控相关成本的发生,对成本进行提前预估,以及成本的预实对比等功能。在瀑布式管理产品时,我会按照从基础配置到最终展现的方式去规划优先级和顺序,按照这种方式预估工作量几乎得花去2个月的时间,我们的业务部门已经饱受摧残,如此之长的等待时间恐怕是早已心灰意冷不会再爱了。

而在通过敏捷去推动产品落地时,我对产品模块的拆分方式和优先级评估方式进行了改变。以终为始,将业务方关心的核心指标划分优先级,再来评估为了实现每一个指标的计算和展示,前置的产品模块需要实现哪些功能,最终以此确认每个迭代具体要交付的内容。这样能够让业务方按照重要程度逐步、尽可能快地看到心中所想,以解他们燃眉之急。

从设计到体验,在这一过程中我们引导业务方更加深入的参与到每个迭代中来,团队持续的向业务展示实现的功能,在迭代过程中也不断根据业务方反馈进行后续产品故事的规划,这种互动方式得到了业务方的认可,同时也有利于调动研发团队的主动性,持续增强团队信心,稳定团队的研发交付节奏。

破局第二步:理论结合实践高效故事拆分

在敏捷推行的过程中,我还体会到了别样的拆分敏捷用户故事(user story)的方式:故事并不是产品经理(Product owner)一步拆好的。敏捷教练为了让大家对故事都有更深的理解,PO只需要拆到比较大的故事模块(EPIC故事),模块下具体的用户故事是由研发来完成的。团队通过用户故事地图的方式,将需求拆分并梳理清楚后,PO排列优先级并进行版本划分,然后研发再集体估算用户故事的工作量,并在此基础上划分出整体的迭代计划。这种做法起先引起了我的困惑,从前的理论到实践都告诉我,PO全权负责故事的拆分,且只需要评估当前迭代可以完成的故事内容,当我带着困惑再去仔细琢磨敏捷的理论知识时却惊奇地发现王新老师的引导做法完全满足了故事拆分DEEP的原则。这个方法不仅体现了敏捷的特点,还增加了创新性的内容,更容易落地:从产品演进过程来看,产品和需求依然是滚动式的从模糊到清晰的过程;团队按照敏捷持续交付的方式开发,与产品演进过程相匹配。从与业务方沟通角度来看,通过团队开发能力来预估未来需要实现的所有故事所需要的周期,可以为业务方提供项目大致完成的时间点以及产品演进的大致规划;从研发角度,团队通过故事拆分,全局观较强, 能更深理解用户故事,对技术架构和产品脉络有更全面的了解,可以有效避免团队在后续迭代计划拆分任务时陷入瀑布式的思维方式。考虑敏捷的特点,前期的产品规划是适度和高效的,这种迭代计划会前进行的产品规划会有很重要的意义。

破局第三步:深入计划誓与团队肩并肩

在sprint计划会中,再一次体现出产品经理深度参与的重要性以及开计划会的必要性。在第一轮迭代计划会前,我们已经进行过三次需求讨论和一次用户故事地图拆分会(前期产品规划会),PBL中的需求也更为清晰。敏捷教练王新老师也觉得,迭代计划会议应该会很顺利,如果实在太忙, 在研发讨论如何技术实现的环节,产品可以提前离场。但是之前的经验告诉我,还是坚持到底为妙。果然,每拆一个任务,都会发现大家对产品故事细节理解存在不一致。对产品来说,即使之前觉得特别合理的功能点,放到当下再去思考,都未必值得去实现;对研发团队来说,之前大家对将一个任务拆分到4~8小时这种细粒度多少有些抵触,但在此时才发现很多细节其实或是被忽略了,或是团队对同一个任务理解不一致,或是上下任务关联有漏掉考虑的地方。至此,大家才理解了细粒度拆分的必要性。而研发同学对每个故事用心的思考,对拆分任务合理性的评估,都大大降低了产品经理日常被叫去答疑的概率,研发团队开发的过程也顺畅了很多。大家都充分利用了sprint plan的时间把风险和问题提前暴露并解决了。第一个迭代我们按时完成了本轮迭代所有的用户故事。

在后续的迭代中,虽然我们仍然有问题暴露,但是通过敏捷的方式,交付的需求能够得到迅速的验证和反馈,我们有机会及时进行任务调整、故事更新,最终保证了整个产品的成功。

写在最后的感慨

这个竞争异常残酷的世界,谁快谁就能活,谁能低成本试错,谁就有机会,如果我们能够做到一天一集成,一天一发布,我们前进的步伐肯定也会发生质的飞跃。我非常赞同目前敏捷逐步推行的方式,不对理论生搬硬套:故事拆分的改变、项目推行和敏捷的结合、大众熟知的“人天评估”替代“点数评估”,引导团队尽可能早的交付业务最关心的内容。

正是在敏捷教练王新老师的引导下,整个团队都在努力思考如何才能尽可能早的让业务方体验产品。在每一个迭代结束后,通过敏捷回顾,不断让团队主动意识到敏捷对工作效率的提升。

任何事情都不是一蹴而就的。我想,我们的团队还需要不断磨合,不断调整自己的工作方式。在后面的产品故事设计和产品需求交付时,作为产品经理的我一定会坚持深入到敏捷团队中,摒弃伤透研发心的“死生不复相见”模式,开启“朝思暮想”模式,让产品在敏捷中不断强大,更高效地服务于业务。

敏捷教练结束语:“这个产品之所以能获得成功, 产品经理起到了至关重要的作用。产品经理理解持续、快速交付的重要意义,因此持续交付的源动力来自价值流的上游,通过产品经理的牵引力带动团队持续交付的节奏。”

(来源:京东零售技术 产品经理吕彦)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ava实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),可运行高分资源 Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现
C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。下面详细介绍C语言的基本概念和语法。 1. 变量和数据类型 在C语言中,变量用于存储数据,数据类型用于定义变量的类型和范围。C语言支持多种数据类型,包括基本数据类型(如int、float、char等)和复合数据类型(如结构体、联合等)。 2. 运算符 C语言中常用的运算符包括算术运算符(如+、、、/等)、关系运算符(如==、!=、、=、<、<=等)、逻辑运算符(如&&、||、!等)。此外,还有位运算符(如&、|、^等)和指针运算符(如、等)。 3. 控制结构 C语言中常用的控制结构包括if语句、循环语句(如for、while等)和switch语句。通过这些控制结构,可以实现程序的分支、循环和多路选择等功能。 4. 函数 函数是C语言中用于封装代码的单元,可以实现代码的复用和模块化。C语言中定义函数使用关键字“void”或返回值类型(如int、float等),并通过“{”和“}”括起来的代码块来实现函数的功能。 5. 指针 指针是C语言中用于存储变量地址的变量。通过指针,可以实现对内存的间接访问和修改。C语言中定义指针使用星号()符号,指向数组、字符串和结构体等数据结构时,还需要注意数组名和字符串常量的特殊性质。 6. 数组和字符串 数组是C语言中用于存储同类型数据的结构,可以通过索引访问和修改数组中的元素。字符串是C语言中用于存储文本数据的特殊类型,通常以字符串常量的形式出现,用双引号("...")括起来,末尾自动添加'\0'字符。 7. 结构体和联合 结构体和联合是C语言中用于存储不同类型数据的复合数据类型。结构体由多个成员组成,每个成员可以是不同的数据类型;联合由多个变量组成,它们共用同一块内存空间。通过结构体和联合,可以实现数据的封装和抽象。 8. 文件操作 C语言中通过文件操作函数(如fopen、fclose、fread、fwrite等)实现对文件的读写操作。文件操作函数通常返回文件指针,用于表示打开的文件。通过文件指针,可以进行文件的定位、读写等操作。 总之,C语言是一种功能强大、灵活高效的编程语言,广泛应用于各种领域。掌握C语言的基本语法和数据结构,可以为编程学习和实践打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值