The value of iteration
A rocket launch is a very complicated thing. The launch sequence has to be thought out precisely, with every action planned and executed carefully. Every contingency has to be accounted for, and anything that can’t be will block the launch or worse. In contrast, driving a car to the store is a fairly casual event - get in the car, look out the windows, and steer it to the store, reacting to small changes along the way.
Software started off with the rocket model, otherwise known as “waterfall”, because at the end of the process, there was, in fact, a “launch” where the software was printed to hard media. When the cloud arrived, this method was replaced with things like “agile”, “kan ban” and others, that take a fundamentally iterative approach to not just building software but to understanding user needs. Instead of intensive research, there is intensive iteration.
But the echoes of the old mode are still with us. Often, applications ask users to perform a task or enter data in a way that is very rigid, and linear. Even though the application is developed iteratively, there is little iteration in the interaction of the user and the code. Instead, programmers and product designers do their best to interpret all possible ways of interacting, and deal with them up front. Like a rocket launch.
Large language models that are now emerging might give us a chance to bring iteration back to software experiences. Think about working with a new person - you’d never just give them a complete set of instructions, once, and then never speak again. You’d give them an approximation, watch them perform some tasks, correct, and iterate. Over time, you’d build up trust together.
领英推荐
That sense of iteration, conversation, and trust is largely missing from applications that are built today. But it’s a much more natural way to not only build user experiences, but to build scale - instead of an application being one experience for millions of users, it should be come one different experience for each of them, fine tuned to their needs.
This is a huge mindset and tooling shift, and it won’t happen overnight. But just as the internet brought forward a huge shift in not only how software was developed, but what it even was capable of (there weren’t social networks, or ad networks, or ecommerce before computers were widely connected), the availability of LLMs and other ML techniques has the potential to shift how we think of human/computer interactions.
Spend some time watching your programs. Look for the ways in which they make you do work, because of this inflexibility, instead of working for you. Think about how you would explain your patterns to those programs, if you could. You’ll be surprised what you see, if you look.
I love building teams, developing careers, creating opportunities, and working together to solve really hard problems.
2 年"Think about working with a new person - you’d never just give them a complete set of instructions, once, and then never speak again." Great example.