I don't think AI will make your processes go faster
I don’t think AI will make your processes go faster
我认为人工智能并不会让你的流程变快
I have the feeling that every organization out there is, at least partially, focusing on process optimization, something that often happens when the market is down. These days there is also the AI angle to the entire thing, and the unrealistic expectations that follow it. 我感觉现在的每个组织,至少在某种程度上,都在关注流程优化,这通常发生在市场低迷时期。如今,整个事情还多了一个人工智能(AI)的视角,以及随之而来的不切实际的期望。
To come fully prepared for this, I’ve decided to re-read two absolute classics in this space: The Toyota Way & The Goal. I’ve read both of these books in college, but re-reading them made me realize that a lot of these process optimization exercises are too simplistic in nature, and often misunderstand what to focus on. 为了做好充分准备,我决定重读该领域的两本经典著作:《丰田生产方式》(The Toyota Way) 和《目标》(The Goal)。我在大学时读过这两本书,但重读后我意识到,许多流程优化实践本质上过于简单化,且往往搞错了关注重点。
The visual bottleneck
可视化的瓶颈
Let me show what I mean. 让我来展示一下我的意思。
(Gantt Chart omitted for brevity) (此处省略甘特图)
This is a Gantt chart for demonstration purposes, normally you would look at BPMN. Showing a Gantt makes the point easier. If you take a look at this Gantt chart you will immediately see what takes the most amount of time: software development. If your task was to improve project throughput, that would be your first stop. And that would be correct. 这是一个用于演示的甘特图,通常你会使用 BPMN(业务流程建模标注)。展示甘特图能让观点更直观。如果你看这张甘特图,会立刻发现耗时最长的环节:软件开发。如果你的任务是提高项目吞吐量,那将是你的第一站。这确实没错。
The problem, however, is how I typically see people go about it: throw people at the problem or just assume AI is going to make it so much faster. What people typically don’t do is look at why this is taking so long, and even more importantly: long duration does not automatically mean the problem originates there. 然而,问题在于我通常看到人们处理它的方式:堆人手去解决问题,或者仅仅假设 AI 会让它快得多。人们通常不会做的是去探究为什么耗时这么长,更重要的是:耗时长并不自动意味着问题就出在那里。
Solving the issue upstream
解决上游问题
We are now talking about software development, but this is applicable to all processes that take longer than you would like. Every software developer knows that you can’t make projects go faster just by typing faster. If that were the case we would all be taking typing lessons. 我们现在讨论的是软件开发,但这适用于所有耗时超过你预期的流程。每个软件开发人员都知道,你不能仅仅通过打字更快来让项目进展更快。如果是那样的话,我们所有人都会去上打字课了。
Software development is about translating a problem into a solution that a computer can understand and automatically resolve. Preferably in a secure and scalable way. To do something like that, you need a full overview of the problem. Either in feature or scope documents (if you’re going more waterfall), or with constant iteration with the domain experts (more agile). 软件开发是将问题转化为计算机能够理解并自动解决的方案的过程。最好是以安全且可扩展的方式。要做到这一点,你需要对问题有全面的了解。无论是通过功能或范围文档(如果你采用瀑布式),还是通过与领域专家的持续迭代(更敏捷)。
This is often the part that slows down software development. Trying to figure out what a vague, title-only, feature request actually means. What does “send mail to user once sale is completed” mean? Ok, we can send a mail, but what should be in the mail? What if there was an issue in the sales process, do we still send an error mail? When is a sale completed? 这往往是拖慢软件开发的部分。试图弄清楚一个模糊的、仅有标题的功能请求到底意味着什么。比如“销售完成后向用户发送邮件”是什么意思?好的,我们可以发邮件,但邮件里应该写什么?如果销售过程中出现了问题,我们还要发送错误邮件吗?什么时候才算销售完成?
Just throw AI at it
仅仅把 AI 扔给它
An argument that I keep hearing about the automation of software development (AI generated code) is that you can just bypass the development part and the software developer becomes the project manager. AI discussions around software development actually illustrate this problem perfectly. 关于软件开发自动化(AI 生成代码),我一直听到的一种论点是,你可以直接绕过开发环节,让软件开发人员变成项目经理。围绕软件开发的 AI 讨论实际上完美地说明了这个问题。
(Gantt Charts omitted for brevity) (此处省略甘特图)
But that’s not how this works. Here we face the exact same upstream issue as before. Yes, AI can generate code quickly (whether that’s a good thing is open for debate), but that doesn’t mean it’s generating the correct code. 但事情并不是这样运作的。在这里,我们面临着和之前完全一样的上游问题。是的,AI 可以快速生成代码(这是否是件好事还有待商榷),但这并不意味着它生成的是正确的代码。
In comparisons between human vs AI development they always ignore the handholding that is needed for AI to do its thing. It looks a lot more like this: 在人类开发与 AI 开发的对比中,他们总是忽略了 AI 发挥作用所需的“手把手”指导。实际情况看起来更像是这样:
(Gantt Chart omitted for brevity) (此处省略甘特图)
Maybe this setup is faster compared to the old way of working. But I also think it’s an unfair comparison. Working like this requires a much deeper involvement of domain and product experts. This involvement would mean writing out every feature and bug fix down to the tiniest detail. 也许这种设置与旧的工作方式相比更快。但我认为这是一个不公平的比较。这样工作需要领域专家和产品专家更深入的参与。这种参与意味着要将每一个功能和错误修复写到最细微的细节。
This exact thing is what software developers have been begging for since the beginning of the profession: Receiving a detailed outline of the problem and what the end result should look like. If you were to give human developers the same amount of feature/scope documentation you would also see your productivity skyrocket. 这正是软件开发人员自该职业诞生以来一直渴望的事情:收到关于问题的详细大纲以及最终结果应该是什么样子的说明。如果你给人类开发人员提供同样详尽的功能/范围文档,你也会看到生产力飞速提升。
Actually speeding up processes
真正加速流程
If you want to speed up processes, you need to make sure that the people that need to do the work have all the means to actually do the work. This means that if your legal approval process is going slow, you take a look at what is needed to start a legal approval process. If they need to chase five different people for incomplete documents, you’re not going to speed up said process by adding more lawyers to the department. 如果你想加速流程,你需要确保需要完成工作的人拥有完成工作所需的一切手段。这意味着,如果你的法律审批流程进展缓慢,你应该看看启动法律审批流程需要什么。如果他们需要为了不完整的文件去追着五个人跑,那么仅仅在部门里增加更多的律师是无法加速该流程的。
One of the big lessons of The Goal is: ”bottlenecks should receive predictable, high-quality inputs”. I think that should be the first stop in process automation. 《目标》一书的重要教训之一是:“瓶颈处应接收可预测的高质量输入”。我认为这应该是流程自动化的第一站。