iGBlog

iGuan7u

iOS 出身的小伙子,对 Objective-C、Swift、以及 Javascript 有浓厚的兴趣。热衷使用原生实现所有功能,厌恶一切的跨平台开发技术。喜欢分享工作过程中遇到的问题以及日常工作中遇到的新技术。希望这个博客能给你带来一点启发。

GET IN TOUCH

期待与你的联系。

谈谈敏捷开发

谈谈敏捷开发

好久没有更新一下博客,最近有在尝试新的领域,可是一直没能积累下什么重要的知识、或者形成了什么重要的知识体系,就没能写下什么有意义的记录。可是很偶然的机会看到一个视频,里面讲述的,乔布斯谈论关于【流程与人才】的理解,基本可以总结为:苹果没有像 IBM 一样衰落,很大一部分原因是苹果没有执行像 IBM 一样严格的流程管理,使得有能力、有才华的人才能够不受大公司中条条框框的约束,充分发挥自己优势,最终促使苹果一次又一次的震惊世界。

看到这个视频的时候,脑子中转过了好多好多的话语,没能按耐住自己的情绪,终究还是在 Twitter 中直接开喷。当然,喷的并不是乔布斯或者是他的言论,乔帮主在国内一波又一波媒体、开发者的吹捧下,早就已经走上了“冰封王座”。他的一生、创办苹果的风风雨雨,相信拜读过《乔布斯传》的人都能已经耳熟能详了,这里不再细说。总而言之,对于笔者自身,远远还达不到批判他的言辞的资格。

废话说了那么多,结果原来只是像表达自己的弱小

乔布斯确实过于优秀了,以至于越来越多的年轻人、创业者,都想要向他学习,见贤思齐焉。而学习最简单不过的方式,就是模仿。现在越来越容易听到那些晦涩难懂,可是由显得高端深奥的词汇。似乎在这种谈吐中更容易体现出自身对于产品思考的深入。

“把握用户体验”,“重新定义 XX”,甚至 “打破流程”。“ IBM 之所以没落,就是因为他大公司中繁重的流程,约束的条条框框。” 所以我们要注重人才的才华展示,淡化流程。乔布斯所表达的观点,我们全盘接受。

这样子的学习,简单至极。

流程不再重要了。—— 这就是为什么现在产品经理跟开发工程师之间存在如此对立的原因。

当然,其实乔布斯并非推动国内各大企业打破传统、废除流程的唯一功臣,另外一个更广为人知的,当然是数早已被广为人知的、被誉为中国第一产品经理的 —— 张小龙。如果你不知道这个人的话,你可以点击 (Ctrl+W) 组合键,快速查询这个人的相关信息。^_^ 得益于他的知名度以及微信的成功,“打破流程”、“简化流程”、“把握用户体验” 获得了一个更加接地气的名称 —— “小步快跑,敏捷开发”。

对比于传统应用开发方式,敏捷开发在当前互联网形式上确为更加合适,毫不夸张的说,如果目前的产品开发还按照从前的开发形式,普通创业公司绝大部分会在产品推出之前,就将所有的开发经费耗光。这个时候没有任何知名度、也没有成型的产品,根本无从谈起融资以及上市。

小步快跑、敏捷开发

仔细考虑,其实这种开发方式在起步阶段是比较合理的。一周一个小版本,一个月一个大版本,对每次开发的新功能做好足够的调研以及打点统计,能够在不进行市场调查的前提上获取用户对于功能的喜好程度,从而在后续的开发中对特定的功能进行资源的倾斜,更大程度上去取悦用户
不得不说,微信在初期发展中,摸索到了摇一摇以及朋友圈这两大功能,然后持续在上面增加功能,优化体验,让用户真正的粘附在了微信生态上,也算是对小步快跑、敏捷开发的很好体现。微信的成功,也让更多的公司相信这种开发模式的正确性。

我们来仔细捋一下这种开发模式的要点:

  1. 小版本周期短
  2. 小版本所携带新功能有针对性
  3. 开发过程中对新功能做好打点统计
  4. 产品上线后进行需求复盘,通过统计上报,得知用户对于新功能的喜好程度
  5. 对下一新版本的开发计划进行评估

其中,复盘步骤对于敏捷开发的模式尤为重要。并且不仅是产品经理,包括开发人员都需要参与到复盘的步骤中。对于一个开发人员,得知自己所开发功能受到用户的喜爱,自身对于下个版本的开发积极性也会有相应的提高。

真实的敏捷开发

可是,有多少公司又能很好地在版本迭代的过程中持续遵循上述的要点呢?不少的公司更多的只是喊着敏捷开发的口号,在更短的时间内,往产品中堆砌着更多的功能,从而导致开发人员在长时间内一直保持着难以接受的开发强度,最终导致人员的流失,项目的失败。

笔者从自身的工作环境中,感受到两点:

  • 老板过多地参与进项目开发的细节中
  • 复盘步骤的缺失,或者复盘步骤对于产品经理们的负反馈缺失

笔者对于第一点真是深有体会。其实老板们关注细节无可厚非,可是过多的参与到项目开发中,很容易导致到开发节奏混乱,无法保持小版本迭代的步骤中。因为版本开发迭代期间,并不会频繁地推送到老板处体验,只能在项目上线阶段提交给老板进行上线前的最后体验。正常情况下,老板应该对这个功能开发进行最后的确认,确认这个版本是否与开发初期所定下的发展方向一致,而不应该对细节进行过多的反馈,一来这个环节在开发过程中早就经过产品经理的把控;二来开发人员、乃至于产品经理,都很难对老板所提出的细节要求说不,容易导致项目进度一拖再拖。三来甚至会过度打击产品经理的积极性,最终导致产品经理不再创新,只会揣测老板的心思。

即便是成功至此的微信,笔者感觉它都已经不再是认真遵循着敏捷开发的模式了,大家可以从微信的招聘口号中可以感受一下:

做一个伟大的产品来取悦自己

后注

毕竟这片文章只是有感而发,想到哪写到哪,尚未经过深入思考。请读者们轻喷。