Behind every useful application, company, sales team, or think tank is a database that was built well and maintained over the years. Ask any successful company today, and they are likely to tell you that the core of their business is in the data they produce and collect. What they might not say is how the information is useless without an effective database solution to connect their data with the people who need it.
In fact, it is the databases that make the online world such a fascinating place to be. It is how we can deliver dynamic, personalized experiences to the end user without having to spend the time to create individualized applications for each of them. Well-made databases provide the latest information the user desires in a way that is useful to them.
Chances are, your client or team needs a database to bring their company to the next level. The trouble is, they might not know how to ask for it, what to look for, or how to make something that is going to be useful for them. The only thing that might be worse than having no database is having one that is ineffective because it was not built for the right purpose.
Every project needs a starting point, and your team or client will let you know about the pain points they are dealing with today, in this very moment. Whether they are looking for ways to more efficiently run their business or do their jobs, everyone has a pain point they want to resolve, and they’re looking to you to resolve it.
The squeaky wheel gets the grease, and you will for sure know the exact problem they want to resolve. However, building a database should solve a problem, not the symptom of the problem. You will have to do some investigating to make sure you create the right solution to fix their problem.
The best way to find out what they need? Ask questions, lots of them.
Here are some questions to ask to get the ball rolling:
After you have the immediate needs determined, do your research and understand as much as you can about your client’s needs or what your team needs in order to do their jobs. By knowing how their operations run or the way they conduct their business, you can have a high level of understanding of what they do on a daily basis and how a database can help with this.
In fact, it may be worthwhile to observe for a few days to see how a client uses their current database and how their company operates. You might be surprised how difficult it can be to get a client to put their needs into words. Even more surprising: how many processes are stuck in the “old way” because that’s the only way the client knows how to do them. You know the saying: “It’s always been done this way!”
With this information in hand, you can provide a valuable outside perspective that will give you a way to develop a sustainable database structure that both meets the needs the client outlines today, and still be flexible enough to adhere to any changes they may have down the road.
Before the work begins on building a database, it’s best to know what resources you have available, what you will need to acquire, and what limitations you might be up against. Creating and managing databases can be a costly project; it is best to make sure you have all of the tools you will need available to you up front. Not sure what you will need or if it will be enough - or too much? - there is no harm in asking more questions about what needs you are meeting with the database.
A database developer can easily prove their value by highlighting the very products they intend to build. Knowing the problems you are providing solutions to, you can advise on a plan for how you will build the database, the cost of the software involved, and what hardware you (or they) might need in order to manage the database. While the costs may seem high, you can easily explain the value by outlining how your database design will help them perform their jobs, close more sales, leave more clients satisfied, and ultimately grow their company - today, and in the future!
With a plan in front of them, your client will have a better understanding of what you are able to do for them and may even bring up something that had previously gone overlooked. This will also allow your client to make sure they have everything they need on their end to execute the database. If their sales team is going to be the primary user, are their computers powerful enough to use your product? Will they need an application to access or update files? The fewer obstacles between the database you create and how the end user will receive it, the better.
Three steps before you even started building the database? Planning is everything; you will thank yourself later. If all of your ducks are in a row, the buildout of the database might be the easiest part of the process! As you work, be sure to document what you are doing every step of the way so you can create user manuals and design training materials and instructional courses for the end user.
Keep in mind that your end user is likely not going to be your average database user! The first few days of implementation and training are crucial to maintaining the long-term effectiveness of what you have built. You will want to keep an eye out for:
Creating an effective database that serves the needs of the end user is rather simple if you take the time to ask the right questions and formulate the right plan before the work begins. The more preparation goes into the front end, the less you will be scrambling to find missing pieces down the road. Furthermore, having a documented plan keeps your development focused and your implementation simple.
This month's update includes, along with some great contributions from the community, the much requested importing and exposing data publicly via a REST API features.