黄东旭: 关于基础软件产品价值的思考

好久没写东西了, 正好趁着春节的节后综合症发作写写文章热身一下 , 记得前几年偶尔会写一些关于 TiDB 产品功能解读的文章 , TiDB 5.0 发了那么长时间了 , 也应该写一写了 。 我其实在多个场合里表达过我对于 5.0 的重视 , 这个版本可能是对于 TiDB 来说的 MySQL 5.x , 熟悉 MySQL 生态的朋友肯定知道我在说什么 , MySQL 5.x , 尤其是 5.5~5.7 这几个重要的版本基本上为 MySQL 的快速扩张奠定了坚实的基础 , 也培养了一大批 MySQL 的用户和人才 。 我认为 TiDB 5.x 尤其在 5.2 之后 , 也看到了进入快车道的趋势 , 开始展现出生态统治力 。 对我而言 , TiDB 是一个绝佳的样本 , 在此之前 , 中国本土很少有这样从零到一做出来的开源基础软件产品 , 多数工程师和产品经理都是这些软件的「使用者」 , 更多的是构建业务系统 , 而 TiDB 让我们第一次得以「设计者」的视角参与其中:每一个功能特性的设置背后的思考 , 对基础软件产品的价值呈现 , 体验还是很不一样的 , 借着这篇文章写点感受 , 另外的这个文章是春节前我在 PingCAP 内部给 Presales 和 PM 培训上的分享整理而成 , 不一定正确 , 仅供参考 。
我们做的事情 , 对于用户意味着什么?
要讲好基础软件的产品价值 , 首先要克服的第一个关卡:学会换位思考 。 其实 TiDB 每个版本都带着数十个的特性和修复 , 但是多数时候我们的 Release note 只是忠实的反映了「我们做了什么」:
黄东旭: 关于基础软件产品价值的思考
文章图片

TiDB 4.0 GA 的 Release Note 截图
各位这里请不要理解错我的意思 , 这种类型的记录是很有必要存在的 , 但是仅有这个是远远不够的 。 例如在 TiDB 5.0~5.5 的版本里面 , 我们引入了 n 多的新特性:聚簇索引 , 异步提交事务模型 , 优化了 SQL 优化器 , 支持了 CTE , 引入了锁视图和持续性能诊断工具 , 改进了热点调度器 , 降低了获取 TSO 的延迟 , 引入 Placement Rules SQL…这些名字在 TiDB 的开发者看来是没问题的 , 但是请注意 , 更重要的问题是:这些对于用户(客户)意味着什么?
要回答这个问题的思路有两种 , 我分别讲讲:
1. 通过一个假想的目标场景 , 然后通过产品去满足这个场景来展现价值 。
2. 解决现有的方案(包括自己的老版本)那些最恼人的问题来展现价值 。
【黄东旭: 关于基础软件产品价值的思考】对于第一种思路 , 通常适用于比较新的特性 , 尤其是一些过去从来没有的新鲜东西 。 用一个比较好理解的例子:假如大家都在开马车的时候 , 你发明了一个汽车 , 这时候如果你以汽车解决了马儿要吃草的问题作为价值点显然是比较荒谬的 , 更合理的是描绘高速通勤的场景带来的便利性作为卖点 。 这种思路有两个关键点:
1. 首先这个场景最初是产品经理假想的(当然肯定也会做过很多访谈和田野调查) , 所以如何确保这个场景是「高价值」且「具有普适性」的?对于一个成功的基础软件 , 这点尤其重要 , 通常在项目早期能抓到一个这样的点 , 就相当于成功了一半 , 当然这个对产品经理的要求是非常高的 , 通常需要有很强的 vision 和推动力 , 这就是为什么很多产品型公司的 CEO 都是早期的大号产品经理 , 因为在项目的早期 CEO 需要同时拥有这两样 。 当然更强的犹如乔布斯这种现实扭曲场 , 无中生有造出 iPod / iPhone 改变了整个世界 , 这是何等的魄力和远见(我相信 Jobs 在构思 iPhone 的时候应该能想象到今天的世界) 。 这个没啥办法 , 基本就是靠人 。

特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。