Tolerances

I’d say to avoid having the same person coding the project design the project, because they’ll compromise the design to make it easier to develop… unless they’re a saint. I was certainly never a saint when I had to wear both hats. If you can’t avoid that, avoid thinking about the implementation while you design. Imagine somebody else is doing all the hard work and it’s your job to make the user experience as wonderful as possible.

I’m no saint, but I am exactly the opposite. When I know someone else will have to do the code up the hairy bits, I make the interface simpler because I often don’t trust they’ll get it right. When I’m doing the coding, I design something that pushes my development skill to the absolute limit. After all, I know what I can do and I’m only inconveniencing myself. Where do you fall?