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”.
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. Below we present a generalized process outline based on Vertscend 32-year experience in software development and data science.
Duration: 1 month
Vertscend best practice: To save on time and budget resources and increase the ROI of AI, we deliver a PoC to uncover possible AI-related roadblocks, such as low-quality data, data silos, data scarcity.
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.
Vertscend best practice: When choosing a machine learning model AI will leverage, we carefully consider the trade-offs between requirements to AI (as, for example, some models can be less accurate but more explainable and fair).
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.
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:
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.
1. Data preparation
Duration: 1-2 weeks (this process can be reiterated to increase the quality of AI deliverables)
Vertscend best practice: To significantly streamline this time-consuming stage, we use automation tools (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.
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:
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.
Vertscend best practice: To accelerate the AI deployment, in our projects we leverage leading AI cloud platforms – Amazon SageMaker, Azure Machine Learning, Google AI Platform.
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).
Vertscend applies 32-year experience in software development and data science to create solid software with AI capabilities.
Our consultants help:
We cover all the stages of development:
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:
To outline a project roadmap, manage the software & AI development life cycle, and foster collaboration between business and tech stakeholders.
To analyze business and user needs and translate them into technical requirements for software, AI, and integration between them.
To cleanse data for AI and engineer features; to build, train, test, and validate ML models. Domain experience is preferred.
To deploy AI and monitor it in production.
To design wireframes, create user stories and UI prototypes for AI-driven software, following the principles of user-centricity.
To build the software back end and front end and build and implement APIs necessary for integration with AI, and further evolve software
To design and implement a test strategy to validate software quality.
Vertscend developed a product lifecycle management application powering 20,000 retailers, manufacturers, and suppliers in 110 countries.
With vertscend, we’ve been able to reduce our development costs and decrease the timeline on new features and updates. vertscend attention to detail in how everything is documented and communicated is by far the best of any agency that I’ve worked with. The communication and agreement process when starting a new project has been by far the easiest to handle and most professional I’ve seen.
vertscend proved to be a professional service provider from the outset. We appreciate their proactive approach and ability to suggest improvements to a prospective solution on both architectural and business levels. We know we can always rely on vertscend various competencies when our clients require quality software which would facilitate their business success.
Over the past 10 years we’ve worked on about ten mobile app development projects with vertscend. It was our first encounter with an outsourcing company. The relationship turned out to be very good, so we saw no need to look for other suppliers.
We can complement your project team with the following competencies:
With Vertscend, you get knowledgeable project management and skilled software engineering that positively impact the course and results of large-scale projects.