Buy vs. Build Discussions On Enterprise Software
When looking to implement functionality, these days you have to decide whether you buy commercial software and customize it or whether you write your own. The decision is not an easy one, because there are many factors that need to be considered.
The first question is cost: if building something is cheaper than buying it, then building might make sense. But this isn't always the case; sometimes buying commercial software will actually save money in the long run because of lower maintenance costs and better support capabilities. You also want to consider how much time it would take for your development team (or perhaps yourself) to build a certain feature versus how much time it would take a third party vendor doing something similar with their own team of developers and programmers.
You should also consider quality when making this decision—will your custom solution perform as well as the commercial solution? And don’t forget about risk factors such as security vulnerabilities or bugs that may not exist in commercial solutions but could cause significant issues if they exist in yours.
The Buy Side
According to the buy side, it's cheaper and faster to buy than to build. The reasoning goes that you can leverage existing infrastructure and technology, so there's no need to reinvent the wheel or waste time on research. The costs of integrating with your existing systems are lower, too—you don't have to hire developers or consultants.
The buy side also argues that since all the basic infrastructure is in place and will work reliably, you won't have any big surprises like finding out later that what you thought was a cloud service isn't really a cloud service after all (or whatever).
The Build Side
On the Build side, people argue that they can get what they want faster by writing their own code than they can by working with a vendor. These arguments are often based on assumptions about how long it will take to build something. Often these assumptions are made without doing any research or analysis into the actual effort involved in building something. That’s because it’s difficult to measure what you don't know or understand well enough, but there are ways we can measure software development efforts that are not as complicated or expensive as actually building the product itself.
The disconnect between the software vendor's sales and development teams is so vast that the capabilities of the software is exaggerated and misstated in order to get the contract signed leading to missing functionality at time of implementation, and thus costing internal developers the same amount of maintenance and overhead as they fill in the gaps.
Additionally functionality in modern software applications focus on accommodating many different businesses and their unique requirements which adds complexities leading to copious amounts of professional services (often times provided by the vendor) with extraneous lead times. Ultimately from the time the software vendor and application was identified to the go-live date, the development team could have already built a more robust application free of the vendor hooks that limit flexibility.
Risk Profile
For starters, there's the risk of not getting what you want. When building a software platform from scratch, your team will have to make decisions about how it should operate and what features it should have. If these decisions aren't made with care and consideration for what's best for your business, then any resulting software may not be very useful—or even worse: it could cause problems for your organization down the line. Even if a team does make all of their decisions carefully, they still might end up with an application that was built based on outdated information or technology standards that are no longer relevant in today's world.
Another risk is not being able to get what you want at all—or at least not without significant customization after purchasing or building an off-the-shelf solution (and even then). A vendor who sells enterprise products doesn't necessarily know everything about how each business works; therefore, vendors need to offer customization options as part of their packages in order for them to be applicable for every customer scenario out there. That said: many companies don't need extensive customizability organizations, if your organization follows standard business patterns then buying is probably the better solution, however if you consider your organization more mature who has already identified specific strategic advantages in their business processes then buying a software application will most likely result in making some concessions on what you really need.
Maintenance
Maintaining your software after it is written is a significant cost, which brings us to our second major risk factor. Software maintenance costs are not free or cheap. They can be expensive if you're not careful.
You may have heard of software maintenance contracts to help you maintain your software after it's built. This is true but it isn't everything. You should also consider how much time and money will go into maintaining the code base itself once it goes live in production, because that process can be tricky too! It can also be pointed out that in today's cloud hosted world, just buying a software application is not free from maintenance as vendors will wish to limit their overhead of maintaining multiple versions of their offering and thus force you to upgrade which will costs all on its own.
When building enterprise applications, there are many challenges involved in creating the architecture of your application that must be solved before writing any code for this project at all; these challenges include: identifying user requirements; understanding business processes; determining data structures needed for each use case scenario; designing dependencies between components (elements within an application); etcetera...
Who Are You - Innovator Or Consumer?
There are many reasons why you would consider purchasing a commercial software product rather than building it yourself. When you purchase commercial software, there are a lot of things that you do not need to worry about because it was supposedly written by people who know what they are doing.
They have tested their product thoroughly and fixed any bugs that they found along the way. This means that when you buy the software, it will allegedly be free of defects and ready to use immediately without any extra work on your part.
Commercial software proponents claim that it has been built by companies with large teams of experienced developers who specialize in building this type of software. Because they will be supporting the product for years to come, they have dedicated themselves to fixing bugs as quickly as possible so that customers always have access to an up-to-date version of their product at all times. They can also provide support for issues specific to your business needs and language requirements (if applicable).
It most likely is a question of identity, do you consider your organization an innovation leader and looking for those specific factors that differentiate you from your competitors, or rather is your organization more stagnant and content with the traditional way of doing things. Perhaps one good question to ask is if you as an organization hire software developers, if the answer is yes then you should have established a need for those resources, hiring developers just to have them maintain a third-party vendor application is not a recipe for good morale or wise investment in intellectual capital, and most likely a reciped for high turnover.
Cost vs. Value
While cost is always a consideration when implementing new technology, any discussion between buying versus building should be based on more than just initial cost. A number of factors need to be considered when deciding whether to build or buy:
-
Maintenance cost—Is it worth the price of paying a developer for updates and patches? Are there resources in-house who could update the software instead?
-
Developer time—How much time will be spent building the application versus how much time will be spent maintaining it? If you’re going to build something yourself, make sure you have enough manpower available so that your developers aren’t burned out trying to keep up with constant updates.
-
Training users—Will everyone know how to use this new system as well as they understand their existing systems? If so, then training might not be an issue at all; if not, though, consider hiring outside help or investing in internal training programs so that everyone can adapt quickly and easily.
Conclusion
The buying vs. building software decision process is one that many enterprises face. We’ve seen the arguments made on both sides and we want to help you choose the right solution for your business.
There are two main considerations when making this decision: speed, cost and risk. Speed and cost of development determine whether or not it's faster to buy commercial software then build your own, whereas risks related to maintenance costs over time will have a large impact on how much money an organization can save by building its own system.
Suggested Media:
|
|
Comments
Post a Comment