The specification is an extremely important artifact for starting any project.
The essence of this document is twofold. Firstly, it is a declaration of the seriousness of the intentions to implement the project.
Secondly, it is an initial set of objectives, requirements, and characteristics that the project and the resulting product should have.
The specifications for artificial intelligence projects and products have a lot in common with ordinary software. But they also have an important difference.
Which one? Do not worry. I’ll tell you everything!
AI vs ordinary software specification
Specifications for software products must contain a lot of different information. In fact, the specification is a complete list of the characteristics of a product from different points of view.
It contains information on the business value, objectives, and tasks that the software must manage.
Technical requirements, recommendations, and limitations are also placed here, not to mention all the information on use cases and users.
Well, I can cite dozens of things that should be part of a specification…
There are many similar things between ordinary software products and AI, but would like to draw your attention to the most important differences:
- Data is an essential part of AI projects, and you have to add some information about it in the specification.
- AI projects are very similar to scientific projects: they both are based on hypotheses.
The first peculiarity of AI specifications: Data
Ok, let’s start with data in AI specifications. Why is it important?
You know… data is the heart of AI projects.
They are definitely data-driven.
In general, AI systems are very sensitive to data variations. It means that even small changes in data can lead to confusing results.
Unfortunately, we still do not live in a fantastic movie-style future where AI can perform any operations with any data.
In our reality, everything should be strictly defined. The specification is the right place to do this.
Define the right data from the beginning!
For example, think about an AI system that makes a classification of paintings by art-style: Classicism, Pop-Art, Cubism, and so on.
If the system is trained on black-and-white images, it will probably not be able to work with colored images.
This issue needs just one line of code to be fixed.
But a lot of projects cannot be changed so simply.
They even cannot be stopped.
So, data is important.
More details on data in Specifications are available below.
What about the hypotheses?
In science, a hypothesis turns into theory when it has strong experimental evidence.
In this regard, scientific and artificial intelligence projects have a lot in common: both are based on hypotheses.
AI engineers play the role of scientists, who must prove the project hypothesis.
So, you should clearly understand that your project is hypothetical before the AI team will say otherwise.
For this reason, it is not necessary to include only one objective in the specification, but additional information that will help form hypotheses on how to achieve the objective of the project.
For ordinary software, goals are always (or almost always) achievable and straightforward.
No place for hypothetical stuff!
For example, online stores or chat apps are pretty common things and they can be obviously implemented.
But an AI app that recognizes and classifies artistic styles is not at all.
The AI specifications main features
I will use the project for the classification of the artistic styles of the paintings as an example. This will help to understand the ideas below.
The imaginary client of the project will be a large museum.
Like the Louvre in Paris.
I will list the main points that are directly relevant to AI projects and that should appear in your specification:
- Business goal
- Success criteria
- Project’s future
Let’s see them together in detail!
The most important thing in the specifications is the description of the project goal. A good description of the goal will help the team find the right ways to achieve it.
To immediately put the team on the right track, you can describe several hypotheses that you used to create your project idea.
If it’s difficult, don’t worry.
An experienced AI team can help you easily.
Remember: every idea and hypothesis can be confirmed or refuted.
This is normal for scientific projects.
But for business, it can be very confusing.
Stay calm if it happens to you.
Find new hypotheses and ask the team to test them (most likely they will find them on their own and ask you for permission to try).
Sometimes even the most unexpected things can work.
For example, Facebook was able to predict pandemic flu from the likes to cats pics!
The question that will help you
What commercial value will the project give me?
Example of a goal
To attract new categories of museum visitors, such as millennials who are used to seeing the world through the screen of a smartphone thanks to the smart interaction with art objects.
Example of hypothesis
Knowing only the visual image of the image, it is possible to determine its style.
For AI products, the platform they are launched on is extremely important.
This is because the AI and Machine Learning frameworks have technical limitations.
For some activities, the product mus