How do you design for a database platform which doesn’t require design? Should you design your data at all, or just start building?
I’d like to think I have a somewhat unique perspective on this, working at Nike where I have a front row seat to world class product design and innovation.
Perspectives vary on the importance of designing data these days. Traditional databases fundamentally force a certain level of design, to define the structure of your information before content can be inserted. But many NoSQL databases will accept whatever data format you throw at them, and you can completely change that format from one record to the next. So in theory you don’t need to have a plan for your data at all!
I strongly believe that you need to have a plan. Designing your data brings clarity. It exposes what you do and don’t know about it, and what confusion may exist about it within your team and organization. Designing data is an essential form of leadership, charting a course and testing ideas, bringing forward a clear story while being open to changing it based on new learning.
Most importantly, design is about understanding the consumer, knowing what audiences will be using the system and what they need the data to do for them. Data modeling can greatly accelerate development, improve the quality of the end product, reduce maintenance costs, and multiply the value of what has been built by establishing a common understanding of the information.