One of the most critical decisions technology and business leaders must make is which software solutions to build and which to buy. We shared some thoughts about this process in a previous post. However, with newer AI-based tools emerging, it’s an excellent time to review the cost drivers.
The Costs To Build Custom Software Continue to Fall
Due to modern tooling, cloud-based development, and open-source software, the cost of building and maintaining solutions has gone down. In addition, teams can share source code using tools such as GitHub, GitLab, and BitBucket. Not only do these platforms provide source code management, but they also provide a way to deploy your code automatically. Combine this with unit testing and pair/mob programming, and you can deploy quality software quickly and efficiently.
Suppose your organization is using the cloud and infrastructure as code. In that case, you can deploy your application code and your infrastructure in a consistent manner across your environments. Infrastructure changes are as easy as making code changes and deploying them. Your engineering team no longer needs to put in service requests to have infrastructure built; they can build it themselves. Furthermore, engineers can ensure that infrastructure is right-sized for the applications they are deploying and can scale up as needed.
The rise of open-source frameworks and libraries has taken the need to create much boilerplate code away from engineers. For example, Entity Framework and other object-relational mappers handle database connections and populating object models without writing low-level code. In addition, frameworks like Spring and different dependency injection frameworks make wiring beans and objects together easy and enhance the ability to test code.
AI-Based Tools Will Boost Engineer Productivity
New AI-based market entries will provide the next wave/boost in engineer productivity. For example, using a tool such as GitHub Copilot, an engineer can ask it to build the structure of an API by just placing comments in your code. In languages such as Python, engineers can use 40% of the code generated by Copilot. On average, teams that used Copilot had 27% of their codebase written by the tool.
There is so much buzz around ChatGPT and what it can do for developer productivity. Engineers can hand it a legacy code and ask ChatGPT to explain what the code does. Furthermore, engineers are using it as a replacement for tools like Stack Overflow to get code snippets to solve solutions. Participants in an open-source code challenge (www.adventofcode.com) noticed that folks were using ChatGPT to get answers to the problems.
Microsoft has announced that it is integrating ChatGPT into the future of Copilot. Engineers can ask it questions right in their development environment and get answers. It can also provide context on what was changed with each pull request, saving engineering time in filling out forms.
How AI-Tools Impact the Buy vs Build Software Decision
Are these AI-based solutions perfect…no? You still need engineers to provide business logic, test the code, and understand what the code is doing. Furthermore, security concerns exist around placing assets like source code in a tool on the internet. However, over the next few years, enterprise-ready tools that provide data protection, security, and auditing functionalities will emerge.
This next wave of AI-based engineering improvements will add another tool to the engineers’ playbook, making them much more effective, as open-source did in the past. Organizations should consider this effect when deciding what they should buy vs. what they should build. For example, if you are looking for a solution that is custom to your business and can adopt, the cost savings provided by AI-based tools push the scale clearly onto the build side of the decision.
This blog post was written by Lean TECHniques Professional Software Consultant and Cloud Engineering Lead, Josh Angolano. You can connect with Josh on LinkedIn here.