跳到主要内容

MVP

· 阅读需 3 分钟

今天面试来我们公司应聘的学生,聊到了 MVP 这个缩略词——不是那个 most valuable player,而是 minimum viable product(最简可行产品)。

我原以为这是他当场拍脑袋想出来的说法,原来真的是有维基百科词条的,含义也一目了然。它并不是像 prototype 那样只是展示一个概念,而真的是可以完成一个实实在在的任务,在此基础之上不作任何锦上添花。

MVP 的做法其实挺不符合我自己的一贯工程作风。我比较痴迷于搭建非常完善的底层组件,然后一层层往上构筑软件。我非常享受积木搭到最高层时的那种「呼风唤雨」的快感:

import i.have.built.everything as shuang

config = shuang.load_config()
task = shuang.create_task(config)
result = task.run()
window = shuang.visualize(result)
window.show()

不得不承认,AI 就像是个推土机。一个人最重要的是必须尽快直面现实,承认自己苦心堆起了几十年的思维和方法被 AI 彻底摧毁。比如这种自下而上的构造,在绝大多数的工程中已经被完全取代了。1与其花大量的精力构筑功能超多,架构繁杂的通用软件,不如一开始就以需求为驱动,有一个需求就让 AI 立刻做一个 MVP。前者看似更加可靠,不过一个代码库但凡让 AI 着手修改几次以后,人就没有兴趣再坚持什么 human-in-the-loop 了,它的归宿就是被 AI 彻底接管。既然要被接管,一个个 MVP 小程序的控制和维护,就比一个被无数上层依赖的庞大的库要好管的多。

我想不久的将来,人们需要什么应用软件,就应该不会再去买,而是自己根据需求造了。也许一些复杂的基本功能还是需要依赖外部的库,不过这类核心功能恰恰都是开源居多(ffmpeg、pandoc、openssl),正好可以自由地随用随取。这样做的好处就是不需要去学习软件的使用方法(像 Microsoft Excel 里大概有 80% 的功能我从来没用过),自己做的就不会包含自己不需要的功能,遇到了 bug 也可以自己修,美哉~

基于需求的开发

我把这种范式称为 Demand-Dependent Development,简称「DeDeDe2」或者「三弟」(这么无意义的屁话也要憋出一个酷炫缩略词)。今后要是出名了记得是本博客首创哦~

我相信今后的 AI 会有一百种方式来理解你的需求:一段提示词,一张手稿,甚至实时与 AI 交流修改方案等等。但是,AI 没有办法代替你来表达需求。

这几年的黑色星期五3,我都是百无聊赖地躺在沙发上刷着购物网站,却想不出来自己要买什么。这种人在 AI 时代就是妥妥的要被淘汰啦。

Footnotes

  1. 这只是我的暴论,信不信由你啦

  2. King DeDeDe 是星之卡比里的那个鸭嘴兽

  3. Black Friday,感恩节之后一天的周五,是美国约定俗成的年度购物狂欢节。