Custom Software Development
We love to code. As our team has evolved over the past 12 years, as we’ve changed faces and offices, the one constant has been the presence of a robust software development practice.
Of course, building custom software solutions isn’t the only thing we do. We have delivered plenty of SharePoint projects, for instance. But those projects generally involve more installation and configuration, meaning we’re flipping switches inside an already-built software product. Custom software means we’re building at least part of it from the ground up, and that’s what we love about it. We work with our clients to build solutions that have never been built before, ones that meet your exact specifications.
When to Use Software
Since you’re browsing our site, you have likely already recognized a problem that you believe software can address. If you’re still on the fence about this, here are some questions you can ask yourself to help with the decision. If you find yourself answering ‘Yes’ to these questions, it is likely that software can help with the problem you are facing:
- Are employees spending time on repetitive tasks?
- Are there times when we are making decisions, but we don’t have access to all relevant information?
- Are we writing anything down on paper?
- Could we audit our key business processes and see the steps each worker took along the way?
- Are we manually copying and pasting data, or manually generating reports?
- Do our people with they had access to key information on their mobile devices, or when off-network?
- Are we emailing information to our customers on a regular basis (e.g., status reports)?
When to Go Custom
If a commercially available product exists that already does exactly what you need it to do, it will almost always be less expensive to purchase that product then to develop something from scratch. Our clients make use of our custom software and mobile app development services when commercially available products don’t meet their unique needs.
Custom Software Supports Differentiation
Think about your business. What do you tell people when they ask, “what makes you different”? In some industries, you can make a living following common practices and doing things pretty much the same as everyone else, but sustained above-average performance comes from doing things differently in a way that your customers find valuable.
The problem with commercially available Software as a Service (SaaS) or off-the-shelf (OTS) offerings is that they are (by definition) available to everyone, meaning they can’t support a differentiated business model without at least some customization. The more general the piece of software, or the more differentiated the business model, the more customization will be needed.
Eventually, you reach a point where a widely-available piece of software just won’t cut it, and you have to either build something from scratch, combine some custom code with standard services, or extend a platform by building a custom app on top of it.
Custom Software Facilitates Integration
Getting systems to talk to one another is critical if you want to do things like automate a business process end to end or establish systems of record for your key data that other systems draw from.
While integrations are on the market for many popular systems, especially cloud-based tools, you sometimes run across systems for which there is not an integration either built-in or available for purchase. This problem is compounded when you have an ecosystem of software all needing to communicate. In these cases, custom software can be used to bridge the gap and get all the systems playing nicely.
Custom Software Development Services
There are several ways to go about getting your software developed. As consultants, we may be a little biased about which way is best, but the truth is that it’s not always the best decision to engage a consultancy to get the work done. Here are some common service structures with pros and cons for each.
Consultancies like Entrance bring together top-notch professionals to take on projects for clients. The nice thing about this model is that you reliably get experts that are good with people, not just computers. Since we work as a group, you don’t have to worry about a project grinding to a halt if someone gets sick. We can get things done very quickly, and if there’s a technical challenge we can turn to the experts in the organization for help.
The downside of using a consultancy is that it can be overkill. We employ the best and thrive on solving really tough challenges. If you have a mundane problem and just need a body to execute on an already-defined plan, hiring someone like us will cost way more than you need to pay. In this case, you’re better off with a freelancer or a contractor.
Freelancers usually work alone either as their full-time gig or as a second job. They vary in expertise, which can make it tough to separate the bad from the good, but online freelance marketplaces often show ratings to help buyers judge the skills of the candidate.
Freelancers are good for smaller jobs that can be taken on by one person, especially if that job requires specialized expertise. If they need help with a technical problem, they can typically turn to their network for assistance. Oftentimes, a portion of the payment for the job is withheld until after the work is delivered, so the risk to the buyer of the freelancer not completing the work is lessened.
Firms in this category recruit software professionals and then hire them out to buyers, typically in staff augmentation arrangements. They are essentially a broker, bringing together personnel and employers and charging a fee for every hour worked.
Contractors are good for well-defined jobs where you don’t mind providing supervision and direction. You are paying for their time like you would a regular employee, and they will need direction just like a regular employee would. If this is what you’re looking for, this route is usually the least expensive of the three.
The downside of this arrangement is that the contractors may spend most of their time onsite with clients, and may not have deep connections with others at their firm or with independent technical experts. This means that, if they run into trouble, they may not have someone they can quickly turn to.
Another downside is that contractors, depending on their experience, typically have an employee mindset, meaning they do what they are told to the best of their abilities. Unlike consultants or freelancers, they may not be looking out for the overall wellbeing of the project.
Software Development Process
We follow a standard process for software development. It’s an adaptation of the Microsoft Solutions Framework that incorporates Scrum into the Build portion of the framework.
Build vs. Buy
Although we’re working all the time to drive down the costs, we have no problem admitting that enterprise-grade custom software development can be a big investment. That is why, before committing to developing something from scratch, we always make sure that our clients have a good handle on what business value the project is intended to deliver. This helps establish the maximum investment that should be made, and prevents you from moving forward with an ill-advised project.
It’s possible that custom development is not the way to go, so a Build vs. Buy assessment should be conducted. Our clients often get us involved at this stage in the process, as we have experience performing these types of assessments.
Envision and Plan
We usually split our custom software development projects into two parts, of which Envision and Plan (E&P) is the first part.
During the E&P phase, we lay out the high-level features to be developed, the business value that will be delivered, the architectural design, and the plan for the upcoming build phase.
The deliverables for this phase are the Vision and Scope document, which contains the elements described above as well as a prioritized product backlog, which is just a list of work to be performed during the build phase.
Build, Stabilize, and Deploy
During this phase, the team turns the Vision and Scope document into working software. We take an agile approach, demonstrating working software to you every two weeks, and allowing you to re-prioritize the remaining scope so that we are always working on the most valuable feature.
It’s up to you if you would like our team to handle things like training and documentation, or if you would like to have your employees handle some of this work. We are more than happy to do this for you, but our clients often take this on to reduce the cost of the project.
All software needs a certain amount of maintenance to address small tweaks that users want, corner-case bugs that were not identified during testing, and upgrades necessary to allow the software to play nicely with other systems.
For this reason, we always work with our clients to estimate the amount of maintenance time that will be needed and put in place a support contract. We offer low-cost retainer packages that allow us to respond quickly to maintenance events and even use the leftover hours for system enhancements.
If you believe you have a problem that software can address, and you like what you’ve read about who we are and our software development process, let’s connect! Fill out the contact form on this page, and one of our experts will reach out to you right away.