HCI principles and APOSD

30 views
Skip to first unread message

Michael Livesey

unread,
Jan 5, 2026, 4:59:08 PM (10 days ago) Jan 5
to software-d...@googlegroups.com
Hi John,

I enjoyed your book - A Philosophy of Software Design - immensely. It is a much needed counterpoise to all those books that espouse patterns, or should that be anti-patterns, to an almost cultish degree - e.g. Clean Code, Clean Architecture, EXtreme Programming EXplained etc.

Having mentored many dozens of developers over a decade, and having observed time-and-again the damage caused by "Clean Code", I have been pondering the root cause of the problem in our industry for a while.

I think many of the philosophies that you explore in your book are themes on HCI principles - Human Computer Interaction. Shallow vs Deep methods, commenting code, information hiding, better together versus better apart - they map very closely to affordances, Fitts' law, Hick's law, Power Law of Practice, Shneiderman’s Eight Golden Rules (rule 5 on errors - don't punish the user), and many others.

I came to the conclusion some years ago that good software design was really rooted in the concept that software engineers are as much users of the software as the end user. If we reduce the amount of jumping around the code - targeting (Fitts' law) - and bring all the ways an interface can interact into one place (affordances) it reduces the complexity of the system and increase its maintainability.

I've given workshops on these themes regularly to my teams, having seen time and again SOLID principles fail to deliver clarity, and "Clean Code" obliterate it. Similar to yourself I have written ~250,000 line of code, but I've also been an assistant editor, and a lawyer in the past, and perhaps those non-engineering principle should guide software engineers more rather than the focus on technical tools we often see in Computer Science degrees.

Kind regards

Michael Livesey LLB BSc MBCS
Reply all
Reply to author
Forward
0 new messages