







Only the engineers who work on a large software system can meaningfully participate in the design process. That’s because you cannot do good software design without an intimate understanding of the concrete details of the system. In other words, generic software design advice is typically useless for most practical software design problems.
Software Design is Knowledge Building
The product of software development is not code but a mental model, a theory: a specific way of explaining the world.

Eight Habits of Expert Software Designers: An Illustrated Guide
The best designers employ specific habits, learned practices, and observed principles when they work. Here are a few of them.


Laws of Software Engineering
A collection of principles and patterns that shape software systems, teams, and decisions.

Why designing for open source can be so difficult
I design interfaces and ship the code myself. Portfolio and writing from Gilli Sigurdsson.
Built by Designers: No Explanation Needed
Designers now turn ideas into working products. Explore a curated collection of apps, tools, websites, and experiments designed, built, and shipped by designers.
Special Issue Editorial – Accumulation and Evolution of Design Knowledge in Design Science Research: A Journey Through Time and Space
Sir Isaac Newton (1676) famously said, “If I have seen further, it is by standing on the shoulders of giants.” Research is a collaborative, evolutionary endeavor—and it is no different with design science research (DSR), which builds upon existing design knowledge and creates new design knowledge to pass on to future projects. However, despite the vast, growing body of DSR contributions, scant evidence of the accumulation and evolution of design knowledge has been articulated in an organized DSR body of knowledge. Most contributions rather stand on their own feet than on the shoulders of giants, and this continues to limit how far we can see, curtailing the extent of the broader impacts that can be made through DSR. In this editorial, we aim at providing guidance on how to position design knowledge contributions in wider problem and solution spaces. We propose (1) a model conceptualizing design knowledge as a resilient relationship between problem and solution spaces, (2) a model that demonstrates how individual DSR projects consume and produce design knowledge, (3) a map to position a design knowledge contribution in problem and solution spaces, and (4) principles on how to use this map in a DSR project. We show how fellow researchers, readers, editors, and reviewers, as well as the IS community as a whole, can make use of these proposals, and also illustrate future research opportunities.
Domain-Driven Design: Tackling Complexity in the Heart of Software
Domain-Driven Design fills that need. This is not a book about specific technologies. It offers readers a systematic approach to domain-driven design, presenting an extensive set of design best ...

Convivial design heuristics for software systems
The theme of this workshop is the proliferation of ideas about calling into question the cultural roots of our current programming languages, and the search for alternative paradigms with other cultural bases.
Design System | TanStack
The TanStack Design System — living design tokens and components.

A Design Science Research Methodology for Expert Systems Development
The knowledge of design science research (DSR) can have applications for improving expert systems (ES) development research. Although significant progress of utilising DSR has been observed in particular information systems design – such as decision support systems (DSS) studies – only rare attempts can be found in the ES design literature. Therefore, the aim of this study is to investigate the use of DSR for ES design. First, we explore the ES development literature to reveal the presence of DSR as a research methodology. For this, we select relevant literature criteria and apply a qualitative content analysis in order to generate themes inductively to match the DSR components. Second, utilising the findings of the comparison, we determine a new DSR approach for designing a specific ES that is guided by another result – the findings of a content analysis of examination scripts in Mathematics. The specific ES artefact for a case demonstration is designed for addressing the requirement of a ‘wicked’ problem in that the key purpose is to assist human assessors when evaluating multi-step question (MSQ) solutions. It is anticipated that the proposed design knowledge, in terms of both problem class and functions of ES artefacts, will help ES designers and researchers to address similar issues for designing information system solutions.
Software Bonkers
I’m software bonkers: I can’t stop thinking about software. And I can’t stop building software.
Convivial Computing Salon #6: Convivial design heuristics for software systems
Why design systems are a single point of failure
Tools and techniques to prevent design system collapse

Designing for failure
Nobody starts a free-software project hoping that it will fail, so it is a rare project indeed [...]