TA的每日心情 | 开心 2019-11-21 15:51 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
学会了需求管理,紧接着就是要把需求合理、有节奏的进行落地。怎么做呢?平时听说过最多的研发生产方式可能有:瀑布流、Scrum敏捷开发等等。
! X, W, z7 c: w$ N) o9 `9 I + P# K3 u4 j+ q
结合实际生产中的客观因素,我用过最有效的版本管理方法叫做[公车版本计划],何为?
7 M. i. F' L. c
, ]- x1 z' a: S5 Y d1. 公车版本是什么% B3 y# Z- e, c: k7 [
# f1 K. s0 T7 @' i4 X" Y8 Z! \- V4 E
第一次接触到【公车版本】这个概念是在阿里巴巴,当时看到有点懵,不是很理解这个庞大的组织是如何用这种方式指导研发生产的。$ d9 Q; V6 L1 _0 B2 z
, r$ Z0 ^& a4 I
趁这个机会用一张生活中都碰得到的场景做个引入:* }1 [) Q, R" t* Y6 _) l
+ @$ a& H# z# W* A" | 9 w( N6 n) i; B+ x' G7 B: t
公车版本就好比日常生活里的公交站台以及站台上的一个个乘客。咱们做一个类比:运营部、销售渠道、市场部门、产品部门提过来的需求,就好比站台上一个个乘客。而研发中心的每个版本,就是搭载这些乘客前往终点的一班班公车。
+ I0 z' v$ Z$ C' O: C $ r* N* F. T: s- Q
试想一下:如果城市的公交车不按照规则随便乱发,乘客也不遵守规则随便插队,那整个交通会混乱成什么样子?
% z, s$ g6 ~- ^3 _, o 1 @& J2 h7 F4 `+ }: `
为了充分利用研发资源,保证输出效率,我们就需要做科学的项目管理和实施。有序的处理需求,才能保证整体的效率最大化。8 O4 F) t+ o. W2 A
% k, F Y# W9 ]
所以公车需要按照既定的规则发车:
+ f2 }& w4 |% M/ C P1 W( s+ R乘客会按照比如:军人优先、老人优先、妇女儿童优先的规则上车,这就像咱们需求的优先级设定;
" {- T# g! X' T9 k( @* z但是每班车的载客量是有限的,载客量就等同于我们每个版本所拥有的研发资源,一旦严重超载就会造成很大的风险,比如项目延期、项目质量下降等;
+ {5 T' J' m" |9 K) N所以:如果一班车已载满需求发出,那么只能等下一班车,所以我们才会有需求优先级的PK,我们必须要保证高优先级的需求先上车,先上线;6 W3 d. x0 z8 J' k8 N4 q+ ^
. `$ s0 @' m, q) B, e但是整体还是上面提到的那个原则:每班车的载客量是有限的,所以在一个版本中我们肯定要有取舍。0 T* G: }) E' L$ T. w/ l z
* B/ {3 q/ s( }1 X& t. L
* y( N m1 U& u. W: w& K2. 公车的发车节奏/ _( k2 Y& l/ |; I8 B
( l7 L$ \8 a5 q
这时候可能需求方会问:那你们产研能保证快节奏的发车吗?: P& C1 l G1 ~
答案:会。
, J+ ]) [& e% g ! m8 x. p# ]; a
下面我就给大家用图示意的方式给大家讲解研发中心的发车节奏是什么样的。, g" }. v! G8 U4 E8 A
* }5 W# {) x8 E% v6 J' x
9 [. D4 o5 Y& x2 ]
9 o: y, S. w1 Z& l+ W3 CV是Version(版本)的意思,每个版本由三种不同颜色的阶段组成:
9 D" ]! c' k0 k9 J ?绿色的代表产品和设计小伙伴画原型图,出设计稿;
' n- V" P) i) t蓝色的代表开发小伙伴去实现,也就是写代码;: N/ h; E3 `# S/ p: h
黄色的代表测试小伙伴去对代码质量进行测试,保证上线后不会出问题;
; g9 R3 H7 e/ n G / r$ X, D7 H5 E/ H3 L; w9 {
从上面这个图中,我们可以直观的看出来:V3.4版本刚刚开发完(蓝色部分),研发小伙伴已经投入到下一个版本V3.5版本的开发当中,只预留了1周时间修复上一个版本的Bug,其他都是一边开发V3.5的新功能,一边修V3.4的Bug。
6 N, ]. {( \1 i
) {' E2 m- X. [# X# Q- k为了保证能够最快速的响应市场,为一线提供充足的弹药,通过这样的版本迭代,研发中心版本与版本之间可以做到无缝衔接。
- Y9 B) X5 M% Z u* @
_5 D. b; X: B' w; I' _8 i. Q+ {( c0 d' \: i: a
3. 公车的效果* l* ~3 a" H6 f) O8 V7 y: F
& ^! c4 [: A% U( d5 v
可能会有少数小伙伴问:那公车版本效果好吗?
{0 ]1 u6 e7 J* u答案:好。8 s# C. A2 l) c/ V, v
( s+ i' _$ J7 x) U( j混乱的生产一定不如有序、快节奏的生产来的有效。几年前曾经历过某家公司在长达半年的时间,业务几近于0产出。后来深入做过复盘,究其原因,就是因为版本的节奏混乱,缺乏科学的管理。总结下大概都有哪些问题:/ r: Y- H, B+ y
排期也都排,但缺乏客观的评估依据,拍脑门居多;
+ n1 Y7 t2 d* s7 R5 b$ e优先级不明确,开发的时候这个也变得更高优、那个看起来也更高优;
$ o. S+ v! \7 R: V一个大项目看似也拆多个子项,实际基本是物理切割,子项目之间无关联承接;
~8 P1 \2 a1 b. W研发生产过程中,各种需求插入、需求难度预期过低导致工作量不可控、延期;( e4 V; D0 s9 P
+ Y2 t. ?% Y. ?7 `$ i- I/ B; [: `7 i
' C/ ?* \+ I! Q5 S年终总结复盘时的数据显示,启用公车版本管理项目后,线上问题的处理数量从先前的80个/半年,提升到310个/半年,在产品功能上更是实现快速推进,弥补了前面1-2年落下的大坑。% A3 y" P/ ^; q( f, b
9 O6 G5 a* @7 [! D& Z通过公车版本的推进和团队的磨合,我们每个版本可以搭载的需求量都在提升。
0 d4 L2 p. K1 N4 S- r
+ z/ e3 o6 `+ M( I6 ]
5 q* b* X, Q6 L; s H. @6 K1 Z8 N1 n: h4 Q
4. 每班公车的发车时间
3 K% M, @4 A2 p) o
' {! [, o+ G( d2 a7 X每个版本的发车时间相对都是固定的,通常会在confluence或者其他一些共享空间进行维护,和兄弟部门同步,当时我们基本保持1个月1班车的发车节奏。
' ]0 Y2 _; |6 a" w* \4 M后续每个版本做哪些需求/功能/问题处理,也都会提前邮件同步給兄弟部门,以便实时了解研发生产当前的状态和节奏。6 h1 B0 g# i0 K. C4 @$ T0 J0 H5 O( Z
0 V/ a9 U" r! q- [9 d3 w1 w7 p % }! a9 O4 r5 [* O
这时可能有小伙伴会问:那我有紧急需求处理怎么办?
" @# E y7 R& j# \0 `: {; r) j答:迫切解决问题的情绪可以理解。但是为了保障主线版本有序的推推进,也请大家都遵守交通规则。除非阻塞性问题或者大面积影响的问题,我们会安排研发小哥哥立即处理。其他常规优化需求,都会按照上述规则放到各个班车中去实现。
5 c1 U% \- R0 ]; f( h
/ J+ e0 R3 I* h# B- g& x8 r
/ U6 J9 z" A& y/ O. J
& `$ M7 \' T5 n0 ^可能每个需求方站在各自的立场,都会觉得自己提的需求更重要。但是大家必须要明白:每班车的载客量是有限的,我们必须站在业务整体的层面,优先去落地一些普适性、对于公司整体市场打法有明显收益的点。7 o- _8 D; b$ d2 P
: Y$ f- \, u% x- n
. `2 t" J! i. K7 ?3 N3 Z* m# G1 d每个业务都需要建立起一个有序、健康的发展节奏,4 f% {2 b. I a; d
同样的,研发生产也需要。3 i* @1 Z! r4 Q( j
$ W# I! |; ?# ?5 D& ~+ Y- w
. f5 }7 X# Z- w, g* o |
|