We take a look at the definition of technical debt, its causes and types and how to manage it through the use of feature flags.
It’s easy to lose your way when building an Agile roadmap.
If you get too detailed with your planning, you end up building a roadmap that is Agile in name alone but looks more like a traditional Waterfall roadmap. But if you don’t perform enough planning, then you’ll produce a skeleton of a roadmap that sends you running in multiple directions without ever arriving anywhere meaningful.
No surprises here— the correct approach lies somewhere in the middle. You keep things loose, nimble, and iterative. But you also set a beacon that will guide each of your sprints to an impactful destination.
From our experience, one “beacon” that will keep your Agile product roadmap grounded, and your products moving in the right direction, is a simple function— the Feature Flag.
It isn’t fancy. It isn’t flashy. And it doesn’t look overly strategic. But if you use Feature Flags properly, then they will keep your Agile roadmap focused on the outcomes that matter most without forcing you down a fixed path. Here’s why.
First Principles: The Real Benefit of Agile Over Waterfall
It feels like a given these days: if you work as a Product Manager (especially in the tech sector) then you’re going to follow some kind of Agile methodology. Depending on your work history, you may never have worked with a Waterfall roadmap, let alone developed one, in your entire career.
If that’s the case, it might even feel confusing why Waterfall was ever developed. The methodology is slow. It’s rigid. It’s opaque. On the surface, it looks inferior to Agile in every way. But once you dig into it a little, there is one area where waterfall trumps Agile. Waterfall fits much snugger into a traditional corporate context than Agile.
We’re not talking about engineer-first corporations like the biggest tech companies. Those were founded by developers who embedded Agile into their DNA. We’re talking about the rest of the corporate world, the big legacy players in every industry whose IT departments created Waterfall in the first place.
Waterfall fits really well into that broader corporate world’s standard operating procedures. It collects business requirements in a standard one-off phase and then sets them in stone with a concrete project. It breaks that project into a clear, crisply defined plan. And finally, that project’s success will be defined by how well its leaders completed the milestones in the project’s plan, and if they delivered to the project’s requirements on-time and on-budget.
You see, Waterfall methodology isn’t really about trying to create the most effective, efficient, or accountable system. It’s about having the product developers and managers operate in a way that makes sense to a large, lumbering corporation.
A new approach—Agile— was only possible because it was developed outside of this legacy corporate context. Its founders were able to rethink the whole concept of what product management could look like if you removed engrained corporate procedures from the equation. And here’s what they came up with: Product management would deliver a greater impact if it stopped lining up to what a corporation wanted, and if it instead lined up to what actual real-world users want.
This is the real innovation of an Agile roadmap over a Waterfall roadmap. It isn’t the increased speed & efficiency that everyone fixates on. It’s the simple—but powerful—fact that an Agile roadmap re-aligns the product manager’s focus onto the user.
And most of Agile methodology’s core user-alignment activities occur during Feature Release Management and are brought to life by the right Feature Flags tool.
A Quick Caveat: Yes, Business Impact Still Matters in Agile
Before we move on, let’s make one point very clear.
When we say Waterfall aligns well to corporate context, we mean corporate operational context. But we don’t mean a Waterfall approach offers the best way to deliver results businesses. Most often, these big Waterfall projects deliver poor results because they can take months—or even years—between their initial requirements collection and their project’s completion. During this time, the project’s alignment, and even its viability to its users, often shifts, reducing its chances of producing any meaningful business impact.
By contrast, a properly developed and managed Agile roadmap will maintain alignment with its users throughout its entire lifecycle and deliver concrete, measurable, and accountable results. Feature release management, and Feature Flags, can also drive this tight connection between user-centered development and KPI improvement. We’ll get to how in just a minute.
Feature Release Management: The Heart of Any Effective Agile Roadmap
From a user-alignment perspective, feature releases are the key point that differentiates an Agile roadmap from a Waterfall roadmap.
Yes, Agile looks different than Waterfall in many areas of activity. Agile breaks development into sprints, and altogether makes their development cycles shorter, nimbler, and more responsive than Waterfall development cycles. But Agile development cycles still occur in a “cave.” The team still goes off on their own and produces their best idea of what their new solution should look like. There isn’t anything inherently more user-centered about an Agile development cycle than a Waterfall development cycle—feature releases come into play.
In Waterfall, new products and features are released fully formed, to all users at once, in a single big bang, after a very long development cycle. In an Agile roadmap, new products and features can be—and should be—released at a much faster rate.
This is the key functional difference that makes Agile more user-centered than Waterfall. Rapid and effective feature release management lets you:
- Keep your users top-of-mind at all times.
- Regularly collect your users’ data and feedback.
- Use up-to-date feedback to guide your development cycles.
- Repeat the cycle, to make sure you correctly enshrined user feedback in your next round of features and product updates.
If you want to keep your development user-centered, then feature release management is critical to effectively incorporate into your Agile product roadmap. Here’s how.
The 5 Key Elements to Include in Your Agile Release Planning
Let’s be clear— there are plenty of good pieces out there that can give you the technical ins-and-outs of how to structure feature release management into an Agile roadmap—what activities to include, how to sequence them, and how they should be scheduled within a larger plan.
We don’t want to cover well-trod ground. Instead, we want to keep our discussion focused on how to make sure each of your feature-releases remains as user-centered as possible. Here are the key elements to include in each of your feature releases that will turn them into a critical, recurring touchpoint between you and your users.
1. User Segmentation
At a basic level, you need to carefully select which user audiences you will first release (and test) new features and products to. At a deeper level, user segmentation can flow throughout every step of feature release management. You can personalize the experience of your new products and features to each segment you test them with. You try out different versions of each new product or feature with different segments. During testing, you can rapidly toggle features off for segments who are not responding well to them. And you can even guide the ongoing development of your products and features based on who loves them the most.
2. KPIs Measurement
However you measure product or feature success, you must quantify it, and measure those metrics—in real-time—during each release. Doing so serves two purposes. First, it gives you the ability to produce an accurate, objective measure about which products and features are succeeding with which segment (and whether or not you are actually improving their performance during each development sprint). Second, they let you demonstrate concrete, measurable, and accountable results for your business—to both report on the success of your most recent development, and to create meaningful justifications for more robust rollouts.
You need some formalized way to make decisions off the data that you produce. When do you toggle a feature on or off, and for who? When do you roll out the product or feature to new segments? When is a product or feature ready to deploy to your entire user community? To make these decisions, you must have established definitions for success (see “KPIs”), and defined procedures for monitoring and acting on release performance data both in real-time and during post-release recaps.
4. A/B Testing
We know, we know… you must have seen this one coming. Any time you are segmenting audiences, testing multiple variations on products and features, and collecting copious amounts of real-world user data, then you are setting the stage for multiple A/B tests. By performing comprehensive A/B tests during each of your feature releases, you will eliminate multiple developmental dead ends, and narrow the list of viable “next steps” for your next sprint.
If you incorporate these four elements, then your feature release management process will get pretty complex, pretty quickly. But if you select the right tool to automate as many of these elements—and their internal processes—as possible, then you can let go of most operational elements, and simply sit back during feature releases and focus on making informed decisions before, during, and after each of your releases.
It’s a lot to keep in mind, we know. But if you can bring each of these five elements into your feature release process, then you will ensure that each of these critical touchpoints brings you—and keeps you—as close as possible to your users.
And, thankfully, there is one single function that incorporates each of these elements and makes them a practical and effortless habit in your Agile roadmap— Feature Flags.
Bringing it All Home: Feature Flags
We’ll keep this pretty brief. Feature Flags let you do just one thing— toggle features on or off, with a single click on your dashboard, without having to adjust your codebase. They don’t sound like much, but buried in this simplicity is a lot of depth, and a lot of room to easily deliver on each of the above elements of user-centered feature release management.
With the right Feature Flag tool, you can:
- Perform sophisticated real-time control over which user segments get new products and features.
- Attach core KPIs to your releases and immediately kill products and features that are not performing, while immediately expanding the release of those that are knocking it out of the park.
- Monitor your results (and take action) in real-time.
- Easily manage and act on a complex A/B tests.
- Bundle Feature Flags in with a complete suite of feature release functionality to wrap the whole exercise up in a single, highly-automated platform.
We kept each of these functions in mind when we built our own Feature Flag function, and release management platform— Flagship. If you’d like to take it for a test run and see how easy you can incorporate the core actions of Feature Flagging, feature release management, and user-centered Agile product management into your roadmap, drop us a line!