One of the truly fascinating things about the tech industry is that despite the industry’s obsession with innovation, you continually see the same pattern happening over and over again. I refer to this as “watching the movie.” It’s pretty common for someone to excitedly tell me about a brand new concept in the industry only for me to realize that I’ve seen this movie before. Sometimes, several times. I’ll even tell people, “hey, I’ve seen this movie before.” Because I’m an old guy, I am expected to say stuff like this. Recently, I’ve realized that I’ve seen the “AI changes everything” movie before. When I tell people this, they’re usually surprised or dismissive. However, if you pay attention, you’ll see that AI is falling into very familiar patterns just like other technologies that were supposed to “change everything” but didn’t.
For example, when cloud computing came out, it was explained as this amazing innovation that had never been done before. However, it’s basically just hosting with a better UI. We’ve had centralized Hardware-as-a-Service (HaaS) since the mainframe and time-share days. So, not really new, just a new way to do the same thing.
Today, we have people saying that AI will replace all your engineers—that you should allow AI to take over software development for you. This should sound familiar. We used to call this “outsourcing.”
The original premise of outsourcing was that you would take functions from your org that were low-value things and ship them off to a low-wage country. The idea was to lower your labor costs by taking work that didn’t provide strategic value and sending it offshore. What actually happened is that companies wound up building entire subsidiaries in places like India. As a result, wages rose in India and now offshoring to India isn’t as attractive as it used to be. Now that we’ve been doing outsourcing for quite a while, we know what the issues are:
Communication. It’s really hard to ensure that all the teams involved are talking efficiently and that context is shared clearly between teams.
Quality. Is the outsourced team doing good work? Who is evaluating the quality of that work?
Context. Is the outsourced team doing the right thing? How do you adjust their work over time?
Common advice about outsourcing goes something like this:
These points are amazingly similar to what I would tell you about using AI to build your software. In the end, moving work outside of your core group is always difficult and needs to be managed. For AI, specifically:
Know what to give to AI. AI is really good at some things like summarization but terrible at things like creative problem solving. Pick AI tasks appropriately.
Context is king. When you use AI to do work for you, it’s important to have detailed context written down. Requirements, standards, and preferences matter for AI.
Try smaller tasks. It’s about iteration. Small teams, small projects and iteration are the key to success.
Pull the AI into your existing collaboration environment. Similar to a junior employee, you want AI to be engaged with your team. This means that you still need things like Slack, Jira and GitHub. Integrate your AI solution into your existing toolchain.
Coach the AI system to drive results. While a one-shot prompt makes a good demo, in almost all cases, you will have to sit down and critique the AI’s work and provide feedback. It’s extremely unlikely that the AI will get it right the first or even second time.
While I don’t believe that AI is up to the task of creating your application from scratch, it does provide an amazing productivity boost to your team. For this reason, it’s important that you manage AI just like any other outsourced function or team member. This ensures that you are getting the best out of AI just like you want to get the best out of any team member.
So, yes. AI is amazing and new. However, it is also falling into familiar patterns. As you watch this movie unfold, think about other similar movies you’ve seen and watch these patterns repeat.
No comments:
Post a Comment