How to Build Software Powered By Artificial Intelligence
The Essence of Developing Software with AI Capabilities
Development of software with AI capabilities implies building new software or evolving existing software to output AI analytics results to users (e.g., demand prediction) and/or trigger specific actions based on them (e.g., blocking fraudulent transactions).
Supported by AI, an application can automate business processes, personalize service delivery and drive business-specific insights. According to Deloitte, 90% of seasoned AI adopters say that “AI is very or critically important to their business success today”.
Table of Contents
Cloud services for AI dev
Use Cases for Software with AI Capabilities
ROADMAP : DEVELOPING SOFTWARE WITH AI CAPABILITIES
DATAZO INFOTECH applies 1.5+ years of experience in software development and data science to develop software with artificial intelligence (AI) capabilities.
The duration and sequence of the development stages will depend on the scale and the specifics of both basic software functionality and artificial intelligence you want to enrich it with.
01. Feasibility study
Duration : 1 month
Outlining high-level software requirements (in case of new software).
Creating a proof of concept (PoC) for AI to check the technical and economic feasibility of enriching software with it, estimate the scope of work, timeline, budget, and risks.
Calculating ballpark ROI of AI implementation.
Note: ROI of AI can be influenced by AI-related roadblocks uncovered during PoC, such as low-quality data, data silos, data scarcity, which will require additional time and budget resources to handle.
02. Business analysis to elicit AI requirements
Duration : 1-6 weeks
Defining detailed functional and non-functional requirements to AI, such as the required level of AI accuracy (in some cases, the value can be driven already with 65-80% of accuracy), explainability, fairness, privacy, and the required response time.
Note: The trade-offs between requirements to AI influence the choice of a machine learning model AI will leverage (as, for example, some models can be less accurate but more explainable and fair).
03. Solution architecture design
Duration depends on the overall complexity of software functionality
Selecting integration patterns and procedures. Designing the architecture of the solution with integration points between its modules, including integration with an AI module.
04. Business processes preparation (in case of software development for internal use)
Duration : 1-3 months
Launching an initiative of integrating AI in business-critical software may require organizational changes to increase the chances for its successful implementation and adoption:
Shifts in data policies to break down data silos across the departments to enable easy access to data and avoid duplicated or contradicting data that decreases AI accuracy.
Determining a plan on adapting employees’ workflows to the use of updated (or new) software (e.g., user training and refreshed user guides and policies).
Promoting continuous collaboration between business and tech stakeholders.
05. Software development (non-AI part)
Duration : 3-36 months
Developing the front end and the back end of software (the server side and APIs, including necessary APIs for AI module integration). Running QA procedures throughout the development process to validate software quality.
06. AI module development
1. Data preparation
Duration : 1-2 weeks (this process can be reiterated to increase the quality of AI deliverables)
Consolidating data from relevant data sources (internal and external, which can be acquired via one-time purchase or a subscription).
Performing exploratory analysis on data to discover useful patterns in it, detect obvious errors, outliers, anomalies, etc.
Cleansing data: standardizing, replacing missing or deviating variables, removing duplicates, and anonymizing sensitive data.
The resulting data is split into training, validation and test sets.
Note: Automation tools can significantly facilitate this time-consuming stage (e.g., Trifacta, OpenRefine, DataMatch Enterprise, as well tools within leading AI cloud platforms – Amazon SageMaker, Azure Machine Learning, Google AI Platform).
2. ML model training
Duration : 1-4 weeks (depending on the model’s complexity)
Selecting fitting machine learning algorithms and building ML models. The models are trained with training data and tested against a validation dataset, then their performance is increased by fine-tuning hyperparameters. The most high-performing models can be combined into a single model to decrease the error rate of separate models. The final ML model is validated against a test dataset in the pre-production environment.
07. AI deployment
Duration : 2-4 weeks
The configuration of the AI deployment infrastructure and approach to integrating AI into software depends on how AI should output results:
In batches : AI outputs are cached according to pre-scheduled time intervals. Targeted software retrieves AI outputs from the data storage it is connected with. Higher latency is acceptable.
As a web service : near-real-time outputs triggered by a user or a system request via API. Low latency is required.
Pilot deployment to a limited number of software users is recommended to verify the smoothness of AI integration with target software and compatibility with the infrastructure (latency, CPU and RAM usage) and run user acceptance tests to handle possible issues before a full-scale rollout.
Note: AI deployment can be facilitated by leveraging leading AI cloud platforms – Amazon SageMaker, Azure Machine Learning, Google AI Platform.
08. Maintenance and evolution of AI-powered software
Tracking and fixing software bugs and issues of integration with AI, optimizing software performance and enhancing UI based on user feedback, developing new features or extending AI-enabled functionality drawing on evolving business or user needs.
Maintenance of AI is a separately controlled process. It includes monitoring of ML model performance to detect a ‘drift’ (decreasing accuracy and increasing bias when the data that AI processes grows and starts deviating from the initial training data).
In case of the drift, models should be retrained with new hyperparameters or newly engineered features reflecting shifts in data patterns. They can also be replaced by challenger models with higher performance (identified during A/B testing).
TALENTS REQUIRED FOR DEVELOPING SOFTWARE WITH AI CAPABILITIES
The roles required in a software development project with an AI part vary according to the project’s goals and scope. The key roles include:
UX & UI DESIGNERS
SOURCING MODELS OF DEVELOPING SOFTWARE WITH AI CAPABILITIES
ALL RESOURCES ARE IN-HOUSE
ALL RESOURCES ARE IN-HOUSE, EXCEPT FOR DATA SCIENTISTS
NON-AI PART IS DEVELOPED IN-HOUSE, WHILE THE AI PART IS OUTSOURCED
PM & BA ARE IN-HOUSE, ALL TECHNICAL RESOURCES ARE EXTERNAL
CLOUD SERVICES TO SPEED UP DEVELOPMENT OF SOFTWARE WITH AI FEATURES
AI platforms help quickly set up, automate and manage each stage of the AI module development with pre-configured infrastructure and workflows. DATAZO INFOTECH recommends considering platforms by major cloud providers: Amazon, Microsoft, and Google. All of them are leaders in Gartner’s Magic Quadrant for Cloud AI Developer Services and offer integrated development environments (IDEs) with the following capabilities:
Custom modeling with R/Python and supported frameworks (TensorFlow, PyTorch, scikit-learn, and others).
AI workflow orchestration and management.
Bias detection, explainability features, etc.
Automated model tuning.
Model performance monitoring.
Autoscaling of compute resources.
Some of the platforms’ distinctive features are outlined below:
* Powerful, enterprise-ready infrastructure offered by AWS (e.g., Amazon EC2 and Amazon S3-based) to support AI-related projects.
* Pre-configured data labeling workflows, access to pre-screened vendors offering data labeling services.
* One-click data import, 300 pre-configured data transformations, data visualization capabilities.
* A unified repository to store, organize and reuse ML features.
* Marketplace with pre-built ML algorithms and models.
* Enterprise-scale AI integration initiatives
AZURE MACHINE LEARNING SERVICES
AZURE MACHINE LEARNING
* Drag-and-drop UI for low-code model development.
* Data labeling service to manage and monitor labeling projects and automate iterative tasks.
* Flexible deployment options offered by Azure, including the hybrid cloud.
* Cost management with workspace and resource level quota limits.
Flexible AI deployment (on-premises/hybrid cloud).
GOOGLE AI PLATFORM
GOOGLE AI PLATFORM
* Accelerated AI performance due to integrated proprietary Tensor Processing Unit (TPU).
* Advanced support of Kubernetes orchestration.
* Integration with BigQuery (Google’s hyperscale data warehouse) datasets.
* Data labeling service that connects companies with human labelers.
* Support of TensorFlow Enterprise.
* Pre-configured virtual machines and optimized containers for AI based on deep learning.
Integration of resource-intensive deep learning AI into software; startup-friendly.
COST FACTORS OF DEVELOPING SOFTWARE WITH AI CAPABILITIES
The cost of software powered by artificial intelligence can vary greatly :
* For example, an AI-powered solution that automatically extracts unstructured data from several sources, classifies it using an ML algorithm of modest complexity, and provides outputs in batches may cost $100,000-$200,000.
* A more complex AI-powered solution that processes data of various types and from a large number of sources with an advanced, expertise-demanding ML algorithm of high accuracy (as it’s critical to business processes) may cost $500,000-$650,000.
The estimates rely heavily on the specifics of AI module development :
* Data volume used for AI and the number of data sources to process.
* Data type (unstructured data is more expensive to work with than structured).
* Data origin (there may be a need to buy external data) and whether it needs labeling (tagging data samples with the desired output).
* Data quality (issues in data require more resources for cleansing).
* Required accuracy rate for AI (the higher it is, the more time-consuming and expertise-demanding ML model tuning will be).
* Complexity of ML algorithms.
* Deployment type (AI outputs are in batches or in near-real-time).
* AI maintenance costs (AI operating in a changeable data environment, e.g., feeding on dynamic user data, needs regular retraining).
* Infrastructure costs.
CONSIDER PROFESSIONAL SERVICES FOR DEVELOPMENT OF AI-POWERED SOFTWARE
Datazo Infotech applies 2-year experience in software development and data science to create solid software with AI capabilities.
Consulting: software development with AI capabilities
* Conduct a feasibility study on integrating AI into your software (potential benefits, risks, and costs).
* Outline a risk management strategy to mitigate AI-related risks.
* Outline a development, deployment and integration plan for building software with AI capabilities.
* Choose an optimal sourcing model.
* Select a fitting technology stack for software and its AI part prioritizing open-source frameworks to optimize development time and costs.
Outsourced development of software with AI capabilities
* Feasibility study (including PoC).
* Business analysis: eliciting requirements for software and AI.
* Software development: UX and design, front-end and back-end development, QA.
* AI development: data preparation, ML model building, training and tuning.
* AI integration with software, deployment (MVP and full-scale rollout) and testing.
* Software maintenance and evolution.
ABOUT DATAZO INFOTECH
Our Experienced Experts
Our interview process
The first step in our interview process is to give you a quick call to learn more about you, and make sure you check all the requisite boxes. Find a quiet, comfortable place, make sure your phone works, and grab a pen and paper to take notes or sketch out ideas during the call.
Calls typically last 30-45 minutes. We encourage interviewees to think out loud and ask plenty of questions. After we wrap the call, we try to get back to candidates as soon as possible. The wait time should be no more than 2-3 weeks.
One of the best ways to see someone’s skills is to see them in action. For most roles, we ask candidates to complete a short challenge that shows off their critical thinking skills and strategic thinking.
This helps us gauge their real world experience as well as see how they solve problems within the context of the role. If the challenge is successfully completed, it becomes a core component of the on-site interview.
After the phone screen and challenge phases, we invite candidates to come hang out at the office and meet the team that they’d be working with. This is the “formal interview”, if you’d like to call it that. During this time, we’ll review and talk through the completed challenge and dig into the candidate’s previous experience.
It’s likely that there will be a second onsite interview that’s less formal. This meeting will be about meeting other Sidebenchers and learning about the candidate’s culture fit.
Should you continue through the hiring process to the final round of interviews, you’ll meet with Mr. M. R. Tanvir H. (Our Managing Director & CEO) and another member of our leadership team you’d likely interact with regularly once you join. These conversations allow you to get to know our leadership and ask any outstanding questions that will help you make a well-informed decision. They also enable everyone (both candidates and Datazo Info-Tech) to validate alignment on mutual expectations.
If everyone thinks it’s a good fit, we’ll make you an offer to Join Our Global Team.