很早的时候公司里时就开始推行 MVP 思想,《精益创业》这本书也是各级员工的必读书目之一。但是没有明确的指引,最近工作沟通时,发现很大一部分人有一个误区,会把 MVP 和模块化拆分、分层设计混淆。
比如最近有团队设计一个服务,包含服务、Web API 和客户端 SDK,因为涉及一些专业的密码学运算,所以调用 Web API 需要很强的专业知识,需要封装成 SDK,否则很难使用。而团队的想法是先做“服务的 MVP”,只提供Web API,客户端自己想办法调用,做好这个之后再做客户端 SDK,把这称为是遵循 MVP 思想。
这完成是一个误解,MVP 字面的意思核心就是“可用”,不可用不叫 MVP,而可用的标准是“足够验证假设”。拿到这个例子来说,现在的做法是横切,这种横切或分层是模块化设计,而MVP应该竖切,就是本来要提供10个接口,先提供5个核心(但是完整),甚至更少,只要能完成完整任务,就有部分客户能用起来了,这才是MVP,然后再往外扩展。
一个好的实践或方法,看起来往往都很简单,但是要用好,特别是在一个组织里用好,却并不容易。每个人理解的角度不同,就会造成很多问题。
最坏的情况,还会成为不作为的“挡箭牌”,这是作为管理者尤其要小心的。
从组织的角度上,就要有一个明确的指引,然后在实践中不断复盘与迭代改进;从个人的角度上,就是不断实践,然后总结得失,再改进,再实践。