What is software feature management?

We need to look at software feature management and define the term.

But first, some context is needed to understand what kind of companies are operating in this space.

CloudBees describes itself as an enterprise DevOps leader — but is there a home user hobbyist and amateur version of DevOps hiding somewhere?

Perhaps CloudBees should stick to calling itself a Continuous Integration (CI) & Continuous Delivery (CD) company.

There’s no ambiguity there now, is there?

Regardless of corporate spin and messaging then, what’s happening in the Continuous Software Delivery Management System (CSSDM – not a real term, but let’s use it anyway) right now?

Straight outta the CloudBees new hive this month is the firm’s acquisition of Rollout, a secure ‘feature management’ company focused on developers.

So what is the feature management function and how does it fit into developers’ lives?

What is software feature management?

To define the practice itself, we can say that feature management a code release methodology designed to facilitate experimentation and trial Proof of Concept (PoC) augmentations and enhancements to existing(and in some cases new)  software application code bases. Used extensively by DevOps teams, software architects and programmer/developers of all sub-disciplines, software feature management makes use of so-called ‘flags’, ‘switches’ and ‘toggles’ which serve to decouple new features from the main code base release — specific test users are targetted to trial new features using a system of targetting rules, so that only those users will be able to see use that new feature. Flags alert users that a new feature has been added, switches and toggles (sometimes also called flippers, or conditional features) turn that feature on or off depending on its success and adoption.

Software feature management is clearly a key advantage for Continuous Integration (CI) & Continuous Delivery (CD) – that is, when software is moving fast, it allows us to separate code deployments from feature releases.

In theory, at least, this allows customer [user] relationships to enhanced by safely testing features in production environments, gathering valuable feedback and releasing new and improved features continuously.

Big-bang-or-bust

Back to CloudBees, the company argues that an increased number of incremental feature releases enables fast and early learning. This helps speed up feature adoption and ultimately helps organisations to avoid the ‘big-bang-or-bust’ infrequent feature release syndrome.

According to Sacha Labourey, CEO and co-founder of CloudBees,The acquisition of Rollout gives CloudBees customers the flexibility to decouple features from software versions. Using Rollout on their trusted enterprise platform allows developers to test and merge changes with more confidence than ever before.”

According to Forrester, experimentation platforms let teams test out minimum viable products (MVPs) in real-world scenarios with precise control.

“Feature flags let teams develop code as they normally would, allowing them to version control, test and deploy the same as always. However, feature flags give those teams complete control of when to expose a particular feature to users, allowing administrators to turn it on and off at the flip of a switch,” noted the analyst house.

CloudBees says that continuous release feature drip is the hallmark of successful continuous software delivery. Who knew anything drippy could be so cool?

< class="wp-caption-text">Image: CloudBees Rollout