4 ms·
“Design outside-in, develop inside-out”
- sktrdie 7y agoWhy is the data model important? Even if your end-users are other programmers (say you're developing an http service) what's important is the API. The data model seems an implementation detail that shouldn't drive the design process.
- sitkack 7y agoEvery affordance in the system design is predicated on the data model.
- lonelappde 7y agoDon't conflate the data structure with the data model. How can understand the API if there is no model for the data it manipulates?
- rumanator 7y ago> Why is the data model important? Because every single software program ever to enter production is a domain model wrapped around interfaces.
- battery_cowboy 7y agoData is the software developer's raw materials. If you are a machinist and you don't care about the material quality and specs, you're gonna have a bad time. Everything depends on the data model, input gets transformed in one or more stages to give some output, if you don't know the required data states between stages you can't write the transforms properly.
- zachrose 7y agoI think this is a fair question, and I find some of the explanations here wanting. You could implement the same UI the the same external specifications with a number of different data models. In theory, your users would never be able to tell. But in practice, a good data model is going to lend itself to performant software that can be changed predictably and without too many bugs. The data model is internal quality.
- maps7 7y agoOP, I am assuming you're the author of the article. I think it could be improved by relating it to an experience when the advice given wasn't followed. At the moment I am struggling to gain anything from it.
- wheresvic3 7y agoThis is actually very interesting! The article is mainly trying to answer the question - how do I begin with a new project? Should I make the UI first or should I make the backend first? One of my projects where this advice was not followed was one where we decided to build something without having a clear idea of how it was going to be used. In this case we decided to focus on the backend and just had a very rough UI. This project went way overbudget because by the time we managed to get it to the users and got feedback, we had to refactor the entire data model and API due to new requirements. I suppose one critical take-away from all of this is that proximity to users is a key component of a project's success :)
- maps7 7y ago> I suppose one critical take-away from all of this is that proximity to users is a key component of a project's success Thank you. That is a great take-away actually.