Understanding the success factors of artificial intelligence applications

Let's talk about what makes an AI application successful, and really, what makes any software application successful. There are two main factors that determine application success:

  • The first factor is whether the application is a solution that actually solves a particular problem.
  • The second factor is how well the application is implemented to deliver the solution to the problem.

Basically, we are talking about what to build and how to build it. Both of these factors are difficult to get right and for the majority of cases, both of them are required to make an application successful.

The fact is, deciding on precisely what to build is the more important factor of the two. If we get this factor wrong, we will have a flawed product that will not deliver a viable solution to the problem. It will not matter how elegant the architecture is or how clean the code base is—a flawed product will be unsuccessful. Deciding on precisely what to build is rarely a one-shot deal, though. It is a fallacy to believe that the perfect solution can be designed in advance. In many cases, your target customers don't even know what they want or need. Successful solutions require extensive iterations of product development, customer feedback, and a tremendous amount of effort to refine the product requirements.

This need to iterate and experiment with the solution makes how to build it an important factor for finding out what to build. It doesn't take a tremendous amount of skill to get an application to work. You can always get the first iteration, the first version, or the first pivot, to work with sheer determination and brute force. It might not be elegant, but the application works. However, when the first iteration is not the right solution to the problem, then a more elegant architecture and a cleaner code base will enable faster iterations and pivots, thus giving you more opportunities to figure out what to build.