“Design outside-in, develop inside-out”
smalldata.tech
smalldata.tech
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 :)
Thank you. That is a great take-away actually.
How can understand the API if there is no model for the data it manipulates?
Because every single software program ever to enter production is a domain model wrapped around interfaces.
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.