When deciding on how to architect a new application, project managers and developer teams have long relied just on their own expertise or gut instinct to choose the right tools. There is a better, more analytical way to build software, according to Iba Masood, co-founder and CEO of Tara AI.
Tara AI uses machine learning algorithms based on data it continuously collects from multiple sources to help project teams decide what development tools and languages are best for a given effort, as well as which developer resources to use. The idea behind Tara AI isn't just an idea at this point either—it's a growing business. On July 2, Tara AI announced that it had raised $10 million in a Series A round of funding to help grow the business and the technology.
"Today, the focus is really on how can we generate recommendations that are valuable to the end customers," Masood told ITPro Today. "Even if we can just cut down project scoping time by 30 percent, that's pretty significant because you could be looking at months of time. In some cases, we've seen Tara AI help to reduce the product development life cycle by six months."
How Tara AI Started
Tara AI was originally founded as Gradberry, a startup that benefited from the support of Silicon Valley startup accelerator Y Combinator and a grant from MIT. The effort started out as a group of four people focused on gleaning data from open source code in GitHub, according to Masood. Their goal was to come up with a scoring system to identify the quality of a given developer and their code contributions. Gradberry named its original algorithm Tara.
As Masood and her colleagues dug into the data, they realized that there was more they could do than just build a developer score; it was also possible to learn what types of programming languages and frameworks were being used for different projects. Over the course of several years of active development, Tara AI was expanded to become a recommendation system able to suggest programming languages and frameworks based on what an organization is looking to build.
For example, she said if an organization is looking to build a specific type of iOS application for a mobile device, the artificial intelligence (AI) engine is able to suggest whether the developer should use the Swift or the Objective-C programming language.
How It Works
Initially, the recommendation engine was a basic algorithm, but over time it has become a sophisticated platform that pulls in diverse contextual data to help make a recommendation.
Tara AI doesn't just look at what languages other developer teams have used. Masood explained that Tara AI is now able to look at what internal development teams have done, in addition to data taken from public repositories such as GitHub. The additional data includes information on how successful a given project was, how long it took to complete the project, and what types of developers and programming skills were involved.
"What we're doing is making suggestions and recommendations, but the idea is to base them off of data and enable people to make data-driven decisions as they go through language and framework selection and scope out a project," Masood said.
While Tara AI was built originally with data from public open source code on GitHub, it has expanded to include non-public data as well, according to Masood. The system can now run on top of an organization's existing project planning and code management software platforms, such as Atlassian Jira or Microsoft Project. Tara AI will also look at text-based data from PDF files, for example, to analyze request for proposal (RFP) and project scoping documents, all to help provide specific insights that are customized to help an organization properly plan and scope a software development effort.
When Masood and her colleagues first started to build out Tara AI, they used existing machine learning frameworks, such as the open-source TensorFlow project, but didn't get the results that were needed. Over a period of three and a half years, she said her team built out its own machine learning system.
The key differentiator and power of the Tara AI model, according to Masood, is the system's project scoping capabilities.
"Every project scope that is generated is unique because you as a user can generate your own scope from the modules that are baked into the system," she said.
The level of specificity for project scoping can be very granular in terms of the code that is suggested. For example, Masood said for a given project, Tara AI may suggest using the Laravel PHP framework and within that framework recommend certain technical tasks.
"We're going as deep as even directing people to a specific directory within that framework and starting to provide direction on how to deploy a specific line of code," she said.
Project Scoping and Developer Resources
As part of project scoping, Tara AI doesn't just recommend the right language for a given project; it also suggests the right resources in terms of developers too.
"Scope encompasses everything, right? It includes language, framework, timeline, people that will be allocated to the project and whether it's going to be built internally or externally," Masood said.
The Tara AI system is not intended to be a recruiting system, and it doesn't replace an organization's human resources management (HRM) platform, she said, but it can help augment them by suggesting the required skills, and even the right people, for a given task.
"The goal is to ensure that we're consistently building up this robust system that's making recommendations that people find useful and that people can utilize on a day-to-day basis," Masood said. "What we're doing is we're sitting on top of the software and enabling product owners, product managers and developers to make better informed decisions."