Table of Contents:
Regardless of what technology or application your team develops, as long as database is involved (most of software development) creating and maintaining data dictionaries (description of database tables and columns) can make them more and agile productive. This is how:
1. Better communication
Any documentation improves communication. Instead of calling or emailing each other, waiting (sometimes days) for reply, all the participants may refer to one document and one version of truth.
2. Faster development
With data dictionaries developers spend less time guessing or asking each other if it comes to database or SQL. Which table holds orders details? How do I select products that are on stock? What is the difference between is_active and status columns? What value should I insert in customer_no column? Such questions appear on daily basis. With a proper data dictionary it takes minutes to figure all that out.
3. Less bugs
Less guesswork means less errors. It's simple as that. Put on top of that rules that no-one even thought of asking about, like: you should deduct quantity_cancelled from quantity_ordered to have actual shipping quantity or that quantity_onhand doesn't represent current value but is calculated nightly or that employee_no is unique only within organization and employees table holds many organizations. You can imagine bugs that can happen if you don't know all this.
4. Faster bug fixing
If bug happened, however, having a documentation will enable your team to find a cause and a resolution faster. And time is especially precious if your system is live.
5. Easier change
It is easier to make changes in software if you know how it works. Changes often happen when no-one remembers how it works, or worse, there are no people who designed and developed it. Up to date data dictionary, along with other documentation, should always at hand.
6. Less bottlenecks and delays
There are probably people in your team that know much more than others. They have to constantly answer questions from the team. What if they are super busy or on holiday - some tasks just need to wait a couple of days. All documentation makes your team members more independent from the others and tasks go more smoothly.
7. More time for your key people
Reason above also means that your key people get less questions and have more time for their work.
8. Easier on-boarding
Proper up to date documentation always makes it is easier and faster to introduce new members to your team. You don't need another member explaining everything. Most likely you introduced new person because you are quite busy already.
9. Easier replacements
If you have taken critical knowledge from the heads of your team members and put into your project repository it means that if they left, it would be easier to replace them with a new person. This also leads to the next one.
10. Less dependence on specific people
Easier replacement means you are less dependent on specific people. It brings more power to the team and project. You are able to decide to replace someone it he/she's not doing his/her best.
It's never too late to start creating a data dictionary for your databases. If you have not already, start today. We have the right tool for you.
- How to Create a Data Dictionary
- How to Document SQL Server Database in 5 Minutes
- How to Visualize Database Schema with ERD