The Nature of Software Development
My new and long-awaited book, The Nature of Software Development, is scheduled to come out in “Final Form”, including the paper version, in the first couple of weeks of January. Too late for the seasonal holiday of your choice, unless that’s maybe Valentine’s Day. My apologies.
Nonetheless, I hope it’ll be worth the wait.
This is an odd book …
“At last we know what it was like in the olden days, and why it is important to keep off people’s lawns.”
- A young reader
The book is easy to describe physically and hard to describe conceptually. It contains about sixteen prologues and introductions to set people’s expectations, and I’ll do a bit here as well.
Physically, the book is small, about 150 pages. It contains short chapters, generally with a hand-drawn picture every couple of pages.
The book has two parts, the first describing a software development philosophy driven from your understanding of the value the software should provide. It starts from a description of what I mean by value. (“Value is what you want.”) It then builds up from the bottom of the triangle, discussing each level, guiding the project, organizing, planning, and so on, until arriving at the top again.
The second part contains a series of more detailed chapters, addressing some of the questions that may come up from the first part. It talks more about value, says a bit about how hard this all is, some thoughts on building teams, some thoughts on the importance of technical skill and craft, and even presents a few thoughts on scaling.
This is not a programming book …
Nature is a very high-level description of how I see software development in what amounts to the “Agile” style. It’s not going to go into details like how to write your story cards, or how to write your tests.
For a beginner, the book is intended to frame their learning with some concepts. Think high-level executive overview, perhaps. For the experienced practitioner, it describes how I think about all this, with the hope that my view will help others expand their views. For the expert, I hope it will be useful to see how another old-timer looks at things, and to compare with one’s own model of our craft.
Reviews have been mostly quite positive, but there has been at least one beginner and at least one expert whose comments were of the form “huh?”. I hope that’s because they were expecting something quite different.
This is a color book …
There are lots and lots of pictures in the book, and I believe they add a lot to it, because you can think about the pictures as well as the words. For much of the book, the words and pictures take up about the same amount of space.
The book is certainly readable on my black and white Kindle but it is much more attractive and easy to understand when you can view the pictures in color. Accordingly, I recommend that you buy all forms, both digital and paper. :)
But seriously, be aware that color is important in this book, and govern yourself accordingly.
Watch for promotions …
“The Nature of Software Development” is just like spending a morning with Ron, only you don’t have to.
- Chet Hendrickson
Naturally, I hope you buy many copies of the book, at full price. I believe they will make excellent gifts for that hard-to-buy-for man, woman, child or pet that you know. In support of sales, in the new year, there will be some promotions, such as hand-signed suitable-for-framing prints of original art. (I’d do them hand-drawn on paper for you, but I can’t draw without undo.) You’ll be eligible for these promotions even if you have already bought the book.
Personally, I’m pleased with how it has turned out. Naturally, as with anything we make, it’s different from what I envisioned but it pleases me to hold it and look at it.
I hope it’ll please you as well.