How to explain why design choices are good?

Posted by Telastyn on Programmers See other posts from Programmers or by Telastyn
Published on 2012-09-24T23:00:21Z Indexed on 2012/09/25 3:49 UTC
Read the original article Hit count: 324

Filed under:
|
|

As I've become a better developer, I find that much of my design skill comes more from intuition than mechanical analysis. This is great. It lets me read code and get a feel for it quicker. It lets me translate designs between languages and abstractions much easier. And it let's me get stuff done faster.

The downside is that I find it harder to explain to teammates (and worse, management) why a particular design is advantageous; especially teammates that are behind the times on best practices. "This design is more testable!" or "You should favor composition over inheritance." go right over their heads, and lead into the rabbit hole of me trying to clue everyone in to the last decade of software engineering advances.

I'll get better at it with practice of course, but in the mean time it involves a lot of wasted time and/or bad design (that will lead to wasted time fixing it later). How can I better explain why a certain design is superior, when the benefits aren't completely obvious to the audience?

© Programmers or respective owner

Related posts about design

Related posts about learning