Un interesante comentario en Hard Werken de (via rebelutionary) sobre el diseño de software:
Probably the most time I spend on a project deals with semantics. While many folks claim that design or architecture should take the highest priority, I’ve found that without valid semantics and a clear mental model of what you’re truly trying to solve, no amount of design can produce a useful product.
Semantics, in my book, does cover abstraction. There is a trick I use while designing. If I cannot come up with a clear, simple name for a class or method, I probably have a bad design. Confusing names are a sign of a confusing design.
Lo que me ha hecho pensar.
Posteriormente, Charles Miller en The Desktop Fishbowl amplia la idea para encajar también las metáforas de sistema, para ayudar a acotar, definir adecuadamente el proyecto y elegir buenos nombres:
Also, the metaphor helped a lot with scoping the project. Once you understand a project in terms of something real and simple to understand (like a courier), you could realise that some features that were on the list would never be used (because nobody would ask their courier to do that), or that some things that weren’t on the list were vital.
Más cosas en las que pensar.