Or maybe a bit of both….
From time to time, we encounter a potential client who is either in the process of building their own online registration and business management system or considering building it themselves. These organizations range from very small family owned clubs and non-profits with modest needs all the way up to to enormous federations or associations working with multiple locations and partners with very complex business needs.
In every case, the reasons behind going the custom build route usually boil down to two issues:
- The software available on the market does not satisfy their business processes.
These are two very valid issues. However, it is incredibly rare that developing your own solution is the best solution. Often times clients are sold on the vision of ownership and 100% customized to their needs. In reality, once all the costs are accounted for, developing your own software rarely justifies the ROI.
So, understanding that, if you really feel that building is your best solution, or you just want to do your due diligence, how do you decide what is best for you?
This post will map what goes into planning and building custom software, what you should expect and pitfalls to avoid.
Before we get into the details, let’s take a moment to consider the Project Management Triangle:
Every project has 3 key elements that determine the quality: Scope, Time, and Cost. Now consider what your number one, number two and number three motivations are to custom building. If you are considering custom building because there isn’t a solution that has all your requirements, you need to also consider the scope of the project and the cost associated with the scope.
The Road to Custom Software Step 1 - Scope and the Systems Requirement Document (SRD)
Assuming you’ve already written out your needs: your "must haves" and your "nice to haves", if you do end up going the custom build route, you need to turn your must haves and nice to haves into a Systems Requirement Document (SRD). You will need to be extremely detailed in what you want the software to do and the core processes you need it to accomplish. Completing this task gives you a better chance at keeping the project on time and on budget. Something that most projects fail to do.
Often times, larger organizations - typically federations or associations will hire a consultant or a software development company Pre-Sales to create a SRD - map out processes, design a solution and provide you a quote for the complete project. While they do much of the work for you, you still need to provide them with your current processes, requirements, desires - and in order to ensure your software grows with your organization - your future plans and roadmap.
If you are unsure of your needs or how to turn your core processes into a document, a good place to start is by looking at buyer’s guides.
A buyer's guide will help you identify exactly what kind of features are must haves and nice to haves. Create a checklist that you can use to research and evaluate existing solutions and/or interview potential custom software developers. This is a great way to eliminate any options that don’t meet your basic requirements and help you identify any requirements you may not have thought of.
Download features guides, ask for demos and take free trials. You might find a solution that can work for you, if not maybe there is a solution that will work with you and add your requirements to their product road map which rarely requires massive capital up front and is often completed at little or no charge to you. Another option is to limit the scope of your custom build by integrating custom software with the API of software already on the market (this is the bit of both we referred to in the title).
If after your research, you haven’t found the perfect solution, the information you have already gathered is valuable research for your ideal custom built solution. When Amilia builds a new feature or module we go through an extensive 7 step research and development process. Taking the time to map out your requirements is the most important step towards acheiving your desired outcome.
The Road Custom Software Step 2 - Calculating Total Cost of Ownership (TCO)
There’s no doubt about it, custom software can be expensive–very expensive. There is the cost of developing the software itself AND the cost of ongoing upkeep, maintenance, bugs, hardware, training . . . the list goes on.
How do you estimate your total cost of ownership? The best way to estimate and get a clear picture of your TCO is to look out over three to five years depending on estimated delivery of a minimum viable product (more on this later).
When calculating TCO, take into consideration the following:
- Any internal resources involved in the planning, management and implementation of custom software project: IT professionals, project managers.
- Outside consultants for planning, management, development and implementation of the custom software project.
- Will a software development company be hired Pre-Sales to map out processes, design a solution and provide you an accurate quote for the complete project? Will a company be paid a retainer to get started? Best practice in software development: a thorough assessment should be completed before engagement, mapping out all processes of key stakeholders.
- Any hardware necessary, e.g., rackspace, servers.
- Will you host your solution at your offices or host it externally? In either cases, there will be costs for either acquiring your own Datacenter equipment and licensing, or leasing it in a secured facility.
- If you want to process credit cards, you will need to make sure to evaluate security options to prevent loss of data or intrusion - in addition to making sure you maintain PCI compliance which requires regular maintenance.
- Don’t forget regular data back-ups and a Disaster Recovery plan that includes both a Recover Time Objective (RTO) and a Recovery Point Objective (RPO).
- Three years technical support and maintenance. Once your custom software has been delivered, it needs to be updated regularly. Browsers are continuously updating their protocols (what version of Explorer are we on? Chrome? Safari?) someone needs to update the software so it works correctly in the various browsers. Software is evolving faster than ever - new features or more intuitive ways to serve you better. Make sure you account for:
- Any internal resources involved in continued maintenance, improvement and training for the software.
- Any external consultants and resources involved in continued maintenance, improvement and training for the software.
- Any add-on applications planned for the future.
- Up-front training to learn the system.
- Recurring or additional training for new employees or new functionality added to the system.
These considerations should be addressed by the software development company bidding for your project and should be included in your quote for the project. Keep in mind that most Software Development projects tend to run longer than anticipated and cost higher than projected.
The Road Custom Software Step 3 - Time to build
So, when did you want to have the software up and running? Remember the project triangle? Depending on your project scope and how much you are willing to spend, it could be a long time - years until you get a minimum viable product - and what does minimum viable product even mean?
Minimum Viable Product (MVP) - has just the core features sufficient to deploy the product, and no more.
It’s the bare bones - no bells and whistles - that’s all. In layman’s terms, it’s 4 wheels, a motor, a chair and a steering wheel. It is very important that you are clear in what you expect with the minimum viable product AND what that means in terms of delivery of final product. Maybe you will get a MVP in a few months but as it is the bare bones, it will take another year for the software to do everything you’ve mapped out in your project scope.
In addition, once the software has been built and is ready to implement at your organization, don’t forget you will have to train your staff and possibly your clients to use it. This needs to be factored into your timeline. Most out of the box solutions can give you an accurate estimate as to how long it should take to get your organization up and running on their software (spoiler alert: it’s never years).
If you are planning on taking online payments, you also need to take into account your merchant account application, as well as setup and integration with your software. It’s also incredibly important to not forget the financial reporting part of this. This is often something that isn’t caught early on and it is only when your accountant’s bill increases exponentially as they try to reconcile your credit card transactions report with your registration report that you realize it is a problem.
In addition to Scope, Cost and Time, here are a few other issues you should look out for:
- What assurances and guarantees are you receiving? In terms of timeline and quality.
- How will you ensure your Software’s backend code is being built to the latest industry standards?
- Who and what methodology will be used to monitor this during the project?
- Once you have taken delivery of the product, who will be in charge of Quality Assurance and how will bug fixes be handled?
- Do you pay an hourly rate or will you receive a bank of hours? Fact: no software company can give you an estimate on how many hours it will take to fix a future bug (not all bugs are created equal!), and even the biggest companies in the world (Microsoft, Adobe, Oracle, Salesforce) have bugs.
- What type of support and training will you receive? If you use an external company, what are their hours and SLA’s around support?
Keep in mind that there isn’t one system that is 100% perfect. Most existing solutions worth their salt will tell you sometimes it’s better to go with something that is best in class; for example MailChimp or Constant Contact for email marketing. If it’s not core to your business, your mission, consider finding an existing solution that meets your needs as much as possible. For example, at Amilia marketing and sales are pretty important to our business. In order to succeed we need software that helps us tell the world about Amilia and to track our sales process. We are in the business of software development, so theoretically, we could build marketing and sales software ourselves; however, we are specifically in the business of online registration software and business management software for sports and recreation organizations, federations, associations and cities. We aren’t going to develop custom software for our marketing and sales department when we can use an out of the box solution for a fraction of the cost in terms of time, money and resources.
Still interested in building a custom solution?