Organizations have choices in the outside assistance they utilize for platform implementations and software builds. This article discusses some differences between two major categories: Software Consultants and Software Integrators.
Let’s begin with a common story… a core piece of software your company depends on needs to be replaced.
You’ve are looking at options: attending sales pitches, getting quotes, and have started to identify which offerings you think will meet your needs.
You feel like you’re close to a final selection and are anxious to get going on the replacement project.
Then… your preferred vendor introduces you to their “integration partner”. Who is a separate firm, which solely focuses on helping your technical team integrate this new software with your existing systems.
At first, it sounds like a great idea: they already know the new system and have a ton of experience wiring it up for other customers. Utilizing this firm’s skillsets might be the right call, but it also might not; should you consider other integration firms? Is there an all-together different path that is just as viable?
How do you decide on the next step? Let’s use a house-based analogy to answer those questions. In this scenario…
You have decided to do some remodeling.
You want to add another bathroom to the main floor of your house.
You’ve figured out the location, come up with a rough idea of what you want, and even hired a design firm to draw up some official plans of what you would like to do.
Now… you need to find someone to do the build. The design firm happens to know someone they work with all the time who is really familiar with specifically building out new bathrooms. You meet with them and really like what you hear; it sounds like they have done a ton of this work before. You sign the contract, get the project going, and generally everything works out on budget and on schedule.
But… after a few months with your new bathroom, you start to notice some odd things: the toilet seems to clog a lot, the shower pressure is sometimes non-existent, your whole house is having a difficult time staying warm on cold days, and sometimes when you turn on the lights in any room adjacent to this new bathroom a light bulb burns out.
You call in a friend who is an experienced General Contractor (GC) by trade and discover some interesting things:
- Your house was built during an era where all of the plumbing was only designed to exactly accommodate the original design, and to properly add an additional bathroom you actually needed a completely different setup for the whole house.
- The furnace and ductwork were only designed to push air to a certain amount of square footage, and by patching in this additional room you’ve effectively reduced the amount of heating you can provide to the whole house.
- The icing on the cake is that while doing all the electrical wiring for the bathroom, they decided to throw everything onto an already maxed out circuit, when you actually needed to add an entirely new circuit to balance the load.
Your friend makes an educated observation based on what he sees: the company that did this is used to working in either new construction or generally less complex jobs and failed to account for your home’s unique history and existing infrastructure. The good news is that he can help you fix all these issues. The bad news is that it’s going to cost twice as much as it would if he had been involved during the planning and build process.
Software implementations have a lot in common with construction. Every project is different, not just because of the software coming in, but also because of the software that already exists and the way the existing software works together.
You have choices in outside assistance with your software build or implementation. This help comes in two general categories: Software Integrators or Software Consultants.
For the sake of this discussion, we’re going to use these definitions:
- Software Integrator: A professional responsible for combining and merging different software components, modules, or systems into a cohesive and functional whole, and is often times an expert in one of the software components being integrated. Their primary goal is to ensure that various software components work together seamlessly and efficiently.
- Software Consultant: A professional who provides expert advice, guidance, and assistance in various aspects of software development, implementation, and management. They possess deep knowledge and experience in software technologies, methodologies, and best practices, which they leverage to help businesses and organizations make informed decisions and achieve their software-related goals.
Let’s break it down even more:
- Integrator: Expert in connecting specific software systems, often specialized in a certain platform
- Consultant: Expert in making sure software systems meet as many organizational goals as possible and building necessary connections
The Integrator’s narrower focus may initially provide a lower cost of implementation.
For certain projects, hiring an integration firm is the right call.
For example, if your project involves mostly new systems, where there is not a lot of legacy complexity, the Integrator has a lot less surface area to consider. Or, in the case where there is only one existing system and this new integration is adding the second. The case for an Integrator can be boiled down to the level of complexity of the existing system(s).
Some questions to ask:
- How long do you think it would take you to explain to the Integrator all of the existing systems and architecture (customizations, data connections, processes, data and entity lifecycles, events, etc) that are relevant to this project? Do you even know them all?
- What impact will this new system have on my old systems? In what ways could I utilize this new system’s capabilities or data to improve other existing systems or processes?
- How will the data from this new system fit into our existing data and analytics architecture? Are we prepared to ingest it? How long will it take to incorporate it with other relevant data sets?
- What is the cost impact on our current contracts after we integrate this new system (beyond the cost of the new system itself)?
- What are the security and/or privacy ramifications of this new system? As it relates to our existing systems and data?
If you walk through the list above and feel like you’ve got a good, solid answer for each question, then you could probably do just fine with an Integrator. But if even one of those questions remains an unknown in your mind or perhaps introduces a new set of questions, this is where a Consultant can provide significant help.
To start with, a Consultant’s primary concern is to ensure your organization’s business and technical goals are being met. While this integration might be the project they are being brought on for, that doesn’t mean there aren’t other goals that need to be considered, or other efforts that are related to this project and will be significantly impacted by the outcome. A Consultant is going to make sure they fully understand all goals and objectives at play, and that any architectural and technical recommendations are in line with each.
Additionally, the right Consultant will have a broad array of experience and knowledge with all manner of different systems and architectures that will allow them to analyze all the interconnected software, processes, and data at play, as well as the business requirements and rules involved, and make recommendations based on the wholistic picture rather than just the integration points.
Bringing on a Consultant doesn’t mean that you won’t need help from an Integrator. Utilizing the Consultant, in the GC role, to manage project scope, provide architectural and engineering guidance, will assist with efficiently delivering on the broader organization’s needs.
Axian provides expert assistance with reviewing, designing and building complex software systems for organizations.
Thank you for reading. If you have thoughts on this blog, would like to discuss the subject further, or learn more about our capabilities, please reach out!