一般而言,想要重新做一遍成熟产品的原因,都是识别到成熟产品里无法完美解决的问题,设计新的解决方案。这个思路没有问题,但是需要注意的点其实不少。
第一,问题无法完美解决,都是有一些无法解决的 hardline,死线导致的无法解决,还是当时的技术条件不足以解决,而现在的技术条件可以解决了,还是随着时代或业务的演化,问题域偏移,问题的内涵已经出现了变化?
- 如果是同一个品类的产品,要解决的问题域是一样的,答案域也几乎一样。所以重新做一遍,真的就是重新做了一遍。
- 临近问题域会随着业务发展互相靠拢,或者相关问题域会随着业务发展逐渐合并成大的问题域。导致最初的不同品类的产品,在演化的过程中出现“趋同效应”,导致最终形态极度接近。
第二,新的解法往往是对某一个问题的单点的改进,单处改进带来的变化可能在其他地方造成了功能退化,首尾难以兼顾。
第三,可行的情况下,建议采用 remix 的方式融合新旧方案。在需要改进的地方实现改进,在其他地方保持现状。我以前认为 remix 是缝合怪,有一点不屑。但是对于复杂的软件系统来说,这是合理的方式。
> 重混(英语:Remix),也叫再混音,是一种音乐技术,应用于歌曲的原来版本,经过重新混音,甚至重新编写歌词,而形成另一种版本。