Live data from Hacker News

Importance of Conceptual Integrity in System Design

wiki.c2.com

11–20 of 34 posts

Re: Importance of Conceptual Integrity in System Design

#11
I agree with the main point that conceptual integrity in system design is important, and it's a great article over all.

However, I really think that the immediate examples given by the author are actually not great examples of conceptual integrity, because the author too quickly conflates "conceptual integrity" with "consistency" (note the repeated use of "everything is a" in the examples given):

  Smalltalk ("everything is an object", and the small set of other accompanying principles)
  SQL ("all data is in tables", with keys and constraints)
  Lisp ("everything is a list")
Conceptual integrity and "consistency" (or "everything is a" thinking) are not at all the same thing.

I would even go as far to say that an over-emphasis on simplistic consistency speaks more to the lack of a genuine concept, or as the classic quote has it: "consistency is the last refuge of the unimaginative".

And committees love consistency because it's a cheap sell.

On the other hand, conceptual integrity just means staying true to the concept, however that is defined, so that conceptual integrity could well mean a break from simplistic consistency where the concept demands it.

If I can give it a shot, I would say that the human body is a better example of conceptual integrity in system design: not everything is a head or a hand, not everything is a foot or a finger, not all fingers are the same size, and yet everything works together. The conceptual integrity lies more in the overall symmetry of the human body, its purpose, its functions, its senses, motion, perception, thoughts, speech, actions, and especially in its interdependent relationship to others in community, as well as everything else in the world.

Re: Importance of Conceptual Integrity in System Design

#13
post #11

I agree with the main point that conceptual integrity in system design is important, and it's a great article over all. However, I really think that the immediate examples given by the author are actually not great examples of conceptual integrity, because the author too quickly conflates "conceptual integrity" with "consistency" (note the repeated use of "everything is a" in the examples given): Smalltalk ("everythi…

Everything in the human body is a collection of cells.

Re: Importance of Conceptual Integrity in System Design

#14
post #11

I agree with the main point that conceptual integrity in system design is important, and it's a great article over all. However, I really think that the immediate examples given by the author are actually not great examples of conceptual integrity, because the author too quickly conflates "conceptual integrity" with "consistency" (note the repeated use of "everything is a" in the examples given): Smalltalk ("everythi…

the paper "a city is not a tree" is a perfect example of the fallacy and makes a point of the complexity of systems and the fallacies in systems thinking. The parallel is very useful to illustrate the stupidity that is "smart cities" engineering (& marketing). System thinkers envision highly complex "systems of systems" as tree-like structures (in the CompSci/Mathematical sense). It applies to all systems and models of systems though.

A city is not a tree http://www.bp.ntu.edu.tw/wp-content/uploads/2011/12/06-Alexa...

Re: Importance of Conceptual Integrity in System Design

#15

> the architect(s) must be egoless Yeah, and 'the bird(s) must be wingless'. Whoever wrote this is not an architect, nor has ever met any real architects worthy of the label. Architects are driven by an overwhelming imperative to 'order' everything around them. Also there is a reason we have "egoes". It's not a useless function of the psyche. The problem is with problematic egoes, fragile egoes, over-reaching egoes,…

> Everybody considers themselves a designer, but it is baseless optimism that is supported by little data or precedent. Good designers are unique. Design ability is a 'talent'. Being able to conceive a complex system that maintains "conceptual integrity" is not an ability that everyone has, nor is it show (yet) that is even teachable!

It's also talent that is hard to recognize and can be valued very differently from one organization to the next. I've been in the room with developers and management looking cross-eyed at me as I walk them through a top down business/problem decomposition and system design questioning the value of the entire exercise. Not surprising, these are organizations which have extremely brittle systems full of overlapping and "hard to reason about" abstractions.

Re: Importance of Conceptual Integrity in System Design

#16
post #5

Earlier quoted context omitted.

If everyone is responsible then nobody is.

This is true in situations where there is no social contract for the event at hand, like emergencies and other one-off situations. It doesn't apply where there is a social contract. Everybody is responsible for obeying the traffic laws, for example. And everybody can be responsible for maintaining conceptual integrity.

I think it applies here. The problem which conceptual integrity is that short-term incentives oppose it. A developer gets personal benefits for shortcuts (Yay, a 10x rockstar developer!) while the costs are shared by all. A classic tragedy of the commons situation.

Maybe you assume that random developers will speak up, point out an inconsistency, and everybody agrees to make it consistent from now on. In a small team it might work that way, but "system design" implies a larger community to me. Consensus is hard.

The whole point of responsibility is that blame and praise is focused. A focus on everyone is no focus at all.

Re: Importance of Conceptual Integrity in System Design

#17
post #15

> the architect(s) must be egoless Yeah, and 'the bird(s) must be wingless'. Whoever wrote this is not an architect, nor has ever met any real architects worthy of the label. Architects are driven by an overwhelming imperative to 'order' everything around them. Also there is a reason we have "egoes". It's not a useless function of the psyche. The problem is with problematic egoes, fragile egoes, over-reaching egoes,…

> Everybody considers themselves a designer, but it is baseless optimism that is supported by little data or precedent. Good designers are unique. Design ability is a 'talent'. Being able to conceive a complex system that maintains "conceptual integrity" is not an ability that everyone has, nor is it show (yet) that is even teachable! It's also talent that is hard to recognize and can be valued very differently from…

I've had that experience on multiple occasions. Initially, when younger, I did attribute it to myopism. Today, I recognize that credibility also needs to be earned. All architects are unhappy except those who manage to find the right client. The client-architect relationship is fundamental. A successful architectural undertaking is minimally a two variable equation. Client (aka stakeholders) are hugely important.

(this is related imo to your post: https://brooker.co.za/blog/2020/10/19/big-changes.html - )

On a related tangent, I've been re-reading "The Open Hand - Essays on Le Corbusier". Specifically, the "Le Corbusier at Pessac - Professional and Client Responsibilities" essay by Brian Brace Taylor.

https://www.worldcat.org/title/open-hand-essays-on-le-corbus...

Pessac: https://www.archdaily.com/940878/le-corbusiers-cite-fruges-l...

That project basically failed its intended purpose. The client, M. Frugès, was apparently an enlightened capitalist, willing to invest in the vision of the young architect, even when incurring financial losses, because of Pessac. Corbu also learned, on the job, how to, and how not to, build his modernist vision. The whole thing was a fiasco on many levels. But it was a necessary project for progress in the field.

Which is the point: architectural innovation is costly and even great architects leave a trail of failed early projects. Yes, Corbu went on to master his field, and he did deliver (opinions of course vary) on the program of modern, afforadable, mass housing for the urban working class:

https://en.wikipedia.org/wiki/Unit%C3%A9_d%27habitation

But then:

"You know, it is life that is right and the architect who is wrong." - Le Corbusier (!)

https://libquotes.com/le-corbusier/quote/lbz6x3v

It's a problematic vocation (bricks or bytes). Love it or leave it.

Re: Importance of Conceptual Integrity in System Design

#18
post #11

I agree with the main point that conceptual integrity in system design is important, and it's a great article over all. However, I really think that the immediate examples given by the author are actually not great examples of conceptual integrity, because the author too quickly conflates "conceptual integrity" with "consistency" (note the repeated use of "everything is a" in the examples given): Smalltalk ("everythi…

Everything in the human body is a collection of cells.

This is not true. Your extracelluar matrix is vital for your survival, as well as the gases dissolved into it and in your lungs. Your bones, while they have stem cells inside and have osteoblasts scattered throughout an extra cellular material. Do the cells build all this? Yes, but not everything inside of you is strictly speaking made of cells.

Re: Importance of Conceptual Integrity in System Design

#19

Earlier quoted context omitted.

Everything in the human body is a collection of cells.

This is not true. Your extracelluar matrix is vital for your survival, as well as the gases dissolved into it and in your lungs. Your bones, while they have stem cells inside and have osteoblasts scattered throughout an extra cellular material. Do the cells build all this? Yes, but not everything inside of you is strictly speaking made of cells.

I knew my post had a 100% chance of a follow-up "aksually!". Thank you for the irrelevant information.

Re: Importance of Conceptual Integrity in System Design

#20
post #7

Brooks’ book seems like it is percieved as a software engineering classic but it’s mostly about the management side of things. Companies are very hierarchical so of course it makes sense for managers that most things should ideally come from one mind or a few agreeing minds. Then the average developer just have to do the grunt work. So why is the book popular among developers? Because there is an elite cadre of devel…

It is a software engineering classic. Just like “A.I” describes an entire field within computer science, so does “Software engineering”. It’s the part of computer science that deals with managing projects, quality and people, among other things.

In the real world, software engineering is some what more loosely defined and encompasse s things like programming, system design and so on.

Post reply on HN