The Advantages and Disadvantages of Software Development Strategies
There are several advantages and disadvantages to custom software creation, but custom software itself is actually part of a larger context of software solutions companies can use to help improve business processes and promote efficient and accurate forecasting. All kinds of software solutions are out there and there are advantages and disadvantages to each development strategy.
This article will walk you through the advantages and disadvantages of:
- Commercial Off-The-Shelf Software.
- Internal Development Teams.
- Staffing Firms.
- Custom Software Companies.
Table 1. Worldwide IT Spending Forecast (Billions of U.S. Dollars)
Source: Gartner (October 2018)
It is no surprise that businesses are reliant on software, and this reliance on software will probably only increase as time goes on. According to a Gartner study from last year, for example, worldwide spending on IT services is going to reach just about $3.85 trillion in 2019, a 2.8% increase from last year. This reliance on software is here to stay, but not every type of software is going to be a solution to every problem. Another Gartner study found that some of the top-performing organizations are expecting to develop around 40% of their new solutions in-house. That shows both that these organizations are relying on their software to get work done, and that they are starting to discover that they need purpose-built software that fits their needs.
Of course, not every business is going to be able to develop their own software in-house using their own development team. Maybe your business is smaller, or maybe the resources aren’t there to hire a completely new team to get something done. Because of that, it’s helpful to know many of the advantages and disadvantages of the different ways to get new software for your business.
Advantages and Disadvantages of Commercial Off-The-Shelf Software
One of the more common strategies for getting new business software is to simply buy or use a commercial product like the Microsoft Office Suite or the G Suite from Google. Commercial off-the-shelf software, more commonly known as COTS, has the main advantage of a generally low initial cost. COTS software is a pre-existing system with a bundle of features that can address a range of common business problems. This kind of software is also easy to access and purchase. COTS software certainly has a place in any company’s IT toolbox: it offers a generalized solution that will be familiar to most users, and the initial cost of using that kind of software is low. Something like using Microsoft Excel or Google Sheets, for example, is going to give a company quite a lot of flexibility, plenty of features to use, and can save some time in training because of how ubiquitous these programs are.
Two of the strengths of COTS software are also two of its biggest drawbacks. The fact that it is a commercial product means that it is sold as-is. Making any changes is difficult and would be nearly impossible to do quickly. This can prevent companies from responding quickly to changes in market conditions, and, over time, even if a COTS software solution can be changed, the further it gets from the core product, the harder it will be to keep updated over the years. On top of that, many of the extra features that can come with COTS software will probably never be used in the process of helping solve an individual company’s problems. Again, this is because they are sold as a bundle of different features. They are made to be general solutions to problems, not specific ones.
To recap, COTS software keeps initial costs to a minimum, by offering pay-per-user billing, and will offer a bundle of different features some of which are needed and some of which aren’t. In the long run, COTS software can become more expensive than a custom software solution because the expense of operational costs is higher than with a bespoke system. Additionally, the extra features might be helpful, and they might not, depending on your company’s needs. This is not to say that COTS software has no place, but there are some drawbacks that are usually addressed by companies looking for custom software.
Custom Software Solutions
Often if a company has a very specific need that requires a software solution, custom software makes the most sense to fill that need. Where COTS software fills general business needs, custom software can provide a solution for problems that are far more specific. Even here, there are a few different strategies that companies can take in order to get custom software made for themselves.
Advantages and Disadvantages of Internal Development Teams
The first and easiest route is to rely on an internal development or IT team to make the software that’s needed. This strategy might be attractive to larger companies who already have a development team on staff, but a smaller company might be a little out of their depth here. Either way, this strategy has its advantages and disadvantages as well. The advantage to using an internal development team is obviously that they are already a part of the company. They are going to know what the business processes are, and they are going to be aware of the kinds of problems a company is trying to solve. A development team will probably be easier to access as well since they will be on-site and can keep everyone involved in the project up to date with how they are progressing. This strategy might be best for larger businesses who can support their own development team, but even then, the strategy has some disadvantages as well.
Mainly, using an internal development team can be costly in its own way. It can take a team away from projects they may have had going already, or it might divide their time and attention across multiple projects. Depending on the size of the internal team, this might not really be a problem, but if your company needs focused attention on a single problem, this can lead to some difficulties. Additionally, for companies that don’t have their own development teams, employing a new team of developers can be very expensive. At the time this piece was written, Glassdoor puts the average salary for an SQL developer at $98,313 a year. Costs like that make a whole team of developers rather hard to get for small to medium-sized companies and can make some people look into another strategy: staffing firms.
The Advantages and Disadvantages of Staffing Firms
On the surface, a staffing company sounds like it would be appealing. You can get a team of contract software developers either into your company or working remotely, and they might come at a bit of a smaller cost than hiring on a dedicated team of developers. One additional major advantage is that hiring contractors means that you only need to have them on board for as long as the project lasts. After the software is developed and the work is done, the contracts can end. For a company that only needs a small project to be brought to completion, this might be an attractive strategy to get something done quickly.
Outsourcing projects like this can help fill gaps in talent that might be present in your company, and it can be a little less expensive than hiring on a whole new team, but there are some costs that if they aren’t considered carefully, could be a large problem for a company.
First and most obviously, you have to pay a staffing company as well. They aren’t offering their services for free, so some of what you are paying for your contingent workforce is also going to go toward paying for the services of the staffing company, but there are other costs associated with contingent workforces that might come as a bit of a surprise. For example, if there is a problem with the software or if there is a new solution needed, you can’t necessarily guarantee the same quality of work or even that the same people will be working on the same project. This is further exacerbated if you happen to get a particularly talented team at one point, and then you can’t get access to the talent that you know at a later time. Basically, a contingent workforce has no guarantee of consistent quality and support that more often than not, companies will need.
Again, there are some advantages and disadvantages to this strategy as well, but a team of contract workers may only end up being a short-term solution to a long-term problem. Also, if a project needs support in the future, it can be hard to get if the development team that worked on the project has moved on to other places. Depending on the company and the kind of work that needs to be done, a staffing company can supply a team of developers; however, there are some drawbacks to this strategy that might need to be taken into consideration before this strategy is implemented.
The Advantages and Disadvantages of Custom Software Companies
The drawbacks to using a staffing company or relying on an internal development team can lead companies toward considering completely outsourcing their development to a custom software company. Although custom software has more of an initial cost, one of the main advantages is that a company can outsource the development process in the same way that they can if they are using contract employees. This also does away with one of the man disadvantages of contract employees: a custom software company can provide the consistency that a contingent workforce will not. Custom software companies usually have more of a guarantee of support for their products as well. Provided the company is still in business, if there is a problem with their software, they will be around to fix it. If you’ve found a quality company as well, then there’s a good chance that you are going to find much more consistent quality using their services than you would if you outsourced development to a team of contractors.
There is a popular myth that custom software is expensive and this is technically true if all anyone is taking into account is the initial cost. A custom-built app is going to be more expensive than something like COTS software. However, when the total cost of ownership (meaning the costs associated with support, the ease of making changes, the efficiency of a custom-built piece, etc.) is taken into account, in the long-run, custom software is actually less expensive, and the payback in terms of increased productivity can help make up for the initial cost of custom software.
Of course, even with the advantages of custom software, there are still some disadvantages as well. Unfortunately, some of the troubles that come with COTS software can also be present with custom software companies. Some companies will sell custom software as bundles of features, and this is standard practice in the software development industry. The trouble is that all the extra features take extra time and money.
Since custom software has to be built, each extra feature will increase the time it takes to finish a project. Research and development companies are still going to need reimbursement for their time, so as a project drags on toward completion, it will continue to get more and more expensive while taking months to come to a solution. Unfortunately, either through dishonesty or not really communicating the process thoroughly, the customer is often left in the dark about what they are getting, what it is going to cost, and how long it is going to take. Overall, these unfortunate industry standards drive up the cost of custom software while making the process of getting new software much more difficult.
The Append Media Difference
Here at Append Media, these problems with our industry bother us as much as they bother our customers, so we do everything we can to bust the myths about custom software and change what we see as unhelpful practices. We do this through fully analyzing a problem so that we and our customers are aware of the scope of the project. Our careful gap analysis lets us deliver software at a reasonable price and at a speed that no one else can deliver.
In order to accomplish work for our customers, we offer what we call the minimum viable product, or MVP. All that means is that we offer our customers everything they need and nothing they don’t. We can provide extra features if a customer wants them, but overall, we let the MVP direct our work. For our customers, what this means is that they get a custom business software solution that is more affordable and takes less time than the competition.
The best custom software development strategies are, of course, going to be the ones that help your business the most. All the development strategies have their advantages and disadvantages, and because of that, it’s important to get a clear idea of what your company needs when it comes to software development. If you’re thinking of making a move toward custom software, then get in touch with us. We’ll make sure that the products you are getting from us are clear, helpful, and will continue to solve problems for your company for years to come.