最近有不少创业的朋友,都和我讨论一个类似的问题:一样的程序员,一样的写代码,为什么我们的线上产品老是出问题啊?
这是个很大的话题,我们可能要分几篇来聊。最近几年我一直在带产品和技术团队。担任了几家公司的CTO,从团队搭建、产品设计到技术选型、再到规范管理都负责。对产品和技术的管理还算有经验。
我们就基于产品和技术上的问题,来和大家分享一下我的一些经验。我打算做一个系列的文章,一步步和大家聊清楚。
当然,本系列文章是写给中小型创业公司,或者转型互联网和IT化的传统企业的。至于互联网行业的从业者,或者大型互联网公司的产品和技术岗,就可以不用看了。因为我聊的是能帮助这些企业避开雷区的。至于亿级并发、Cloud Native、持续交付等,不在我们的讨论范围之内。
回到问题,为什么我们的线上产品,就容易出问题?
其实,这是个系统的规范问题。
强如美团,我也会在线上看到他们的一些问题,不同的是,美团有完善的处理机制。
这里面涉及到的东西实在太多。比如你公司的产品流程是否科学,比如程序员是不是有一些不好的小习惯,比如你的技术框架是否足够的松藕合,是否有足够的扩展性。
我们一个个来说。
先来聊聊我们常见的场景:
公司老板或者领导,把来自市场的需求(也经常只是老板自己的想法)告诉了产品经理,并且一定要告诉他:我们这个产品,一定可以改变世界。
产品经理出场了,为了改变世界他拼了,加班熬夜把改变世界的产品细化成了可以开发的功能模型,并加了上详尽的标注。
UI把产品模型做了美化,让改变世界的产品先有个好卖相。
程序员接到了足够详细的需求和漂亮的UI,动手把需求用代码写成了产品。
程序员开发完上线,产品经理和运营在上面做测试,测试后认为没问题了。
上线!
运营找来了用户,用户来使用了!
用户发现有很多问题,有些是流程不流畅,有些是功能用不了,还有些用户看到了来自宇宙深处的不明代码(Crash并显示了错误代码)。
然后付费的用户就来找麻烦了!产品和运营一头包,焦头烂额的一边处理用户的抱怨,一边看着脑门发亮的程序员满头大汗,两眼红血丝跟代码拼了!
这里我提一句,一定要善待这些付费用户,凡是愿意回来找你麻烦的,都是你的上帝,他们让你的产品有了进步的可能性。虽然他们来找麻烦只是因为他们付了费。免费用户这时候会直接放弃这个产品,而且从此再不碰。
还没来得及改变世界,就被用户放弃了。
我们本可以很轻松。
所以这里面到底缺的是什么?为什么他们公司的产品就问题那么少,是我们程序员水平不行吧!
如果你裁掉程序员,换新的程序员来。你会发现问题还是一样存在,你所得到的只是重新换人和重新熟悉产品的无用时间。
那么问题在那里呢?我们聊聊几个关键的环节。
-
测试了没有?结果是什么?
-
规范有没有,出问题怎么应对?
-
程序员不好的小习惯。
-
程序是不是足够松藕合。
-
伸缩性,要快速的那种。
-
产品的成熟周期。
-
技术的终极目标是什么?
1. 测试了没有?结果是什么?
大家可能觉得不可思议,但现实情况就是,很多企业经常忽略的一个环节就是:测试。
很多企业都没有测试人员。是的,不是一家两家,是很多这类型的企业里,都没有测试人员。
传统企业里,那怕是鞋厂,一批鞋出厂前,都有个叫质检的环节。如果不合格,不能出厂的。
现在到高科技行业了,质检就不需要啦?那当然要出问题啦!
有人说了,产品经理和运营在测啊!
首先,测试是个非常重要的环节,不仅要测,还要测的彻底。产品和运营有自己的事,不应该把精力放在测试上;
其次,测试是个专业的工种,是要专门学习的,包括黑盒测试、白盒测试、边界测试、自动化测试、压力测试等等等等。这个岗位叫测试工程师,大型IT和互联网公司都有专门的测试部门。这些技能是产品和运营不具备的;
所以清楚了,为啥产品和运营测试过的产品,上线后还一堆问题,因为他不够专业啊!
关于测试的流程和管理,又是一个话题,咱们后面慢慢说。
篇幅所限,先到这里,下篇继续聊。
如果文章对你有用,请关注我。如果要联系我,可以评论或者私信我。
网友评论