42: What to Consider While Designing a Software System

When there is no constraint in software design and development discussions, most discussions go to architecture and system design. Especially when the architects and implementers are the same people, the architecture is often debated way more. People forget that the architecture is flexible (maybe not much) and adaptable to changes.

Conceptual integrity is the most important thing in system design. Therefore, people should focus on that. The implementation part and how the design will be implemented are as critical and creative as the design. If we separate the two and approach them accordingly, we can go a little faster and produce higher-quality software. We can create constraints by limiting the people who will do the design. The fewer people, the better and more integrated the design will be. When the decision comes from many minds, it loosens and becomes weak. Satisfying many voices means more sacrifice.


This note is mentioned in:

29a. 39b. 42a. 42d. 43. 51. 56b. 56c. 56d4a. 56g. 66. 81. 8c.

If you're unfamiliar with Zettelkasten: These notes are atomic. The aim is to have one idea in a note. The connections between notes are as important as the notes themselves.

Reply via email

or comment below.