“Distributed” ER#7 now available!

No Comments

“Distributed” Early Release #7 is now publicly available, a Book Cover for Distributedmonth after ER#6 came out.

This ER#7 includes a significant reworking of the first section of this book. Some chapters were resequenced. Some were significantly trimmed – by over half! Some were split up, creating new chapters or merged with existing sections of other chapters later in the book. All slow, detailed work that I hope makes the book feel more focused. The format of all chapters throughout were slightly tweaked, and there are also plenty of across-the-board minor fixes.

You can buy ER#7 by clicking here, or clicking on the thumbnail of the book cover. Anyone who already bought any of the previous ERs should get prompted with a free update to ER#7 – if you don’t please let me know! And yes, you’ll get updated when ER#8 comes out.

Thanks again to everyone for their ongoing encouragement, proof-reading help and feedback so far – keep letting me know what you think. Each piece of great feedback makes me wonder how I missed such obvious errors before. And makes me happy, as each fix helps make this book better. It’s important this book be interesting, readable and practical – so if you have any comments, concerns, etc., please email me. Yes, I will read and reply to each email personally! To make sure that any feedback doesn’t get lost or caught in spam filters, please email comments to feedback at oduinn dot com. I track all feedback and review/edit/merge as fast as I can. And thank you to everyone who has already sent me feedback/opinions/corrections – all really helpful.

John.
=====
ps: For the curious, here is the current list of chapters and their status:

Chapter 1 The Real Cost of an Office – AVAILABLE
Chapter 2 Distributed Teams Are Not New – AVAILABLE
Chapter 3 Disaster Planning – AVAILABLE
Chapter 4 Diversity
Chapter 5 Organizational Pitfalls to Avoid – AVAILABLE
Chapter 6 Physical Setup – AVAILABLE
Chapter 7 Video Etiquette – AVAILABLE
Chapter 8 Own Your Calendar – AVAILABLE
Chapter 9 Meetings – AVAILABLE
Chapter 10 Meeting Moderator – AVAILABLE
Chapter 11 Single Source of Truth
Chapter 12 Email Etiquette – AVAILABLE
Chapter 13 Group Chat Etiquette – AVAILABLE
Chapter 14 Culture, Conflict and Trust
Chapter 15 One-on-Ones and Reviews – AVAILABLE
Chapter 16 Hiring, Onboarding, Firing, Reorgs,
Layoffs and other Departures – AVAILABLE
Chapter 17 Bring Humans Together – AVAILABLE
Chapter 18 Career Path – AVAILABLE
Chapter 19 Feed Your Soul – AVAILABLE
Chapter 20 Final Chapter
Appendix A The Bathroom Mirror Test – AVAILABLE
Appendix B How NOT to Work – AVAILABLE
Appendix C Further Reading – AVAILABLE
=====

“Distributed” ER#6 now available!

No Comments

“Distributed” Early Release #6 is now publicly available, just Book Cover for Distributed25 days after ER#5 came out.

Early Release #6 (ER#6) contains everything in ER#5 plus:
* Chapter15 was renamed from “Joining and Leaving” to “Hiring, Firing, Reorgs and Layoffs”. As you might guess, this chapter covers the various mechanics around joining and leaving a group or organization. Hopefully, this new title makes the intent of the chapter more clear!
* There are three new appendices – one on decision making with partial data, one on how not to behave in the office and one on further reading.
* The preface is finally coming together – I found this much trickier to write than I expected.
* Chapter1 got a significant restructure and trimming thanks to some great suggestions. And of course, there are plenty of across-the-board minor fixes and tweaks based on feedback and reviews.

At this time, 16 of 19 chapters are available – specifically, Chapters 1-9,11,12,14-18. I hope you enjoy them!

You can buy ER#6 by clicking here, or clicking on the thumbnail of the book cover. Anyone who already bought any of the previous ERs should get prompted with a free update to ER#6 – if you don’t please let me know! And yes, you’ll get updated when ER#7 comes out next month.

Thanks again to everyone for their ongoing encouragement, proof-reading help and feedback so far. I track all of them and review/edit/merge as fast as I can. To make sure that any feedback doesn’t get lost or caught in spam filters, please email comments to feedback at oduinn dot com.

John.
=====
ps: For the curious, here is the current list of chapters and their status:

Chapter 1: Distributed Teams Are Not New – AVAILABLE
Chapter 2: The Real Cost of an Office – AVAILABLE
Chapter 3: Disaster Planning – AVAILABLE
Chapter 4: Mindset – AVAILABLE
Chapter 5: Physical Setup – AVAILABLE
Chapter 6: Video Etiquette – AVAILABLE
Chapter 7: Own your calendar – AVAILABLE
Chapter 8: Meetings – AVAILABLE
Chapter 9: Meeting Moderator – AVAILABLE
Chapter 10: Single Source of Truth
Chapter 11: Email Etiquette – AVAILABLE
Chapter 12: Group Chat Etiquette – AVAILABLE
Chapter 13: Culture, Trust and Conflict
Chapter 14: One-on-Ones and Reviews – AVAILABLE
Chapter 15: Hiring, Firing, Reorgs and Layoffs – AVAILABLE
Chapter 16: Bring Humans Together – AVAILABLE
Chapter 17: Career path – AVAILABLE
Chapter 18: Feed your soul – AVAILABLE
Chapter 19: Final Chapter
Appendix A: The Bathroom Mirror Test – AVAILABLE
Appendix B: How NOT to Work – AVAILABLE
Appendix C: Further Reading – AVAILABLE
=====

Finding the tone and structure of “Distributed”

No Comments

As many of you know, I’m writing Book Cover for Distributedmy first book. While I just jumped in and start typing, people with a lot of experience in this area started asking me questions like: What is your writing tone? What is the book structure? Who is your intended audience?

Figuring out the answers to these questions felt even more daunting then the idea of “just” writing a book!

The book has evolved as I write and as I learned what was important to me in answering those original questions. Now that I’m into the swing of this, I thought it would be interesting to describe how I figured out the tone and structure of this book, and the logic behind those choices.

Over the years, I’ve bought many weighty management books that only get half-read before I give up, leaving them to gather dust with a bookmark somewhere in the middle. I wanted my book to be a book that I would make time to read. Not just a book by John for John – most people I worked with had similar time constraints. With a busy work life, an immediately helpful, practical, book felt important.

I kept these realities in mind and with a fresh set of eyes, went back looking at books I did and didn’t like. I studied how those authors structured their books and how their use of English changed the tone and feel of the book. I discovered some common patterns in terms of structure and language, which became important criteria for this book:

  • I use very casual, readable english throughout. No formal management or textbook english. Yes, I know enough pointy-haired-boss management words to play Dilbert Bingo, but I felt that language would only get in the way. I want this book to be something easy to read after a long tiring day at work, not a management-speak IQ test.
  • Each chapter is very short, typically 10-20 pages. Intentionally short enough to be read in one sitting in one evening after a busy day, over lunch or during a long commute!
  • Almost every chapter is self-contained, so if a reader has a specific pressing need, they can jump to that chapter for immediate practical help. If this happens often enough, hopefully they’ll keep the book close to hand.
  • Each chapter has simple, concrete, practical “takeaways” to put into use immediately to help make your life better today.

This book is designed so you should be able to just open a page on a specific topic you are dealing with today and just dive in. Having said that, if you are not sure where to start, the carefully chosen sequence of these chapters, and the way they are arranged in sections is a good default path:

  • Section One: Why are geo-distributed teams and organizations good for business, good for the economy and yes, good for humans? This section should help anyone justify building a distributed team/organization using cold, hard, financial business justifications – not just a touchy-feely “trust me, it makes people happy”.
  • Section Two: Most companies have day-to-day organizational inefficiencies that are so commonplace they are considered “normal” – or even worse “just the way it is”. This section details mechanical tips and tricks which make organizations more efficient. Becoming very, very crisply organized on those basic everyday mechanics improves efficiencies of an all-in-the-office team and make effective distributed teams possible.
  • Section Three: How do you handle the humanity in your distributed team? This section covers hirings, firings, one-on-ones, reviews, cultural issues and conflict. Also, some advice for long term “remote” workers on staying sane, healthy and planing a career path.

My first management job came with no training, so I had to make it up, learning as I went along. Same for each management role I’ve held since. This is true for most leaders I know. The lucky few got formal on-the-job training or mentors, but most don’t get any training until they’ve already been doing the job for a few years. Those initial years as a manager are formative and can shape what you perceive as possible in future management jobs.

It so happened, that my first job as a manager was in a company with people in multiple locations. Since then I’ve worked, as an engineer and leader, in many different geographically distributed companies. This book is coming together and I can honestly say I wish I’d had a book like this when I started.

John.
=====
As of now, the list of chapters is as follows:
Section1
* Chapter 1: Distributed Teams are Not New – AVAILABLE
* Chapter 2: The Real Cost of an Office – AVAILABLE
* Chapter 3: Disaster Planning – AVAILABLE
* Chapter 4: Mindset – AVAILABLE
Section2
* Chapter 5: Physical Setup – AVAILABLE
* Chapter 6: Video Etiquette – AVAILABLE
* Chapter 7: Own your calendar – AVAILABLE
* Chapter 8: Meetings – AVAILABLE
* Chapter 9: Meeting Moderator – AVAILABLE
* Chapter 10: Single Source of Truth
* Chapter 11: Email Etiquette – AVAILABLE
* Chapter 12: Group Chat Etiquette – AVAILABLE
Section3
* Chapter 13: Culture, Trust and Conflict
* Chapter 14: One-on-Ones and Reviews – AVAILABLE
* Chapter 15: Hiring, Firing, Reorgs and Layoffs – AVAILABLE
* Chapter 16: Bring Humans Together – AVAILABLE
* Chapter 17: Career path – AVAILABLE
* Chapter 18: Feed your soul – AVAILABLE
* Chapter 19: Final Chapter
Appendices
* Appendix A: The Bathroom Mirror Test – AVAILABLE
* Appendix B: How NOT to Work – AVAILABLE
* Appendix C: Further Reading – AVAILABLE
=====

“Distributed” ER#5 now available!

No Comments

“Distributed” Early Release #5 is now publicly available, just Book Cover for Distributed23 days after ER#4 came out.

Early Release #5 (ER#5) contains everything in ER#4 plus:
* Ch.12 group chat etiquette
* In Ch.2, the section on diversity was rewritten and enhanced by consolidating a few different passages that had been scattered across different chapters.
* Many tweaks/fixes to pre-existing Chapters.

You can buy ER#5 by clicking here, or clicking on the thumbnail of the book cover. Anyone who already has ER#1, ER#2, ER#3 or ER#4 should get prompted with a free update to ER#5 – if you don’t please let me know! And yes, you’ll get updated when ER#6 comes out later this month.

Thanks again to everyone for their ongoing encouragement, proof-reading help and feedback so far. I track all of them and review/edit/merge as fast as I can. To make sure that any feedback doesn’t get lost or caught in spam filters, please email comments to feedback at oduinn dot com.

Now time to brew more coffee and get back to typing!

John.
=====
ps: For the curious, here is the current list of chapters and their status:

Chapter 1: Remoties trend – AVAILABLE
Chapter 2: The real cost of an office – AVAILABLE
Chapter 3: Disaster Planning – AVAILABLE
Chapter 4: Mindset – AVAILABLE
Chapter 5: Physical Setup – AVAILABLE
Chapter 6: Video Etiquette – AVAILABLE
Chapter 7: Own your calendar – AVAILABLE
Chapter 8: Meetings – AVAILABLE
Chapter 9: Meeting Moderator – AVAILABLE
Chapter 10: Single Source of Truth
Chapter 11: Email Etiquette – AVAILABLE
Chapter 12: Group Chat Etiquette – AVAILABLE
Chapter 13: Culture, Trust and Conflict
Chapter 14: One-on-Ones and Reviews – AVAILABLE
Chapter 15: Joining and Leaving
Chapter 16: Bring Humans Together – AVAILABLE
Chapter 17: Career path – AVAILABLE
Chapter 18: Feed your soul – AVAILABLE
Chapter 19: Final Chapter

=====

“Distributed” ER#4 now available!

No Comments

Book Cover for DistributedTo start off the new year on a good note, “Distributed” Early Release #4 is now publicly available.

Early Release #4 (ER#4) adds five (yes, five!) new chapters:
* Ch.3 disaster planning
* Ch.5 physical setup
* Ch.6 video etiquette
* Ch.19 career path (around choosing the right employers)
* Ch.20 feed your soul (around mental sanity for long term “remoties”)
…as well as many tweaks/fixes to pre-existing Chapters.

You can buy ER#4 by clicking here, or clicking on the thumbnail of the book cover. ER#4 comes just over one month after ER#3. Anyone who already has ER#1, ER#2 or ER#3 should get prompted with a free update to ER#4 – if you don’t please let me know! And yes, you’ll get updated when ER#5 comes out at the end of the month.

As always, please let me know what you think of the book so far. Is there anything you found worked for you, as a “remotie” or person in a distributed team, which you wish you knew when you were starting? If you knew someone about to setup a distributed team, what would you like them to know before they started?

Thank you to everyone who’s already sent me feedback/opinions/corrections – I track all of them and review/edit/merge as fast as I can. To make sure that any feedback doesn’t get lost or caught in spam filters, please email comments to feedback at oduinn dot com.

Thanks again to everyone for their ongoing encouragement, proof-reading help and feedback so far.

Happy New Year!
John.
=====
ps: For the curious, here is the current list of chapters and their status:

Chapter 1: Remoties trend – AVAILABLE
Chapter 2: The real cost of an office – AVAILABLE
Chapter 3: Disaster Planning – AVAILABLE
Chapter 4: Mindset – AVAILABLE
Chapter 5: Physical Setup – AVAILABLE
Chapter 6: Video Etiquette – AVAILABLE
Chapter 7: Own your calendar – AVAILABLE
Chapter 8: Meetings – AVAILABLE
Chapter 9: Meeting Moderator – AVAILABLE
Chapter 10: Single Source of Truth
Chapter 11: Email Etiquette – AVAILABLE
Chapter 12: Group Chat Etiquette
Chapter 13: Culture, Trust and Conflict
Chapter 14: One-on-Ones and Reviews – AVAILABLE
Chapter 15: Joining and Leaving
Chapter 16: Bring Humans Together – AVAILABLE
Chapter 17: Career path – AVAILABLE
Chapter 18: Feed your soul – AVAILABLE
Chapter 19: Final Chapter

“Distributed” ER#3 now available!

No Comments

Book Cover for DistributedEarlier this week, just before the US Thanksgiving holidays, we shipped Early Release #3 for my “Distributed” book-in-progress.

Early Release #3 (ER#3) adds two new chapters: Ch.1 remoties trends, Ch.2 the real cost of an office, and many tweaks/fixes to the previous Chapters. There are now a total of 9 chapters available (1,2,4,6,7,8,10,13,15) arranged into three sections. These chapters were the inspiration for recent presentations and blog posts here, here and here.)

ER#3 comes one month after ER#2. You can buy ER#3 by clicking here, or clicking on the thumbnail of the book cover. Anyone who already has ER#1 or ER#2 should get prompted with a free update to ER#3. (If you don’t please let me know!). And yes, you’ll get updated when ER#4 comes out next month.

Please let me know what you think of the book so far. Your feedback get to help shape/scope the book! Is there anything I should add/edit/change? Anything you found worked for you, as a “remotie” or person in a distributed team, which you wish you knew when you were starting? If you were going to setup a distributed team today, what would you like to know before you started?

Thank you to everyone who’s already sent me feedback/opinions/corrections – all changes that are making the book better. I’m merging changes/fixes as fast as I can – some days are fixup days, some days are new writing days. All great to see coming together. To make sure that any feedback doesn’t get lost or caught in spam filters, it’s best to email a special email address (feedback at oduinn dot com) although feedback via twitter and linkedin works also. Thanks again to everyone for their encouragement, proof-reading help and feedback so far.

Now, it’s time to get back to typing. ER#4 is coming soon!

John.

“Distributed” Early Release #2 now available!

No Comments

Book Cover for DistributedLast week, we rolled out Early Release #2 for my “Distributed” book-in-progress.

EarlyRelease#2 (ER#2) adds two new chapters (Ch.12 one-on-ones and reviews; Ch.14 group socials and work-weeks). There are also a bunch of tweaks and fixes to the previous Chapters 1,5,6,7,9, including grouping related chapters into three sections.

This is one month after ER#1. You can buy ER#2 by clicking here, or clicking on the thumbnail of the book cover. Anyone who already bought ER#1 should get prompted to update to ER#2. (If you don’t please let me know!). And yes, you’ll get updated when ER#3 comes out. For added goodness with an Early Release, your feedback get to help shape/scope the book!

Please let me know what you think of the book so far. Is there anything I should add/edit/change? Anything you found worked for you, as a “remotie” or person in a distributed team, which you wish you knew when you were starting? If you were going to setup a distributed team today, what would you like to know before you started?

Thank you to everyone who’s already sent me feedback/opinions/corrections – all changes that I hope make the book better. To make sure that any feedback doesn’t get lost or caught in spam filters, it’s best to email a special email address (feedback at oduinn dot com) although feedback via twitter and linkedin works also. Thanks again to everyone for their encouragement, proof-reading help and feedback so far.

Now, it’s time to brew more coffee and get back to typing. ER#3 is only a few weeks away!

John.

“Distributed” presentation at Cultivate NYC

No Comments

I recently presented about distributed teams and remoties at Cultivate, NYC. The conference was held in the Javits center, in Manhattan, in the midst of the Strata/Hadoop NYC conference and was quite a crowd. The place is so large there were multiple pigeons flying around *inside* the building all week long!

After blogging and presenting about “remoties” and distributed teams for years, this was very different to anything I’ve presented before. I covered a lot of remotie / distributed team topics, including some new research I’m writing in my book.

The slides are here (or click the thumbnail image). I’ll post a copy of the recording once I have it.

Liza Daly, CTO at Safari already posted a great writeup about her presentation, and also on points in my presentation about meetings, so no need for me to repeat those here. Instead, you should read her post. I was encouraged to see that she and I are both tackling some of the same problems, in similar ways.

I’ll touch on three other points that got a lot of followup questions and discussions afterwards:

1) Remote/distributed teams are not a new phenomenon.

I believe humans have been able to work in distributed teams since we learned how to communicate. However, documentation *that* old is hard to find. Examples I *could* find were:

Almost 500 years ago (1519-1522), Magellan’s expedition sailed around the world. This project (“expedition to find spices”) started with “the boss” (The King of Spain) delegated full management authority to Magellan – empowering Magellan to execute staff if he saw fit (He did!) and even start wars on behalf of the King without first checking back to the King asking for approval (He did, which is how he died in battle in the Philippines). The King was being practical, not reckless. After all, it took them 3 years to sail around the world, discovering a new route as they went – so it was simply not practical to stop and wait while a message went back to HQ asking for the King’s permission to do something. To replace dead employees, Magellan “recruited” locals found on the way, training them on the job. Only a handful of the original 270 staff made it back home alive. Only 1 of the 5 original ships made it back home. By contrast, today’s navies are in constant contact with HQ, can request new supplies and trained staff to be quickly delivered anywhere in the world – and they need to ask permission from the boss before starting a war. This change in how they work is because of how they can communicate. Modern day submarines operate under different rules, again because of how they communicate.

Exactly 200 years ago was the Battle of Waterloo. On one day, 18 June 1815, the armies of France, England and Prussia converged for battle. These 191,000 men fought, and in one 24hour day, there were 65,000 dead/wounded/MIA. Using the best communication technologies available at the time, the generals would stand on hilltops overlooking the flat-ish battlefield, and send orders to soldiers across the battlefield by sending foot-messengers, waving flags and playing prearranged coded sequences of notes on their bugles. This scaled better than having all soldiers standing within earshot of the generals, but still had lots of limitations, not least of which was needing soldiers to hold battles in daytime, and difficulty coordinating work out of sight of each other. By contrast, modern soldiers have night vision equipment, as well as personal encrypted radios so they can communicate quickly and safely with coworkers, even if they are out of sight from each other, as well as “back to HQ” for supplies and reinforcements.

In each of these examples, the use of new communication tools radically changed how these organizations operate.

“Changing how we communicate lets us change how we work”(click to tweet)

Similarly, we have new communication tools in business. The ability to talk with people far away (telephone), the ability to write on a portable device (portable typewriter), and the ability to create moving pictures (reel-to-reel movie cameras) have gone from “expensive new technologies” to routinely included for free in each laptop and cellphone. Given the possibilities these new technologies allow, and their widespread availability, why do so many companies still arrange their organizations like this when their customers are global and look like this?

2) Hiring:

Literally everyone attending Cultivate NYC was hiring. Not one exception. And everyone was having a hard time hiring in today’s super-competitive environment. Yet, as best as I could see in the large hall, very few said “remote welcome” on the job description.

This is important because recent changes to society are also impacting how companies should recruit.

There are no more “hired for life” jobs, which makes people less willing to relocate for each job as they progress through their career. This year (2015) in the USA, there is a generational change, where the biggest segment of the workforce is now Millennials – people who grew up thinking streaming video on cellphones is “normal”! There is widespread broadband availability, making it possible to afford internet connectivity at home as-good-as-or-better than your connectivity at the office. Forrester estimated that in 2009, there were ~34million work-from-home people, and that by next year (2016), it will be ~63million people working from home… with the rate continuing to rise as broadband rollout continues.

To make matters worse for hiring managers, some qualified people who have the right skills won’t even apply for the job, simply because they know that if they got the job, they cannot accept it. That’s worth repeating. They have the skills, but they won’t even give you the chance to interview them, simply because if they got the job, they cannot reliably get to/from the office… so they don’t even apply. So, if you are a hiring manager, ask yourself:

Are you “Hiring the best person for the job”? Or are you “Hiring the best person for the job who is willing to relocate”?

If you want to “hire the best person for the job (regardless of where they live)”, then explicitly put “remote welcome” in your job description. This will let you hire better candidates, hire faster and give you a business advantage over your all-in-one-location competitors.

3) Disaster Planning

The week before Cultivate NYC, the Pope visited NYC. This caused NYPD to plan widespread street shutdowns for security during various site visits, prompting NYC Mayor de Blasio to encourage people to work from home for the week.

“If someone has the option to stay home, work from home, that’s a great choice…”. de Blasio, Mayor, NYC.

Similarly, while Hurricane Sandy in NYC caused death and destruction, many people were fine, simply stuck at home, unable to get to the office because subways was flooded. Their home was fine. Their office was fine. They just could not *get* to the office. And because their work habits assumed being in the office, they were unable to work effectively from home.

It’s one thing to work-from-home, on a part-time basis, choosing to specifically only do solo-work / focus-work. Instead, I asked people could they do their “normal job” (meetings, conference calls, pair-programming, escalations, interacting with co-workers, etc) while working from home? Most people actually cannot do this – because they are self-trained to go to office to do this in person. By contrast, experienced remote / distributed teams do this just fine – they are using cheap, familiar tools and crisp human processes which they practice daily.

I left everyone with a one day experiment: If you left this conference today, and went home with just the contents of your bag, could you do your normal job tomorrow (for just one day) if the office was unexpectedly closed tomorrow? If not, don’t worry – its just a one day experiment. Learn why, come into the office the next day, fix it, and try again the following week.

“We build fault tolerant systems. We need fault tolerant companies.”(click to tweet)

There were lots of note-taking throughout, and it was very exciting to see the wide-spread interest – at the conference as well as in the followup back-to-back meetings throughout the rest of the week.

John.
ps: I also want to give a shout out of thanks to Jason and Laurel for the thousand-and-one logistical details they worked through, literally all the time. Amazing to see.

The “Distributed” book-in-progress: Early Release#1 now available!

No Comments

My previous post described how O’Reilly does rapid releases, instead of waterfall-model releases, for book publishing. Since then, I’ve been working with the folks at O’Reilly to get the first milestone of my book ready.

As this is the first public deliverable of my first book, I had to learn a bunch of mechanics, asking questions and working through many, many details. Very time consuming, and all new-to-me, hence my recent silence. The level of detailed coordination is quite something – especially when you consider how many *other* books O’Reilly has in progress at the same time.

Book Cover for DistributedOne evening, while in the car to a social event with friends, I looked up the “not-yet-live” page to show to friends in the car – only to discover it was live. Eeeeek! People could now buy the 1st milestone drop of my book. Exciting, and scary, all at the same time. Hopefully, people like it, but what if they don’t? What if I missed an important typo in all the various proof-reading sessions? I barely slept at all that night.

In O’Reilly language, this drop is called “Early Release #1 (ER#1)”. Now that ER#1 is out, and I have learned a bunch about the release mechanics involved, the next milestone drop should be more routine. Which is good, because we’re doing these every month. Oh, and like software: anyone who buys ER#1 will be prompted to update when ER#2 is available later in Oct, and prompted again when ER#3 is available in Nov, and so on.

You can buy the book-in-progress by clicking here, or clicking on the thumbnail of the book cover. And please, do let me know what you think – Is there anything I should add/edit/change? Anything you found worked for you, as a “remotie” or person in a distributed team, which you wish you knew when you were starting? If you were going to setup a distributed team today, what would you like to know before you started?

To make sure that any feedback doesn’t get lost or caught in spam filters, I’ve setup a special email address (feedback at oduinn dot com) although I’ve already been surprised by feedback via twitter and linkedin. Thanks again to everyone for their encouragement, proof-reading help and feedback so far.

Now, it’s time to brew more coffee and get back to typing.

John.

A Release Engineer’s view on rapid releases of books

No Comments

As a release engineer, I’ve designed and built infrastructure for companies that used the waterfall-model and for companies that used a rapid release model. I’m now writing a book, so recently I have been looking at a very different industry through this same RelEng lens.

In days of old, here’s a simplistic description of what typically happened. Book authors would write their great masterpiece on their computer, in MSWord/Scrivener/emacs/typewriter/etc. Months (or years!) later, when the entire book was written, the author would deliver the “complete” draft masterpiece to the book company. Editors at the book company would then start reading from page1 and wade through the entire draft, making changes, fixing typos, looking for plot holes, etc. Sometimes they could make these corrections themselves, sometimes the changes required sending the manuscript back to the author to rewrite portions. Later, external reviewers would also provide feedback, causing even more changes. If all this took a long time, sometimes the author had to update the book with new developments to make sure the book would be up-to-date when it finally shipped. Tracking all these changes was detailed, time-pressured and chaotic work. Eventually, a book would finally go to press. You could reduce risk as well as simplify some printing and shipping logistics by having bookshops commit to pre-buy bulk quantities – but this required hiring a staff of sales reps selling the unwritten books in advance to bookstores before the books were fully written. Even so, you could still over/under estimate the future demand. And lets not forget that once people start reading the book, and deciding if they like it, you’ll get word-of-mouth, book reviews and bestseller-lists changing the demand unpredictably.

If people don’t like the book, you might have lots of copies of an unsellable book on your hands, which represents wasted paper and sunk costs. The book company is out-of-pocket for all the salaries and expenses from the outset, as well as the unwanted printed books and would hope to recover those expenses later from other more successful books. Similar to the Venture Capital business model, the profits from the successful books help recoup the losses from the other unprofitable books.

If people do like the book, and you have a runaway success, you can recoup the losses of the other books so long as you avoid being out-of-stock, which could cause people to lose interest in the book because of back order delays. Also, any errors missed in copy-editing and proofreading could potentially lead to legal exposure and/or forced destruction of all copies of printed books, causing further back order delays and unexpected costs. Two great examples are The Sinner’s Bible and the Penguin cook book.

This feels like the classic software development “waterfall” model.

By contrast, one advantage with the rapid release model is that you get quick feedback on the portions you have shipped so far, allowing you to revisit and quickly adjust/fix as needed… even while you are still working on completing and shipping the remaining portions. By the time you ship the last portion of the project, you’ve already adjusted and fixed a bunch of surprise gotchas found in the earlier chunks. By the time you ship your last portion, your overall project is much healthier and more usable. After all, for the already shipped portions, any problems discovered in real-world-use have already been fixed up. By comparison, a project where you write the same code for 18-24 months and then publish it all at the same time will have you dealing with all those adjustments/fixes for all the different chunks *at the same time*. Delivering smaller chunks helps keep you honest about whether you are still on schedule, or let you quickly see whether you are starting to slip the schedule.

The catch is that this rapid release requires sophisticated automation to make the act of shipping each chunk as quick, speedy and reliable as possible. It also requires dividing a project into chunks that can be shipped separately – which is not as easy to do as you might hope. Doing this well requires planning out the project carefully in small shippable chunks, so you can ship when each chunk is written, tested and ready for public consumption. APIs and contractual interfaces need to be understood and formalized. Dependencies between each chunk needs to figured out. Work estimates for writing and testing each module need to be guessed. A calendar schedule is put together. The list goes on and on… Aside: You probably should do this same level of planning also for waterfall model releases, but its easy to miss hidden dependencies or impact of schedule slips until the release date when everything was supposed to come together on the day.

So far, nothing new here to any release engineer reading this.

One of the (many) reasons I went with O’Reilly as the publisher for this book was their decision to invest in their infrastructure and process. O’Reilly borrowed a page from Release Engineers and invested in automation to switch their business from a waterfall model to a rapid release model. This change helps keep schedules realistic, as schedule slips can be spotted early. It helps get early feedback which helps ship a better final product, so the ratio of successful book vs unprofitable books should improve. It helps judge demand, which helps the final printing production planning to reduce cost wasting with less successful books, and to improve profits and timeliness for successful books. This capability is a real competitive advantage in a very competitive business market. This is an industry game changer.

When you know you want “rapid release for books”, you discover a lot of tools were already there, with a different name and slightly-different-use-cases. Recent technologies advances help make the rest possible. The overall project (“table of contents”). The breaking up of the overall project into chunks (“book chapters”). Delivering usable portions as they are ready (print on demand, electronic books + readers, online updates). Users (“readers”) who get the electronic versions will get update notices when newer versions become available. At O’Reilly, the process now looks like this:

Book authors and editors agree on a table of contents and an approximate ship date (write a project plan with scope) before signing contracts.

Book authors “write their text” (commit their changes) into a shared hosted repository, as they are writing throughout the writing creative process, not just at the end. This means that O’Reilly editors can see the state of the project as changes happen, not just when the author has finished the entire draft manuscript. It also means that O’Reilly reduces risk of catastrophic failure if an author’s laptop crashes, or is stolen without a backup.

A hosted automation system reads from the repository, validates the contents and then converts that source material into every electronic version of the book that will be shipped, including what is sent to the print-on-demand systems for generating the ink-on-paper versions. This is similar to how one source code revision is used to generate binaries for different deliverables – OSX, Windows, linux, iOS, Android,…

O’Reilly has all the automation and infrastructure you would expect from a professional-grade Release Engineering team. Access controls, hosted repos, hosted automation, status dashboards, tools to help you debug error messages, teams to help answer any support questions as well as maintain and improve the tools. Even a button that says “Build!”!!
The only difference is that the product shipped from the automation is a binary that you view in an e-reader (or send to a print-on-demand printing press), instead of a binary that you invoke to run as an application on your phone/desktop/server. With this mindset, and all this automation, it is no surprise that O’Reilly also does rapid releases of books, for the same reasons software companies do rapid releases. Very cool to see.

I’ve been thinking about this a lot recently because I’m now putting together my first “early release” of my book-in-progress. More info on the early release in the coming days when it is available. As a release engineer and first time author, I’ve found the entire process both totally natural and self-evident and at the same time a little odd and scary. I’d be very curious to hear what people think… both of the content of the actual book-in-progress, and also of this “rapid release of books” approach.

Meanwhile, it’s time to refill my coffee mug and get back to typing.

John.

Older Entries