Optimizely is a website optimization platform, providing A/B and multivariate testing. It enables users with and without technical expertise to make dynamic changes to their websites, test the variations to live traffic and gather immediate results.
Feature Management Software
What are Feature Management Tools?
Feature management tools are generally used by DevOps and Product teams to facilitate code releases, product experimentation, and feature rollout. Common feature management tools such as flags, toggles, and switches allow for the decoupling of code releases from feature deployments. This is done by adding flags to a feature, and adding targeting rules to control who will see that feature.
This enables DevOps teams that follow agile and CI/CD development methodologies to release more frequently and with reduced risk. Additionally, these tools give Product teams the ability to test the impact of a new feature with a subset of end users before full-scale deployment.
Common use cases for feature management software include:
Feature rollout management
Certain open source feature flagging tools may only be compatible with one or two programming languages. However, many paid feature management products offer compatibility with a wide range of languages. These languages include:
Test Driven Development
Feature flags enable a truly ‘test driven’ development process. Without the introduction of flags, new features or feature functionality would be released in totality to 100% of end users. This ‘all or nothing’ development approach involves long, ‘waterfall’ style periods of code development before a final release. One drawback to this approach is that it involves a certain degree of risk. If something goes wrong after a release, it can impact all end users, take time to fix, and damage the business.
With flags, feature functionality can be released in a state that is only visible to developers and testers. The feature flags act as a piece of conditional logic in the code that only ‘turns on’ new feature functionality if a user possesses certain attributes. For example, if that individual is an internal user, a ‘beta tester’, or on a ‘whitelist’ of users. This allows unfinished sections of code to be added incrementally to the production code and continually iterated upon.
Feature flags also help to break up releases of larger changes to ensure the system infrastructure can handle the full load. For example, they can be used to launch ‘Canary’ and ‘Blue/Green’ deployments of new features. At first, only a small percentage of users have access to the new product, and this percentage is gradually increased.
Granting Feature Access
One key capability of feature flags is the ability to manage entitlements based on user attributes. User segments can be granted access to features or feature functionality based on characteristics such as subscription type or demographic information. This can help give users a more personalized experience, such as premium plan members having early access to new features.
Another reason feature functionality may be granted or gated for certain users is to enable A/B or multivariate feature testing. Internal users, beta users, or whitelist users may be granted access to new features to run usability tests.
There is some overlap between feature management tools and A/B testing tools, such as content & style optimization and multivariate testing. However, using feature flags to A/B test gives the developer complete flexibility. This enables feature management tools to evaluate dynamic changes, such as sort orders or entire workflow overhauls. One trade-off that comes with using feature flags for A/B testing is that it is more time consuming for developers.
Certain products serve as both feature management and A/B testing tools. Some examples are:
Featured Management Software Features & CapabilitiesCommon feature flagging capabilities include:
Feature alerts: Alerts or messages get sent whenever there is a change in feature functionality or status.
Feature rollout management: Ability to control degree of rollout using whitelist, beta, and Canary deployment options.
Whitelist creation: Ability to create lists of external and/or internal users to test new software versions.
Product experimentation: Allows DevOps and Product team members to conduct tests on new feature functionality before deploying it to 100% of users.
A/B testing capability: Ability to compare performance and usability metrics for multiple variations of features or functionality before full-scale deployment.
Multivariate testing capability: Ability to test multiple variables, or changes, to features or feature functionality before full-scale deployment.
Entitlement management: Ability to control what types of users (e.g. premium plan members, beta users, internal users) have access to certain features or feature functionality.
KPI monitoring: Ability to track the performance of flagged features against key KPIs such as page load time, API response time, and support ticket count.
‘Kill switch’ capability: Ability to disable a feature at any point during its lifetime, without requiring a code release to revert the changes. Not all vendors offer this capability.
Paid versions of feature flagging software are typically priced along one or more of the following criteria:
Standard monthly subscription fee
Number of active monthly users who hit a feature flag
Number of internal users with access to the feature flag dashboard
Pricing for paid plans starts around $80 per month and can range up to thousands of dollars for enterprise level solutions. Most vendors also offer free trial periods for their paid products. There are also many, build-your-own style, open source options available for developers to use.
Feature Management Products
Listings (1-14 of 14)
Adobe Test and Target is an A/B, multi-variate testing platform which Adobe acquired as part of the Omniture platform in 2009. It is now part of the Adobe Marketing Cloud. It offers tight integration with Adobe analytics and content management products.
ConfigCat allows the user to launch new features and change software configuration without (re)deploying code. ConfigCat SDKs enable easy integration with any web, mobile or backend applications. The ConfigCat website enables non-developers too to switch ON/OFF application features or change soft...
LaunchDarkly provides a feature management platform that enables DevOps and Product teams to use feature flags at scale. This allows for greater collaboration among team members, and increased usability testing before full-scale feature deployment.
Feature Toggle (or FeatureToggle) is an open source feature management tool for .NET.
Split provides a feature flagging platform that separates code releases from feature deployment, allowing DevOps teams to test new features while still in production. Split offers compatibility with a wide range of programming languages and third party software integrations such as Slack and Jira...
Conductrics offers a feature management and A/B testing platform for marketing and DevOps teams. API features include flowlets and AI capabilities - including machine learning powered feature flagging recommendations.
Angular Feature Flags is an open source AngularJS feature management tool.
Feature Flags is an open source feature management tool for Ember.js.
Togglz is an open source feature flag tool for Java.
Django Waffle is an open source feature management tool for Django.
Gargoyle is an open source feature management tool for Django created by Disqus and maintained by YPlan.
FF4j (Feature Flipping for Java) is an open source feature management tool.
CloudBees Rollout is an enterprise-ready feature flag management solution, offering robust deployment rules, audience segmentation and an experimentation framework for controlling which audiences are exposed to what features. Feature flagging is a method to show or hide specific software features...