如何发现问题
| 日期 | 修订内容 |
|---|---|
| 2026/01/20 | 初稿 |
如何发现问题的重要性远大于如何解决问题。根据以往的书籍和事实经验可总结一些方法论,利用和完善这些方法可以发现更多有价值的待解问题。
一、事物发展阶段
事物从无到有、从有到优是不同的阶段,不同的阶段有不同的问题发掘方式。事物起初阶段,框架和系统尚不完善,这个阶段可以通过用户痛点驱动,优先去完善缺失的点。随着事物逐渐发展完善,痛点逐渐消失,痛点驱动愈行愈坚。
用户进入舒适区,或是因为顿感、适应性强等原因,通过调研等方式很难发现有价值的待解问题。如果陷入路径依赖,始终坚持痛点驱动则进入死胡同。当事物发展到成熟期后,需要由痛点驱动变成爽点驱动。爽点有时只有你发掘出来,用户才后知后觉,正如地下室漏水,只有发现时才是问题。
爽点很少会被用户以问题的形式描述,需要自己体验、洞察、发掘。本文旨在解决此类问题,从一些已有的爽点事实中,沉淀归纳一些思考方法,结合水平思考法去发现同类的问题。这些方法可能不具备直觉上的完整和规则性,需要熟识熟记。
另外,康威定律告诉我们系统和服务最终会长成组织架构的样子。若组织横向隔离度太高,且无约束,则重复建设的overlap事项会很多,即通过扩大边界、重复造轮子、差异化解决问题来彰显问题价值。这类属于组织问题,不属于发现新的问题,不再本文考虑范围。
二、历史优化点归类
| 方法分类 | 优化点 | 说明 |
|---|---|---|
| 流水线/胶合层 | bits、devflow/bdp | 把研发开发过程的多个固定步骤做成流水线,标准化、串联研发动作,减少研发对多平台的交互成本,提升研发效率 |
| 框架类/脚手架代码自动生成 | GDP/BDF、Overpass、RAL类代码生成(Client和Model)、UT生成、MQ托管 | 通过自动生成框架类代码,减小研发的开发成本,另外也可实现代码标准化 |
| 多维度分析 | 重复/复杂函数治理、接口治理、链路深度治理、重复调用治理 | 函数维度、接口维度、服务维度、链路维度 |
| Top下钻分析 | Metric治理、序列化包治理、日志治理、实验治理 | 对cpu/mem/网络等的Top用量分析 |
| 废弃删除 | 静态/动态废弃代码删除、废弃实验删除、废弃接口删除、废弃服务删除 | 把无效的废弃的进行删除,可以减小系统复杂度和熵。 |
| 冗余删除 | 重复调用治理 | |
| 过微合并 | 过微服务合并(代码合并、合并编译、合并部署)、薄API+RPC合并 | 通过合并减少实体数量,降低理解、运维成本 |
| 参数治理 | 超时参数 | |
| 总分思路 | 实验治理(实验治理成本比例核算) | 成本治理时分析优化项的治理空间 |
| 全景图分析 | 实验治理庖丁项目(整理实验请求链路/消费链路,从中挖掘出优化点)、稳定性治理(梳理京东物流核心服务的全景链路) |