Early Access: Feature Flags - From Concept To Cultural Revolution
Almost 3-months ago, I announced that I was writing a book on Feature Flags. This morning, I'm thrilled to announce that I have an early access version available for purchase. This is a PDF version; and, the formatting is a bit rough around the edges. But, the content is all there. And, if you pick-up the book now (at a deep discount), you'll automatically get access to future versions.
You can read several of the early chapters on the site for free; and, a few paragraphs from each subsequent chapter as well. I've tried to pour everything that I've learned about Feature Flags over the last 7-years into this book. Feature flags are magical; and, I only hope that I can inspire other people to start using them.
Here's the list of chapters that I finally came up with (which is slightly different than the original conception):
- Caveat Emptor
- Of Outages And Incidents
- The Status Quo
- Feature Flags, An Introduction
- Key Terms and Concepts
- Going Deep on Feature Flag Targeting
- The User Experience (UX) of Feature Flag Targeting
- Types of Feature Flags
- Life-Cycle of a Feature Flag
- Use Cases
- Server-Side vs. Client-Side
- Bridging the Sophistication Gap
- Life Without Automated Testing
- Ownership Boundaries
- The Hidden Cost of Feature Flags
- Not Everything Can Be Feature Flagged
- Build vs. Buy
- Track Actions, Not Feature Flag State
- Logs, Metrics, and Feature Flags
- A Cultural Revolution
- People Like Us Do Things Like This
- Building Inclusive Products
- An Opinionated Guide to Pull Requests (PRs)
- Removing the Cost of Context Switching
- Measuring Team Productivity
- Increasing Agility With Dynamic Code
- Product Release vs. Marketing Release
- Getting From No to Yes
- What If I Can Only Deploy Every 2-Weeks?
- I Eat, I Sleep, I Feature Flag
- About The Author
The book is split into two conceptual halves: technical aspects and cultural impact. The first half goes into what feature flags are, how they work (mechanically), and how they change the way you think about organization your code / projects. The second half explores all the ways in which feature flags impact the EPD (Engineering, Product, and Design) culture.
The first half provides a great deal of value; and, if you only read the first half, it will be well worth your time. But, the full magic of feature flags is unlocked when you use feature flags to change the way you operate as a team. This extends beyond engineers, and impacts both cross-team communication and customer-facing communication.
I'm hoping to have the final version (ePub and Mobi) available in the next few weeks. I just need to figure out how pandoc works. And, I need to figure how to best position "figures" so I don't get large blank spots on pages.
All feedback about the book is welcome!
And, oh man, I cannot wait to get back to regular blogging! Writing a book was such a completely different type of activity. Rewarding; but, utterly draining. Thank you all for putting up with the very low volume of blogging these last 3-months. You are all wonderful!
Reader Comments
Got your book, Ben. I enjoyed what I'm seeing so far. I was surprised you opted for CFML examples.
It shouldn't be a big deal, but consider a note about arrays starting with 1 rather than 0 which might come up in an example or two causing the reader to be confused.
Also consider mentioning CFML is the language used for examples since some of my colleagues that I'd recommend this book to have never even seen CFML.
@Justin,
I'm glad you're enjoying the book so far. The example stuff is tough - at the end of the day, I needed to pick something; and, I feel like CFML has a low degree of "ceremony" in the code. And, the stuff it does have, like
required numeric
and<cfif>
I think is preatty reasonable in terms of intuitiveness. But, of course, I am biased after many years of writing it.One thing I could try to do is actually remove even more of the ceremony and just call it "pseudo code". But, I also need to have something that I can run on my end to make sure what I have isn't entirely wrong 😆
As I'm finalizing the book, I'll try to find ways to make the code more simple. And, you're right - probably a good idea to at least have a note about the language choice (and the arrays 😉).
There is always python!
Post A Comment — ❤️ I'd Love To Hear From You! ❤️
Post a Comment →