SOLID Development Principles – In Motivational Pictures

I found the Motivator this morning. It lets you create your own motivational pictures. So, here’s my first run at creating the SOLID software development principles in motivational picture form. I ‘borrowed’ the images from google image search results. I hope you find them to be as fun as I do! I have them all hanging up in my team room, already. :)

(Update: I never expected the response to this post to be so great! There have been many inquiries about prints, high res versions, etc. As I said in the comments below, the source pictures that are linked via the thumbnails are all I have. There does appear to be some effort to produce high res versions, though. See the comments for more info!)


Update: Due to the continuous request for prints, posters, calendars, etc, we (LosTechies) are looking into what it would take to get these turned into high quality prints of various types. I don’t have any detail yet, but I am hoping to have some good info on this, fairly soon.


Update: Steve Smith and the NimblePros crew have created their own version of the posters, along with other principles, in a Calendar for 2011. Go get yours, here:



Software development is not a Jenga game.


(This one was created by Mark Nijhof’s. He posted it via twitter and I’m borrowing it for my own collection.)


Single Responsibility Principle

Just because you can, doesn’t mean you should.

Single Responsibility Principle 2

(Update: I knew I had seen this Swiss Army knife in a Single Responsibility post before. Gabriel reminded me where.)


Open Closed Principle

Open chest surgery is not needed when putting on a coat.

Open Closed Principle 2 

Liskov Substitution Principle

If it looks like a duck, quacks like a duck, but needs batteries – you probably have the wrong abstraction

Liskov Subtitution Principle

Interface Segregation Principle

You want me to plug this in, where?

Interface Segregation Principle

Dependency Inversion Principle

Would you solder a lamp directly to the electrical wiring in a wall?




Dependency Inversion Principle

Creative Commons License

There’s been a lot of request to re-use these images, so I’m going to release them under a Creative Commons license.

Creative Commons License 

SOLID Motivational Posters, by Derick Bailey, is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.

About Derick Bailey

Derick Bailey is an entrepreneur, problem solver (and creator? :P ), software developer, screecaster, writer, blogger, speaker and technology leader in central Texas (north of Austin). He runs - the amazingly awesome podcast audio hosting service that everyone should be using, and where he throws down the JavaScript gauntlets to get you up to speed. He has been a professional software developer since the late 90's, and has been writing code since the late 80's. Find me on twitter: @derickbailey, @mutedsolutions, @backbonejsclass Find me on the web: SignalLeaf, WatchMeCode, Kendo UI blog, MarionetteJS, My Github profile, On Google+.
This entry was posted in Principles and Patterns. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • Very nice! I especially like the ducks.

  • Excellent, I like the single responsibility image the best. It is the most Illuminating of the principle it represents

  • @Sean,

    ya – it’s hard finding pictures that really do show you what the principle is all about.

  • on the other hand, if I’m going camping, I don’t necessarily want unitaskers. I’d think about saving room by packing one (probably less extreme) swiss army knife.

    Ah analogies.

  • @Scott,

    Yeah. Isn’t it wonderful how analogies are often single directional, completely falling apart from the other direction? :)

  • Hah! I used a picture of that same knife when writing about YAGNI yesterday.

    Great pictures

  • Awesome pictures. Well done.

    Can’t decide on a favorite! Though, I do find the DIP one most illuminating. :D

  • DannyBhoy

    Fantastic! My favourite has to be the OCP. I’ve always found that one quite hard to get across… now I’m going to have this motivational pic close to hand at all times. :-)

  • Mat Roberts

    Love the Dependency Inversion Principle (that’s also the one I’m trying to learn at the moment)

  • Brilliant stuff. I’d buy a set…!

  • Man, these are bloody brilliant :D

  • Thanks Derick this post just made my morning. Great job. Please put posters up on the LosTechies mech table. I’ll take a set.

  • Wow! I never expected this kind of response from these. :)

    There have been several inquiries about using them and or getting prints, etc…. please feel free to copy, print or do whatever you wish with these! I wanted to share with the community so that others can use them for their own purposes.

    As for prints – the images that are linked are the original sizes / resolutions from the Motivator. I don’t have any higher resolutions. Sorry. I’ll have to think about creating some higher res versions… but don’t have any clue how long that would take me. Anyone else want to join in an effort on doing that? :)

  • The block one was the best. How about house of cards for spaghetti code?

  • @derick I”m definitely going to create a print version of the first one. I’ll let you know when I get it up!

  • Strongbad

    Hey dumpus, why don’t you take that single responsibility device and shove it in your eye.

    Sry, saw the strong sad avatar and couldn’t resist. :-D

    Very nice collection though.

  • @Justin I have a higher resolution image of the blocks that you can get from here:

  • matelot

    WTF is “Dependency Inversion Principle” ?

  • @matelot

    see the “SOLID software development principles” link at the beginning of the post. it has descriptions and examples of all the principles that are shown in these images.

  • I’m so like poster nr 2, just because you can, doesn’t mean you should

  • ZOMG

    Exactly what are they teaching at university computer science departments — or more precisely, what you learning there — if you think these bits of common sense are “brilliant”?

    “Software development is not a Jenga game.” — Not exactly Lao Tzu.

  • @ZOMG,

    Nothing. That’s the problem. Our universities don’t teach ANYTHING about the real world of software development. I hire college graduates from computer science and information systems schools quite regularly. My default assumption, after many many years of hiring college graduates, is that they know nothing of the real world. I have never been let down from this expectation.

    what you think is ‘common sense’ is not – not in software development, anyways. What is common sense in one industry (medical – hence the surgery poster; or electrical – hence the soldering wires poster) is not common sense in software development. I am devoting much of my career to correcting this poor situation.

  • Great posters!

  • Rick Minerich

    I wish I could buy them as a set

  • These are hilarious! I wonder how many will ‘get it’? :)

  • Excelent! Especially the” single responsibility principle” one

  • This is heuristics to the 9.6 out of 10

    Keep up the good work

  • FUNNY!!! but true. keep up the good work ;)

  • DIP. haha. solder a lamp directly in the wall. my cat pulls it off all the time :)

    This is funny but what can i say, motivating :) Thanks

  • dauchande

    Somebody needs to do something like this for the GoF patterns.

  • UUpThere

    Great work.

    May I suggest an alternative for the Open/Closed Principle: “Eating something different shouldn’t require open chest surgery.”

    This emphasizes the requirement that a member with an abstract (base) class parameter be able to process the parameter value regardless of type, avoiding runtime type inspection. The parameter is “food”; the actual type of the parameter is the kind of food. We should be able to eat all kinds of food without modifying our digestive system.

  • @derick.bailey Holy crap Derick, I missed this post when it was published (apology here). This is brilliant!

  • Well that solid developmental principles is really cool.  The images behind the principle are also great. Looking forward for more posts in here.

  • Lukasz Gintowt

    Awesome posters!

  • Unfit4TheInternet

    Lol, I love the note at the bottom about the posters being “licensed” under that creative commons license, but there’s no attribution for the photographers of the images the posters are based off of. Folks, just because you find an image on the interwebs doesn’t mean it’s yours to use as you wish.

  • Ramu

    Motivational Pics are very intresting …

  • Ramu

    All Motivational Pics are very intresting