您的位置:首页 > 其它

我是如何将一个技术型产品搞砸的?

2019-05-10 20:32 232 查看

作者 | 大飞

责编 | 伍杏玲

本文经授权转载自大飞码字(ID:gh_ed72f875c81b)

做个一个技术型的产品,是很多技术人员梦寐以求的事情。

一个是可以满足自己技术的梦想。

一个是可以由技术人员来主导。

2017年初,我遇到了这样的一个机会,内部讨论想做一个数据分析类的产品,给到B端的开发者使用。虽然当时觉得市场不一定会很大,但还是很兴奋的,毕竟是一个地道的技术型产品。

产品的需求、规划、系统的设计、搭建、测试、上线,全部都是由技术人员主导的,产品经理在里面更多的是辅助的角色。

这个任务下来后,我们遇到的第一个问题是:不知道要做什么!

不知道这个产品具体是怎样的,用户会有什么样的需求,我们需要提供怎样的服务,系统应该要怎么来设计和搭建。

另外一方面,时间上有明确的规划,半年后一定要上线第一个版本。


深入理解需求


刚开始接到任务的时候,一脸懵逼,后面拉上决策这件事情的领导,负责的产品和几个核心的开发同事,就这个问题展开了讨论。

经过几次的讨论和对市场上现有数据分析类产品的拆解分析,最终明确了我们产品的具体需求。

简单描述如下:

产品层面提供多维度实时查询,转换漏斗,留存分析,路径分析等常用的数据模型;数据采集支持程序打点和配置打点(我们创新的一个能力)。

系统层面,为了满足实时的需求,在数据采集延时和数据查询延时上,都提出了明确的性能指标。

整体的需求目标确定下来后,接下来就是方案的设计和实施了,这个时候,时间已经过去了一个半月。


找有经验的同学喝咖啡


接下来,又遇到了系统设计的问题。数据系统我们虽然有耳闻,有了解,但团队内的同学都没有实际的经验。

首要的是系统的选型。这是特别关键的一环,如果错了,会影响产品的性能指标,可扩展性,甚至是产品的对外表现形态。

当时也是一脸蒙,一时间不知如何着手,没有更好的办法,只好先安排几个同学去看论文,查资料,但我知道这肯定不是最高效的办法。

后来想到了其他团队有做过类似的系统,当时的第一反应,是找几个比较熟悉的同学,去跟他们聊聊。

说干就干。

因为我在整个大团队的人缘还不错(嘻嘻,自夸下),所以很容易就约到了一个同学,请他去我们的咖啡厅,点了一杯喝的,就开始聊了起来。

第一次聊完后,脑海里有了较清晰的系统的结构和需要关注的点,以及他们踩过坑,后面又找了几个相关的同学了解了更多的细节。

跟几个相关的同学聊完后,心里已经比较有谱了,这个过程大概花了一周的时间。


研究资料,来回探讨


在明确了总体的方向后,就拉上团队同学开始分工了。

我们接下来的任务是:系统的选型,整体的架构设计,各个子系统的设计。

结合其他团队的经验和我们自身的分析,决定采用开源系统+自定制组件的方式进行。

接下来的事情有两个。

一个是确定整体的系统架构。

一个是确定每个部分的组成,子系统是采用开源还是自研,如果采用开源,应该选择那个系统更加合适。

这是一个来回探讨的过程。

我们分析对比了几个开源的系统,结合我们自己的需求目标,先看系统本身提供的特性是否满足需求目标,比如需要支持实时入库,需要支持实时查询,需要支持多维度的快速分析等。

中间过程也是比较曲折,大家在一些系统的选择上也产生过分歧。

我记得当时在核心模块的选型上,分成了两派。一派支持采用成熟稳定的方案;一派支持使用最新开源出来的系统。

一直争执不下,后来,我们觉得这样的争执,太浪费时间。

所以决定兵分两路,去分别认真细致的在网上搜集:系统支持的特性,前人踩过的坑,系统内部存储模型等。

一个个详细地列出来,经过大家逐一的对比分析后,最后决定采用成熟稳定的方案。

新开源出来的系统,虽然号称性能更好,但存在几个比较大的坑,而且在系统扩展性上做的不够好,而性能的问题可以通过堆机器的方式先解决,后面可以再做成本优化。

经过三个月的时间,我们完成了产品需求的细化,系统选型,系统概要设计和详细设计的事情,终于进入到了系统的实施阶段。


紧张的实施


由于剩下的时间也不多了,只有三个月。

这三个月除了要完成后台系统的搭建,还要配合客户端,产品,前端同学完成数据链路的构建,产品细节设计,数据可视化展示等工作,也是挺赶的。

这个过程中,遇到最棘手的问题,是跟客户端的版本。

我们内部客户端的发版是有固定时间排期的,每次需要合入的特性,都要提前报备,排期,要不只能等到下个或下下个版本了。

产品里面有一个特性是支持程序打点和配置文件打点,都是需要客户端支持的。

我记得当时没有留心这个问题,安排了一个同学跟客户端开发那边讨论,觉得方案没问题,就没理会了。

两周后去问,客户端同学说,因为这次需求排的太多,把我们的需求给安排到下个版本了,而下个版本要一个月之后。

当时就慌了,所剩时间本来就不多,而且客户端的功能,是整个数据链路的第一环,如果没有发布,后面所有的环节都只能测试,而无法在真实的环境走通。

一拖就又要拖一个月了,而项目所剩的时间已经只有两个月不到。

后来经过多方沟通,还上升到了更高一级,才给排进去了。

虽然后来被上级给批了一顿,不过总算排进去了。


煎熬的两个月


距离项目立项半年后,整体产品终于上线了。

一开始内部邀请了十几个种子用户来使用,他们提出了不少的改进建议,也有用户反馈这个东西挺好的,那时候,我们内心听了也挺开心。

中间我们进行过几次的迭代,fix 各种Bug, 增加新的特性,改进已有的交互,后台提升系统的性能等。

开发团队还自己做过客服,一个个的电话回访客户,了解了产品被谁使用,用在了什么地方,和其他的一些情况。

不过,产品最终没有取得预期的效果,没有持续下去。

失败的原因有来自于市场和产品本身,也有来自于团队。

市场和产品的原因,这个数据产品本身依赖于另外一个业务,当时那个业务没有如预期的做大起来,后面回过头来看,推出这个数据分析类的产品有点超前了。

团队的原因,原来支持我们做这个产品的老大走了,后面新来的老大对这块不太感兴趣,也不愿意投入更多的人力去做。

最终,这个项目也被晾了起来,目前已经交接给了其他的团队在维护。


结语


虽然从产品的角度,这个产品最终失败了,但从技术的角度,我们觉得还是做的不错的,在无经验,无外援的情况下,从0搭建起了整个数据系统,并且在延时,性能等指标上也达到了我们预期的目标。

团队成员也在这个过程中得到了很大的成长,特别是有两个新入职的新人,在这过程中表现的很好,得到了很大的锻炼,后面也成长为了团队的主力。

我自己也在这个过程中,经历了一个技术产品的完整流程。从想法提出,需求提取,产品设计到系统选型设计,项目实施到上线,再到后面跟进用户数据,跟进用户反馈,来迭代改进产品的整个过程,也是获益良多。

这是一个失败,却也让我们获益良多的一个技术型产品。

作者简介:大飞,十年互联网人,资深架构师,技术Leader。

5月25-27日,第一届CTA核心技术及应用峰会将围绕人工智能领域,邀请技术领航者,与开发者共同探讨机器学习和知识图谱的前沿研究及应用。

开发者双日预售票 7 折 699 元 

最后 1 天

扫描二维码立即购票

 热 文 推 荐 

☞ 华为员工年薪 200 万!真相让人心酸!

☞ 零基础转行去阿里做前端,创业当 CTO,他是如何做到的?

☞ 遭数百万开发者厌弃的 5 大编程语言!

☞调查 10,000 名学生开发者:65% 自学成才,学 6 门编程语言!

☞真正勇猛的程序员,敢于让鲁迅崩溃!

☞储备金被暗中挪用? USDT信任危机再爆发! 拿什么拯救你我的稳定币?

☞VMware vSphere 6.0 虚拟机运维常见问题排除

☞中国AI开发者真实现状:写代码这条路,会走多久?

☞补偿100万?Oracle裁900+程序员,新方案已出!

点击阅读原文,精彩继续。

你点的每个“在看”,我都认真当成了喜欢
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: