3 ms·
Let's add Conway's law to that: "Any organization that designs a system will produce a design whose structure is a copy of the organization's communication str
by nabla9 3y ago
Let's add Conway's law to that:
"Any organization that designs a system will produce a design whose structure is a copy of the organization's communication structure." (Melvin E. Conway(
"The structure of any system designed by an organization is isomorphic to the structure of the organization" (Yourdon and Constantine)
Coming back to your point. How do you ensure that data structures are organized well and stay that way as design changes?
You separate data and code in organizational level. You keep the design of database schema, use cases, and mapping between them is separate from the implementation of the rest. This group also writes all integrity checks and etc.
Data and code organizations are separate.
IF you don't do it this way, it's hard to separate code and data because the structure of the organization does not separate them.
- ttfkam 3y ago> Coming back to your point. How do you ensure that data structures are organized well and stay that way as design changes? It's a hard problem if not THE hard problem. Using an ORM or not has no bearing on this. Conway's Law extends to the lowest levels. If an organization changes substantially, no UI, data structure, or database schema will be left unscathed. Solve the problems you know about. Tomorrow always delivers problems you couldn't (and shouldn't) anticipate. You'll drive yourself and your coworkers crazy by trying to cover all possibilities. It's a disease called Flexibility Syndrome.
- nabla9 3y agoYour viewpoint is from someone who writes code for others. My viewpoint is hiring others to write code. My business is tomorrow and keeping contractors in check. Planning and maintaining data and their schemas in-house and contracting out writing code has been incredibly successful so far.
- ttfkam 3y agoFor what it's worth, most of my time is spent inside the DB, not app code. I learned long ago that once bad data gets in, it's far harder to get out and trust the system again. Best defense against bad data is a well-designed, strict schema. In other words, proper data structures.