上个季度,你的团队增加了第50名员工。突然间,你定制的库存追踪器每天都在引发争吵。那个平稳运行了三年的系统现在开始卡顿、崩溃,让每个接触它的人都感到困惑。关于“系统宕机”的支持工单数量增加了两倍。你的运营经理半开玩笑(但又不是真的开玩笑)地问你是否考虑过重新使用电子表格。
你没有疯。有些事情确实变了。
但大多数人搞错了一点。问题不在于你构建了一个糟糕的工具。而是内部工具也有其生命周期。它们诞生是为了解决特定规模下的特定问题。当规模发生变化时,工具并不会自动调整。
好消息是?你不需要推倒重来。
内部工具为何会真正崩溃
人们很容易责怪最初的开发者。也许他们偷工减料了。也许他们不知道自己在做什么。也许整个系统从一开始就是靠胶带和祈祷维持的。
有时这是真的。但通常不是。
一个对十个用户运行良好的工具,在面对五十个用户时就会失败。不是因为有人把它建错了。而是因为当你扩大规模时,使用模式会发生变化。
想想一个简单的审批流程。当你只有十二名员工时,审批速度很快。一位经理审查所有内容。她了解背景。她点击批准。完成。
现在你有六十名员工。五位经理处理审批。他们需要更多关于每个请求的信息。他们需要相互协调。他们需要审计追踪。那个简单的两步工作流程已经变成了一个十二步的障碍赛。
工具没有变差。是你的流程变得更复杂了。
内部工具崩溃的三个地方
大多数内部工具都会遇到以下三个崩溃点之一。了解你面临的是哪一个,将彻底改变你修复它的方式。
第一个是数据量。 你的数据库增长了。以前2秒就能返回结果的查询现在需要45秒。工具感觉迟钝。人们抱怨。他们开始将数据导出到Excel,只是为了加快速度。工具没有坏,但它正在努力应对自己的成功。
第二个是工作流程复杂性。 最初简单的流程随着时间的推移变得更加复杂。新的合规要求。额外的审批步骤。需要特殊处理的边缘情况。工具试图做太多事情。它服务于五种不同用户类型,而这些用户有着完全不同的需求。培训新员工需要两周而不是两天。
第三个是集成债务。 工具最初是独立构建的。现在它需要与你的CRM、会计软件、仓库系统、运输平台进行通信。人们花费数小时将数据从一个系统复制到另一个系统。相同的信息存在于六个地方。没有人知道哪个版本是正确的。
大多数公司都陷入了这个陷阱。他们认为自己只有两个选择。要么忍受现状。要么花费六位数从头重建。
但还有一条中间道路。针对实际瓶颈的战略性修复。不是翻新。不是拆除。只是在正确的地方进行适当的修复。
你处于哪种故障模式?
在修复任何东西之前,你需要准确诊断。错误的修复会浪费金钱和时间。正确的修复效果好得几乎令人难以置信。
让我解释一下这三种情况。看看哪一种符合你的情况。
瓶颈工具
你的工具完成了它应该做的事情。逻辑是健全的。功能是正确的。但一切都慢得要命。
如果你发现加载时间逐月增加,你就处于这种状态。人们已经开始寻找绕过系统的方法。他们将数据导出到电子表格,做笔记,并在脑海中进行计算,而不是等待系统响应。
根本原因不是复杂性。而是性能。你的数据库需要优化。你的查询需要改进。你的架构需要一些有针对性的升级。
好消息是。如果你的功能中只有不到30%被大量使用,那么优化是有效的。你不需要一个新工具。你需要一个更快的工具。
弗兰肯斯坦工具
你的工具增加了额外的功能。每个部门都提出了不同的要求。现在它试图满足所有人的需求,但却力不从心。
如果你发现功能请求相互矛盾,你就处于这种状态。如果你有五种或更多用户类型,且他们的工作流程完全不同。如果设置菜单令人困惑,新员工觉得不知所措。
根本原因不是性能。而是范围。你的工具正在做三份工作。也许是五份。你的内部工具需要分解成更小的部分。
好消息!如果你能在工具中找到两到三个清晰的用户旅程,那么模块化将奏效。你不需要一个新工具。你需要三个共享一个通用后端的独立工具。
孤岛工具
你的工具本身运行良好,但它是孤立的。它不连接到你业务的其他部分,也无法查看你其他系统的信息。
如果你发现你的团队必须手动将相同的数据输入到不同的系统中,你可能会注意到这一点。如果你经常花费时间在工具之间导出和导入数据。如果有人问“单一事实来源在哪里?”而没有人能给出答案。
根本原因不是工具本身。而是缺乏连接。你需要集成,而不是替换。
好消息是。如果相同的数据存在于三个或更多地方,API集成可以解决80%的痛苦。你不需要重建。
花一分钟思考一下你的情况。哪一个最能描述你的情况?你可能会看到几个部分的影子,但通常有一个最突出。那就是你应该开始的地方。
如何修复真正损坏的地方
原则很简单。修复瓶颈。而不是整个系统。
大多数公司矫枉过正。他们看到问题就认为一切都烂透了。但很少是这样。通常,只有一个瓶颈,一个结构性问题,一个缺失的连接。修复那个特定的问题,整个系统就会重新开始工作。
以下是每种原型如何发挥作用。
如果你有一个瓶颈工具
从快速见效的方面开始。在第一或两周内,为你运行最多的三个查询建立索引。为任何一次加载超过一百个项目的屏幕添加分页。缓存不需要每秒刷新的结果。
这些改变听起来很小。但它们并非如此。我合作过的一家公司有一个报告屏幕需要四十五秒才能加载。我们为两个数据库列建立了索引。现在同一个屏幕在三秒内加载完成。底层代码根本没有改变。
从长远来看,进行全面的数据库优化审计。归档旧数据。保留十八个月的实时数据,其余移至冷存储。为繁重的报告设置后台处理,这样它们在运行时就不会冻结界面。
如果你有一个弗兰肯斯坦工具
从可见性开始。创建基于角色的视图,以便不同用户看到不同的仪表板。隐藏特定用户类型从不触及的功能。明确记录你的三个核心工作流程,以便每个人都了解该工具的实际用途。
这不需要新代码。它需要清晰度。有时工具本身并不太复杂。是用户界面太复杂了。
从长远来看,进行模块化。构建共享数据库的迷你工具。创建一个连接它们的简单中心。你不是在替换数据层。你是在替换用户界面。
如果你有一个孤岛工具
从最大的痛点开始。找出三个最繁琐的手动数据传输。人们在哪里花费最多时间在系统之间复制信息?使用Zapier或Make创建连接。设置每日任务以保持重要数据最新。
这些是临时修复。胶带。但好的胶带能为你争取时间。
从长远来看,构建一个适当的集成层:API、webhook、实时数据流。内部工具开始在没有人为干预的情况下相互通信。
大多数集成可以在两到三周内完成。而不是六个月。也不是一年。
投资回报率
假设你的八人团队每天花费三十分钟与一个令人沮丧的内部工具作斗争。这相当于每天浪费四小时。每周二十小时。每年超过一千小时。
根据你的平均成本计算。每年浪费的时间成本在4万到8万美元之间。更不用说沮丧、变通方法以及人们匆忙时发生的错误。
现在将其与修复实际瓶颈的成本进行比较。通常它只是一年浪费成本的一小部分。它在年底前就能收回成本。
何时才真正应该重建
如果我说每个工具都能修复,那是在撒谎。有些确实需要淘汰。
以下是危险信号。如果你看到三个或更多,我们谈论的就是重建,而不是修复。
过时的技术。 内部工具运行在一个多年未更新的框架上。安全补丁不存在。少数了解它的开发者正在退休或费用昂贵。
根本错误的数据模型。 你的业务形态发生了变化。你现在销售订阅,但工具是为一次性购买而构建的。你在多个国家运营,但工具假设所有人都使用美元。核心假设不再符合现实。
灾难性的技术债务。 每次更改都会破坏其他三件事。没有人愿意触碰内部工具,因为他们知道会出问题。修复副作用的时间比构建功能的时间更多。
知识流失。 最初的开发者离开了。文档不存在。你团队中目前没有人了解它是如何工作的,或者为什么做出某些决定。
一两个这样的问题?仍然可以修复。三个或更多?你需要进行不同的对话了。
与我这样的人合作会是怎样的体验
我将告诉你我是如何处理这些项目的。这样你就能知道一个好的流程是怎样的,无论你是与我合作还是与其他人合作。
第一阶段:诊断
这大约需要两周时间。我们找出痛苦的真正根源。
使用模式分析显示人们使用了哪些功能,哪些没有。性能分析显示哪些地方确实很慢,而不是看起来很慢。集成映射显示哪些系统需要连接。
最后,你会得到一个明确的建议。修复还是重建。如果修复,精确地说明首先要修复什么。
有些人免费提供这项服务。有些人收费。无论哪种方式,风险都足够低,你无需担心这个决定。
第二阶段:修复冲刺
这通常需要四到六周。我们首先解决头号瓶颈。我们每周部署改进。
我们衡量每一步的影响。加载时间。支持工单。用户抱怨。
我合作过的一家物流公司每周收到四十张关于其内部工具的支持工单,不堪重负。在修复了主要瓶颈后,工单数量降至三张。同样的内部工具。同样的团队。不同的体验。
第三阶段:持续维护
这是可选的。有些公司希望每季度进行检查、性能评估,并随着团队的增长进行调整。他们根据需要添加新工具。其他公司则更喜欢在关键修复后自行管理维护。两种方法都有效。
忽视这个问题的真正代价
你每月使用你的内部工具,都会降低生产力,并教会你的团队避开你的系统。你传递的信息是:“你的工具不好。”
你的运营经理的工作变得更加困难,变通方法也变得更加复杂。你的公司本可以如何运作与实际如何运作之间的差距越来越大。
这就是复合成本。对事情无法变得更好的缓慢接受。
它们可以。
大多数内部工具问题都可以在几周内修复。而不是几个季度。也不是几年。而且修复成本通常不到完整重建的20%。
你的工具并没有坏到无法修复。它只是遇到了它未被设计来处理的限制。这些限制是可知的、可修复的,而且并不像你想象的那么大。
不确定你的内部工具是需要修复还是更换?我提供30分钟的免费审计电话。我们将一起审视你当前的设置,我将给你一个诚实的建议。预订一个适合你的时间。