Creating a custom database for your business can be a daunting task. You may feel anxious about whether or not is really worth it. You may also have heard awful stories about software projects going over budget due to never ending changes. In the next series of blog posts I will try to help you get the most out of your next custom database system. Follow this first key step prior to implementing a new custom database (or any software project) and turn the odds in your favour!
This post will help you think critically and plan out your system. You will know what you are trying to achieve and how. Once you have this plan, the later steps such as identifying which features are important will become easier. This exercise will help you reduce risks, improve the efficiency of the project and reduce the costs.
Understand the why
When creating software, it is normal to want to jump straight into features and designing what the system will look like. However, it is important to take a step back and figure out exactly what your main goals are, what problems you are trying to solve and how you will track success ( i.e. when are you done)
At first glance, this exercise can seem simple, but as you start thinking about it more, it may become a little scary. Setting goals (accountability) can do that! It is important to stick to it and complete it. Software projects have a tendency to go over budget due to scope creep (uncontrolled changes or continuous growth in a project’s scope). Having a document you can refer to, and see exactly what you were trying to solve, will give you better clarity and help you make better decisions.
What should You do?
So what exactly should you write down? That will vary per product. It is important to understand the different between the product goals and more generic business goals. Saying you want a software to help your business be more effective to save money is NOT good enough. Dig deep and find exactly:
- what problems you are solving
- what each problem means, i.e., what it will allow your business to do
- how you will know when you have achieved it, i.e., how do you know if you are making progress towards that goal.
For example, if you own a brick and mortar business, you may have clients constantly coming into the store wanting to buy your product. One thing that you may want to improve is customer service. In particular, you may be looking at using software to help improve the checkout process. One goal you may create would be to speed up the checkout process. You know the current process and how long it takes so you have an initial marker. You may then write down a goal to be:
Our new database will reduce the checkout time by 50%. This is a problem because […] and if solved it will enabled us to […]
Implementing a new software system can be really scary and it can be easy to deviate from the plan especially when you lose track of what the overall goals are. Going through this process will not only help to make the project more precise but will serve as a reference guide to know why you started creating the system in the first place. Lastly, having a clear plan about what you are trying to achieve can help mitigate many risks and more importantly provide a system that you know will help your business. If you have any thoughts or questions about establishing your database’s goals, please let me know below!