Understanding the 4 Rules of Simple Design - My Book

April 6, 2014

So, I wrote a book called Understanding the 4 Rules of Simple Design! Huzzah! It has been a long time coming, for sure. Here’s a bit more information about it, as well as some feedback from readers. I’ve also created a free downloadable sample to get a taste of it.

I’m donating 10% of the profits to support kids-oriented programming events. I already have funds earmarked to support a local Girls Who Code program here in Chicago.

The only thing we truly know about the act of building software is that we are going to be faced with change. It is inevitable. As we gain more knowledge about our domain and our use cases, we will have to change our software. This book is about how to survive in the face of this fact.

At coderetreat workshops, we focus on practicing fundamental software development techniques, such as test-driven development, iterative design and pair-programming. Over the past five years of facilitating these workshops, I’ve come to a realization that simple design, the idea of writing maintainable code that facilitates the inevitable change, is the key. The 4 Rules of Simple Design, originally codified by Kent Beck in the late 90s, are a fantastic starting point to building flexible codebases.

In Understanding the 4 Rules of Simple Design, we look at small, focused examples of applying these rules. While the backdrop is Conway’s Game of Life (the domain used at coderetreat workshops), you won’t need any background in it. Never been to a coderetreat? That isn’t a problem either, I don’t make any assumptions that you have.

On the fence? Check out some of the early feedback from the book.

Bart Bakker wrote a great review with personal thoughts on it.

Richard Dalton wrote a nice review of Understanding the 4 Rules of Simple Design.

Ian Whitney, after reading the book, wrote a post about experimenting with the idea of using declarative builder methods instead of the default initializer.

Erik Olsen, a beginner developer out of Dev Bootcamp, wrote about his thoughts after reading it.

The backdrop & common example of Conway's Game of Life extends perfectly from code retreat to book in https://t.co/nYdv26LBNp

— Chad Fowler (@chadfowler) March 31, 2014

Quite liked how @coreyhaines managed to recycle and exemplify old XP lessons in his book https://t.co/RaGKpM9zCK

— Ivan Sanchez (@s4nchez) March 31, 2014

Behavior Attractors is a concept I've never been able to put a name on before. Well thought @coreyhaines, nice book! https://t.co/yoQ5CnlyyR

— Jni (@jni_viens) March 31, 2014

Several AHA moments with great @coreyhaines 'Understanding the Four Rules of Simple Design',just 1 fail:too short ;-)http://t.co/utauy4Idsr

— amisai (@amisai) April 2, 2014

Still not convinced? Here are some more happy readers!!

@coreyhaines So far, so good. Probably my best experience with self-published books: quick execution, high-quality content, & cool cover.

— Benjamin Fleischer (@hazula) March 31, 2014

Finished @coreyhaines book this morning. Going to read it again. It's good. It doesn't ask for a lot of your time or money and it delivers.

— Richard Dalton (@richardadalton) April 2, 2014

@coreyhaines really enjoyed the book, it's right up there with @avdi & @sandimetz ; )

— Gerhard Lazu (@gerhardlazu) April 2, 2014

Just finished @coreyhaines' 4 rules of simple design, feeling an intense desire on learn and practice more. You should totally read it! :)

— Manuel Mujica (@m_mujica) April 2, 2014

Finished @coreyhaines’s Four Rules of Simple Design book (not sure how it snuck ahead of the queue). Short, but full of great advice.

— Kerry Buckley (@kerryb) April 3, 2014

I’m super excited about this book, so please check out Understanding the 4 Rules of Simple Design.

Thanks to Sarah Gray for proof-reading this post.

I'm a developer. I post pictures of cats on twitter.