Russ Miles: What not to write about in a real software development book

By Caitrin McCullough
January 22, 2008 | Comments: 2

Here's our first entry by Head First Software Development author Russ Miles. Enjoy!

russ_icon.png Ok, so this is my first post to the Head First blogs (which is a fantastic honor) and, continuing on from Mike's great posts a couple of weeks back, I'd like to lift the lid on one of the hardest things Dan and I encountered when writing Head First Software Development, and I call it "dropping our illusions".

No, this wasn't getting our code debugged correctly, or even making sure our numbers were spot on (although both of those jobs were hard, we admit), it was actually avoiding the quagmire that is "labeling your process".

The temptation when writing a book on software development is to go off on a journey through the different processes and brands that existing in today's development landscape. After all, that's what all the other books tend to do, and at first we fell into that trap as well. Following this approach we ended up in a perpetual state of apology, where in one sentence we would talk about an agile-like practice (and apologize to RUP people), and then in the next sentence we'd talk about something that is more formal and end up apologizing to the agile folks. Trying to keep everyone happy, things were heading for a real mess, we needed to get a grip and that grip came (in the shape of Brett and a few of the other members of the HF family)...

Ultimately Head First books are all about teaching what works, in a fun and compelling way, and not being encyclopedic tombs. However, by treading the fence between the different labelled software development processes we were making things very hard for ourselves and losing the plot... it was time for an epiphany...

And then we got one (well, several actually, but that's what the Head First book development process is like, one strike of lightning after another, it's a lot of fun!). We decided not to label our process and instead focus on what works. This was the turning point for HF SD, and with that one decisions the ideas really started to flow...

Dropping our illusions on what was 'agile' or 'RUP', or 'waterfall' for that matter, was the first step down a road to what we really wanted the book to be. By getting rid of some baggage we could concentrate on practices that work, not providing full and complete documentation on a particular 'brand' of software development process. It was like throwing off the shackles and instead of saying "you could do this", we started saying "this is what works for me".

So we hope you enjoy what we came up with, and the lesson for any aspiring Head First author is a simple one. Dropping our illusions and prejudices has made HFSD packed with really useful tips, tricks, best practices and tools to make your software development life easier, period. We make absolutely no apologies for not being firmly "agile" or "RUP/formal" on anything, we're about using a process that works and delivers great software. After all isn't that was writing software is all about?


Comments: 2

Well said.

Very nice book.
I didn't miss the labels at all. The methods you describe in the book are well thought out. I can't wait to try them out and see how well they work for me.
I have been using very similar ideas, but didn't have it all fitting together as nicely as you have in the book.

Leave a comment


Type the characters you see in the picture above.


RSS Feed

Twitter

Facebook


Looking for source files, code, exercise answers, and other materials to go along with your Head First book? Go to this page, find your book on the list, and click on the title.

Get The Latest Head First Tweets!

Get the latest Head First books here!

Head First Algebra Cover Head First PHP & MySQL Cover
Head First Rails Cover Head First Web Design Cover

Head First Algebra, Head First PHP & MySQL, Head First Rails, and Head First Web Design are now available.

Buy 2 Books, Get the 3rd FREE! Use the discount code OPC10 when you buy direct from O'Reilly.