| 
 | 
	
    
 
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册  
 
x
 
为什么要提高研发效能,因为技术本身是为业务服务的,产品的价值体现在业务上,技术的所有价值最终都要通过业务结果来呈现,我们的根本目的是帮助业务成功,促进业务腾飞。 
1 l( t3 S. G7 u% T) q: d, E 
8 }/ e' N* E  C1 P$ F那技术就不重要了吗!重要,因为所有的业务价值最终都要通过软件服务来变现,两者相辅相成,互相促进。4 r( L+ e9 }1 b1 u- \% @ 
那如何提高研发效能? 
, a, y' C+ d, [# h/ }一个项目从立项到上线涉及到角色包含客户、运营、客服、产品、技术、测试。& X9 S# Z( l% C- v# M5 @ 
涉及到关键流程如下。 
% w& W# h1 A+ E# c$ D: ]' M* H" H6 M) b& l 
需求收集,运营/老板 -> 产品,关键产出:想法/idea/业务需求文档, K# b3 k  J) W( e: J 
 
, I( q( p; X$ ~' ?  o8 r8 t% V+ g; s需求评审,产品 -> 运营/老板/技术,关键产出:产品需求文档 
+ u$ W$ ~3 y# i8 D9 P$ L1 l1 j+ O" G9 L( d0 f$ U 
需求内部评审,产品 -> 运营/老板/技术/若干项目负责人,关键产出:产品需求文档 
; @6 [( x8 t$ ?; T3 n. W 
3 @! m+ @4 b: a0 D$ o  Z' B需求宣讲,产品 -> 研发/测试,关键产出:大家对于问题,目标,需求的理解达成一致: c. b# P$ M% B) a 
 
4 D7 x8 _+ V: |/ ^2 b' o9 U( T技术方案评审,研发 -> 产品/测试,关键产出:技术架构/代码 
7 L8 R+ B8 R$ ?& O; q" p( D( n% V" H$ K 
测试用例评审,测试 -> 研发/产品,关键产出:测试用例/需求逻辑测试case全覆盖 
/ _! `6 o' `" Z 
  s3 |( e3 F( g/ J( m2 ^系统上线,产品/研发/测试 -> 客户! Z) N+ `  h! A 
需求复盘,客户->运营/老板/产品/技术,关键产出:需求客户满意度 
2 \! l4 l4 }0 CDo things right还是Do right things?5 M: {+ g' z* ^! D0 p 
接下来主要从需求管理,研发,测试三个维度描述,如何Do right things。 
& G! ]& m" B8 z9 a% \0 ~1 Q+ o1.需求管理 
+ {* b9 ^2 [2 f3 N0 e" R5 V) ` 
团队什么时候对需求的理解最充分、最多?项目结束的时候!但项目中的绝大部分决策是什么时间做出的呢?项目开始的时候,这就导致了一个悖论,我们在最无知的时刻,做出了最重要而且是绝大部分决策,并把它作为随后执行的依据。 
3 l, X' y# k& v6 O! p 
- u; s' Y5 d$ p' V& m这个需求是运营提的,做!这个需求是老板提的,做! 
# Q% [9 J, ~1 D/ Z& B& | 
8 j5 A9 P# p# Y& Q3 {' y为什么要提这个需求,这个需求的目的是什么,有什么价值,凭什么这样做可以达到目标,哪些数据可以证明,上线后如何衡量此需求真实效果。 
% S: H; X, B3 f5 t) Q1 P6 H5 D8 M1 u; u, ` 
我们不是乙方外包公司,是和老板站在一条船上的人,有理由有义务搞清楚老板为什么要提这个需求,需求背景是什么,为了解决什么问题,达到什么既定目标,目标结果如何衡量,尝试下”5问法“。 
: G. |3 w& _( p: F3 t8 L, w需求是泥沙俱下,如果不能正确的分析需求,把握需求的本质,就会沉浸在永无止境的接收需求状态,机械的干活却没有结果。8 f/ R7 w& e5 b- p: S- p 
 
- [2 {5 b" s# \我们是有思想的手艺人,不是等待老板投食的宠物。; c% ^- G) [$ c9 S 
运营/老板讲解需求的时候,主要是和产品对接,研发、测试不知情不了解。这就会导致一定的信息误差,最后评审需求的时候,研发、测试是站在产品需求文档的角度考虑问题。如果这个文档自身就和业务的期望有差别呢?2 g% h. C( `; f) b: G" F 
 
" W, ~. w7 ^9 Q. @  _& s我们应该以终为始,聚焦目标,需求前置。在和运营/老板最终需求方案终版的过程中,就应该拉着技术进来,提前介入,预见未来。. U. G) U1 A+ g; m2 y9 R# q* I& b+ _6 g 
在很多人的思维里,认为需求评审就是把需求跟开发详细过一遍,就进入开发阶段。 
9 P' p, H5 Y6 K. h严格来讲,这会导致挺多问题,需求逻辑有缺陷,打回重做,浪费大家时间,经常如此造成大家对你个人能力的质疑。 
* p! q4 n$ j( X& x+ S3 b$ [所以内部评审是有必要也非常重要的一个环节,但是很多产品不重视这个环节,甚至还有很多产品经理并不知道有内部评审这个环节的存在。( z' D5 T* q8 T7 e" ? 
产品不需要为单次故障负责,但全年故障数量纳入kpi考核之中,只有屁股在一起,大家才能在一个战壕里更好的思考问题。) |+ B, L/ E! p* U1 S& _( a 
2.研发环节) l1 I9 F8 P7 ~/ o! t3 g% P5 a+ b 
 
+ C* Y! {# x' z3 y0 f& Y. F3 a( E根据二八定律,20%的需求决定了我们80%的业务价值,它决定了我们的成就,客户的直接反馈,市场竞争力。 
; n/ \" V5 X4 u/ \& w& H 
8 v: k) G* x. Y8 {5 [“持续快速交付价值的能力“,这个价值指的是需求的多寡吗?3 }; x, g; V* x6 ^! } 
 
& F' b9 m" O4 R# d" n" |: _! N" X我们应该聚焦于单位时间内创造价值的效率,这个价值指的是需求上线后对于用户的实际价值。用户价值的流动串起整个系统,促进整体优化的不二选择。为了提高价值的流动效率,组织就必须关注用户价值在系统中端到端的流动过程,改进整个系统,而不仅仅是局部环节。 
8 n9 a  J8 I# M4 J2 ~ 
9 \6 F& ~' {' S9 X" z8 u( \& e所以对于大需求,批量性的需求,最好打散拆开,以2-4周作为研发周期,快速迭代,不断打磨优化上线,给予业务以反馈。 
" ^/ i& C* i" l7 g) i" |2 |! G/ y# X7 k7 t 
不要给业务surprise,要让业务感知到价值在流动,需求在流动,就像巴普洛夫的狗一样,这群人靠谱,值得信任。 
$ V# O# i& m# g$ H6 e如何保障价值流动的过程质量呢,把交付质量内内建到开发过程中,而不是依赖最后环节的测试。' O. L& a' x; H8 A# k9 V 
首先要保证基本的单元测试,其覆盖率至少到50%,覆盖主流程,保证冒烟case是ok的。 
( c1 N1 ~: A. ~* C; g% d. J* V, j& t" D. {: C 
代码改动提交触发集成测试,编译是否出错,代码静态分析,单元测试覆盖率报告。 
# s; V0 K: @' a$ n- i7 `每月度工程质量梳理,代码缺陷,产品逻辑缺陷梳理,要让光照亮了问题所在,把问题暴露出来,暴露出来的问题,惦记在心里的问题,就不能在叫问题了,叫待优化需求。( Y; K* f6 ~( s* h9 S% i; i# ~: ^ 
研发对于需求要有一定的预见能力,做好适当的扩展。每半年各系统负责人串讲自己所负责系统设计架构,并提出系统最丑陋的三个地方,开发的时间久了,必然会有灰尘和垃圾,如果一个劲儿堆积需求,垃圾越级越厚,就会积重难返。打扫干净好接客。& g( g9 P+ S; q( n 
3.测试环节' B7 f2 m4 a, C$ r" k; V, n 
. N' P3 B  i% |/ N  l2 C$ D 
测试用例评审前置,研发、产品一起参与,把所有的case全部覆盖一遍,对于流程逻辑,直接现场解决,开发在过case的时候,也会不断考虑如何编写更健壮的代码,毕竟我们的目标是提高服务质量,全年无故障,而不是为了给测试冲业绩,比拼bug数量多少。 
& N% v0 f* [  O2 l" i  G0 [6 @7 D; k 
单元测试,集成测试,接口测试,开发环境,测试环境的搭建,上线前checklist检查点。  X4 y1 N7 \0 z  h! c' V( ` 
 
: P' [4 K% ^- Y7 Z! [! s测试用例的评审,沉淀,积累,不同测试等级下需覆盖功能范围和测试用例。 
8 E5 S( i/ ~0 U- p0 y0 P( }- }! M7 H1 z( W4 P- F 
综上! s1 Y! J( w8 t* q  Q5 C2 Y 
) n) }. f* d- h1 s4 j7 M0 E* O4 A 
横截面主要主要聚焦于角色内,产品:搞清楚问题所在,明确的,清晰的,无歧义的,达成一致的需求;研发:代码的健壮性、可维护性、可扩展性;( {% L4 a) i- `& ?. } 
 
* i' }- v; @& R6 }, k' o测试:多维度的测试用例,测试系统的方方面面。; q$ G7 i7 k6 l6 o9 } 
, ~2 d' h% w! ^$ S 
纵截面,共性就是组织与制度问题、能力问题、沟通问题、选用育留问题。9 {: n7 z! S' D! z1 r$ ^ 
 
, c6 T2 ?4 o1 @5 `" g" @专业培训不足是导致研发效率未达预期的远因之一,既然如此,我们就要在平时加强员工各方面的培训。  r3 U- `  O. Z" m7 r/ [$ F2 A 
 
3 L6 P. d/ R$ U# R6 g提升人员能力也是提升员工效率的一种方法,能够有效改善部门之间的沟通问题,减少矛盾。8 @/ W/ t& x! c# J0 z 
- H  e/ E3 L, V5 F8 P( R8 d# w" d  H 
  x' V5 d% y, s7 \- ^ 
 |   
 
 
 
 |