Data dominates. If you've chosen the right data structures and organized things well, the algorithms will almost always be selfevident. Data structures, not algorithms, are central to programming
Representation Is the Essence of Programming
Show me your flowcharts and conceal your tables, and I shall continue to be mystified. Show me your tables, and I won't usually need your flowcharts; they'll be obvious
Smart data structures and dumb code works a lot better than the other way around.
But we need to get past the subjective measures ("right", "organized", or "obvious", "smart" or "dumb") to get past the endless circular debates about data, and data quality. Dave suggested some less subjective measures, which he expressed in his Data Architect's Manifesto:
The success of an information system is dependent on the following qualities of its data:
1 Completeness
2 Correctness
3 Clear Shared Meaning
4 Conciseness
The success of an information system is dependent on the following qualities of its data:
1 Completeness
2 Correctness
3 Clear Shared Meaning
4 Conciseness
5 Adaptability
One of the key practical lessons Dave taught me was that you can organize the presentation of a data model in such a way that if you know how to read it these qualities are pretty much revealed both to you and, with a little effort, your business.
In the next post, I'll begin exploring how this is done.
In the next post, I'll begin exploring how this is done.