Artificial Intelligence (AI) has the potential to completely transform our society and businesses. Are you an entrepreneur planning to offer a cutting-edge product or a senior business leader in an enterprise? If you are, you are likely already weighing one or more AI use cases relevant to your industry.
Developing an AI solution requires thorough project planning, and budgeting is important here. You need to know how much does it cost to develop an AI solution for your company, and that‘s exactly what I explain here.
AI, its use cases, and its potential business value
A few basics first! AI is a game-changing technology with a long history of research and development with many peaks and troughs. It‘s a computing technology that makes computers “learn” from “experience”, which is derived from a massive amount of data.
This technology enables computers to adjust to new inputs and perform their desired tasks better with time. Read “Artificial intelligence (AI)” for more insights.
AI has use cases across several functions, e.g., marketing, retail sales, customer support, manufacturing, supply chain management, IT management, and cybersecurity management. Read more about these use cases in “Artificial intelligence use cases”.
With such a wide range of use cases, it‘s no surprise that AI has a rapidly growing market. ScoopJunction, a reputed provider of market analysis reports states in a report that the global AI market will grow from $19.631 billion in 2017 to $176.547 billion in 2024, accompanied by a CAGR of 36.86%.
However, this is only a part of the story! AI has use cases across several industry verticals, e.g., healthcare, pharma, insurance, automotive, financial services, transportation, logistics, media & entertainment, retail, oil & gas, etc.
PwC estimates that by 2030, AI will add a whopping $15.7 trillion of economic value globally, and it could boost the GDP of local economies by up to 26% by 2030! Read more about this estimate in “Sizing the prize | PwC‘s global artificial intelligence study: exploiting the AI revolution”.
How to estimate the cost of developing an AI solution
You can see how AI can serve your business, and let‘s now see how to estimate a software development project to create an AI solution. This involves the following steps:
Download Our Project Specification Template
1. Setting expectations from this estimation exercise
You would work out your exact business requirements for developing an AI solution, moreover, a part of the cost will be the development manpower cost. The business requirements will drive the consumption of resources like IT infrastructure.
This estimation exercise will provide you with a framework to build a cost estimate, subsequently, you need to input the variables like the number of features, labor rate, etc. The framework explained here doesn‘t arrive at an exact dollar figure since we don‘t know the number of features and labor rate at this point.
2. Understanding the estimation variables
Our estimation exercise will use the following estimation variables:
- Number of features: You will need to input;
- Manpower: The framework will help you to work out a range in person-months;
- Labor rate: You will need to input;
- IT infrastructure cost: The framework will show how to derive an estimate based on your consumption;
- Tools cost: The framework will explain how to derive an estimate based on your requirements;
- Administrative cost: You will need to input.
If you need help in deriving a budget-quality estimate from this framework after you have finalized your requirements, we at DevTeam.Space can help you with our robust data-driven processes.
3. Choosing an SDLC model
You are likely considering AI for a strategic transformation in your business. Such projects typically have a well-defined set of requirements, moreover, projects like these require thorough reviews after key milestones.
Waterfall SDLC model works well for such projects since it stresses on baselining the requirements as well as reviews after every phase. The phases are as follows:
- Requirements analysis;
Read more about the Waterfall SDLC model in “What is software development life cycle and what you plan for?”. This estimation exercise will cover post-deployment and warranty support sub-phases with the maintenance phase, and not the long-term ongoing maintenance.
4. Determining the AI capabilities you need
You need to identify the functional features of the proposed AI solution. Reviewing popular AI apps could help with this, therefore, I suggest you read “10 best AI apps of 2019”.
For the estimation purpose, you also need to determine the AI capabilities you need. I recommend that you plan to include the following broad AI capabilities:
- Machine Learning (ML), which could include deep learning, supervised learning, and unsupervised learning;
- Natural Language Processing (NLP), for answering questions, generating texts, etc.;
- Vision, e.g., image recognition;
- Speech, e.g., text-to-speech and speech-to-text.
Read more about these capabilities in “Artificial intelligence: definition, types, examples, technologies”.
5. Choose the right team composition
Your team for this project should have the following roles:
- A project manager (PM);
- An IT architect;
- Business analysts;
- UI designers;
- AI developers, covering capabilities like ML, NLP, vision, and speech;
- Web, Android, and iOS developers assuming you will offer the AI app on web and mobile;
- DevOps engineers.
If you are weighing between hiring freelancers vs a field expert development team, I recommend a field expert development team, given the project complexities. I have explained this decision-making process earlier in “Freelance app development team vs. field expert software development teams”.
6. Document the estimation assumptions
I make the following assumptions for the estimation exercise:
- You will use a Platform-as-a-Service (PaaS) platform for developing the web app.
- This project will utilize a Mobile-Backend-as-a-Service (MBaaS) platform for mobile app development.
- You will use application programming interfaces (APIs) to implement key AI capabilities.
- The team will use reputed tools and frameworks like IDEs and test automation frameworks during this project.
Using platforms and tools can expedite the project, and I have explained this earlier in “What is the best development approach to guarantee the success of your app?”.
7. Estimate the development manpower
I will now describe the manpower estimation by phases, and I will show the split of effort across roles. This estimation is as follows:
7a. Requirements phase
The estimate for this phase is 6-8 person-months, and the effort should be split across the roles in the following manner:
- PM: 25%;
- IT architect: 25%;
- Business analysts: 50%.
7b. Design phase
The design phase will require 24-30 person-months, and the role-wise effort distribution is as follows:
Read How We Helped a Marketing Company to Build a Back-Office Custom Ads Dashboard
- PM: 8%;
- IT architect: 8%;
- Business analysts: 8%;
- UI designers: 8%;
- AI developers: 36%;
- Web developers: 8%;
- Android developers: 8%;
- iOS developers: 8%;
- Testers: 8%;
- DevOps engineers: 8%.
7c. Development phase
The estimate for the development phase is 39-46 person-months, with the role-based effort distribution as the following:
- PM: 7%;
- IT architect: 7%;
- UI designers: 14%;
- AI developers: 30%;
- Web developers: 10%;
- Mobile developers: 18%;
- Testers: 7%;
- DevOps engineers: 7%.
7d. Testing phase
The testing phase requires 26-33 person-months, and the effort distribution across the roles is as follows:
- PM: 5%;
- IT architect: 5%;
- UI designers: 5%;
- AI developers: 15%;
- Web developers: 5%;
- Mobile developers: 10%;
- Testers: 50%;
- DevOps engineers: 5%.
7e. Deployment phase
This phase requires 2-3 person-months, and the following is the effort distribution across the roles:
- PM: 10%;
- IT architect: 10%;
- DevOps engineers: 80%.
7f. Post-deployment and warranty support phase
This phase requires 42 person-months, assuming a 3-months warranty period. The role-based effort distribution is as follows:
- PM: 7%;
- IT architect: 7%;
- UI designers: 7%;
- AI developers: 28%;
- Web developers: 7%;
- Mobile developers: 14%;
- Testers: 23%;
- DevOps engineers: 7%.
8. Estimate the PaaS platform cost
I recommend that you use AWS Elastic Beanstalk for developing and deploying the web app. Elastic Beanstalk is the PaaS offering from AWS, and this offers several benefits, e.g.:
- You don‘t need to manage cloud infrastructure since Elastic Beanstalk manages it.
- It also manages the operating system, middleware, and runtime environment, therefore, you can focus on development.
- Elastic Beanstalk makes it easy for you to use database resources, moreover, you can easily integrate 3rd party APIs.
- It‘s easy to use the AWS DevOps toolset, moreover, you can easily scale the web app using the autos-scaling solutions offered by AWS.
You can find the pricing plans for Elastic Beanstalk here, and your architect needs to arrive at a computing resource consumption profile for your app.
9. Estimate the MBaaS platform cost
AWS Amplify is the MBaaS platform offered by AWS, and I recommend that you use it for mobile app development. You get various advantages, e.g.:
- Amplify manages the cloud infrastructure, therefore, you don‘t need to build and manage the mobile backend.
- You can easily implement key mobile app features like user management, security, and push notifications when you use Amplify.
- Integrating 3rd party APIs is easy with Amplify, furthermore, you can easily scale the mobile app with it.
You can check out the AWS pricing plans here.
10. Estimate the cost for AI/ML APIs
You can expedite the project by using APIs for core AI and ML capabilities, and Google offers APIs for these. These APIs are as follows:
10a. Google‘s Vision AI
Google‘s Vision AI APIs can help you to incorporate AI vision capabilities e.g., image recognition. Your app can detect objects automatically with the help of this API, moreover, it can gain intelligence from the images.
10b. Google‘s Speech AI
Google offers text-to-speech APIs, and you can access it here. With this API, your app can convert text to human-like speech in over 100 voices, and the API covers over 20 languages.
The Google text-to-speech API documentation is here. For its pricing plan, you need to contact the Google Cloud sales team.
You can find Google‘s speech-to-text APIs here, and this API can recognize 120 languages. The API uses neural network models to convert audio to text. You can find the documentation for Google‘s speech-to-text API here, and you need to contact the Google Cloud sales team for the pricing information.
10c. Google Cloud ML Engine
Google offers a managed service for ML, and it‘s called the Google Cloud ML Engine. It‘s a part of Google‘s AI platform, and you can build ML projects using it.
It offers several features, e.g., distributed ML training of computers, portable models using the open-source TensorFlow SDK, etc. You can find its documentation on its webpage, and you need to contact the Google Cloud sales team to obtain the pricing information.
10d. Google Natural Language Processing (NLP) API
Google has an NLP API, and you can access it here. This API enables your app to analyze text, moreover, it offers the following capabilities:
- Sentiment analysis;
- Entity analysis;
- Entity sentiment analysis;
- Content classification;
- Syntax analysis.
It‘s a REST API, therefore, accessing it is easy. You can find its pricing guide here, however, you will need to contact the Google Cloud sales team to procure it. Your team can access its extensive documentation here.
11. Estimate the cost of other tools
While IDEs like Eclipse, IntelliJ IDEA, Android Studio, or Xcode have no additional cost, you might incur costs for other tools, e.g.:
- You need a test automation aid to test your web app against a wide range of browsers. It should also help you to test your mobile app against a large number of devices, and Experitest offers its Mobile Device & Browser Lab on the cloud for this. You can find the Experitest pricing plans here.
- A robust project management tool is important in this project, therefore, I recommend that you use Wrike. You can find its pricing plan here.
12. Estimate other costs
Planning to develop an AI solution for your company?
I have just demonstrated how you can estimate a project to develop an AI solution for your company, however, executing the project is a different ball-game. AI skills are niche, therefore, this will likely be a complex project.
You should consider engaging a reputed software development company for projects like this. Read our guide “How to find the best software development company?” to find such a development partner.
Download Our Project Specification Template
Latest posts by Aran Davies (see all)
- AI Solutions To Digital Identity - September 15, 2019
- 10 Great Tools For VR Development - September 14, 2019
- VR vs Augmented Reality: Which One Is Best For Your Business Idea? - September 10, 2019