thoughts-design

i think that certain things, like programming architecture design, sometimes benefit from being somewhat coherent and minimalist, as opposed to 'design by committee' compromises. The received wisdom is that this can usually only be achieved when there is one person (or maybe 2 or 3 people) . I think this is partly because you need to make harsh simplifying decisions rather than compromises, and partly because design thinking is best done inside one person's brain, and second-best in a discussion between two or three people, but cannot be done well in large group discussion.

--

there is a part of design which is is an alternating contraction and expansion (this thought is mostly thanks to Kurt Laitner). As in, expand to add in all sorts of cool ideas, then contract to try and combine many ideas into one general idea, and eliminate less important ideas.

there is also an interplay between goals and features. You might start off with goals (i want something with the properties X, Y, and Z), or with features (gee, aren't A, B, and C cool ideas, let's make something with all three of them), but often you bounce back and forth between them iteratively (e.g. ok, what features can accomplish goals X, Y, and Z? Maybe D and E can. What other goals do D and E help with? Also goals V and W. What other features help with V and W? etc) (or, e.g., Okay, why is it that something with features A, B, and C would be cool? Because it would accomplish goals S and T. What other features can accomplish S and T? etc)