4 min read
The Twelve-Factor App methodology describes treating backing resources as “attached resources”, so how do you ensure connectivity to FeatureBoard is...
Recently, Arkahna launched FeatureBoard, our fresh take on Feature Management aimed at reducing the complexity of your software while giving you more flexibility.
There are 3 main areas we would like to touch on today:
Environments, for example development, staging and production.
Audiences, such as premium and basic plans, but also contextual, such as “what is in the shopping basket”.
Use cases. Who is FeatureBoard right for. Spoiler: pretty much any kind of project 😉
Our goal with FeatureBoard was to make feature management accessible for all companies and users, no matter how familiar you are with the practice, while still supporting very advanced use cases.
The first challenge we wanted to tackle was Environments.
Environments are an important part of many companies' development lifecycle, as it allows you to test changes in less critical environments then promote through towards production. One aspect of feature management is to allow incomplete or untested features to be turned off in production, or rolled out to a small group of users to reduce risk.
This practice allows you to separate deployments from releases, reducing risk and enabling your development teams to ship smaller increments into production more often which greatly reduces risk. We will write more about this in a future blog post.
In FeatureBoard you configure features, not environments, and you simply enable feature targeting for an environment. This means that when you configure and test that your Professional plan has a certain feature enabled in your Development environment, that it will behave the same in production. This choice means you never have to diff the configuration between environments and sync changes between them!
FeatureBoard redefines the way features are rolled out and managed through a dynamic and flexible concept called 'audiences'. An 'audience' is a predefined group or context that allows for targeted feature releases and experiences. This segmentation is crucial for delivering the right features to the right users at the right time.
Audience Definition: Before deploying any feature, you define your audiences based on various criteria. This can include:
Subscription Plans: Differentiating features between Basic and Pro plan users.
Release Groups: Catering to users who prefer early access (Early group) versus those who opt for more stable versions (Stable group).
User Demographics: Customising experiences for unique user types like children or those celebrating birthdays.
Subscription Status: Addressing specific needs of users whose subscriptions are due soon or overdue.
Roles: Providing tailored functionalities for different roles, such as Readers or Writers.
Contextual Targeting: Beyond user characteristics, our product excels in contextual targeting. This means features can be toggled based on real-time contexts, like:
Playing Song Tags: Let’s say you are building a Spotify client, feature availability can change based on the tags of the currently playing song, offering a deeply personalised experience.
Time-Based Context: Features can change based on the time of day or week. For example, a productivity app might offer different functionalities during work hours versus evenings or weekends.
Ubiquitous Language Across the Board: By adopting a standard set of terms for audience segments, there's less room for ambiguity. Whether it’s product managers, developers, or marketing teams, everyone speaks the same language, leading to more efficient planning and execution.
User-Centric Approach: Ultimately, this system allows for a more user-centric approach to feature deployment. By understanding and segmenting your user base into distinct audiences, you can ensure that each user gets a feature set that's most relevant to them, enhancing satisfaction and engagement.
Simplified Management and Deployment: With a universally understood segmentation system, managing and deploying features becomes more streamlined. It reduces misunderstandings and accelerates decision-making processes, resulting in a more agile and responsive feature rollout.
Finally let’s explore some practical use cases where feature management, especially with audience segmentation, can be incredibly beneficial. This helps to illustrate the versatility and necessity of the concept in different business scenarios.
Startups and scale-ups
When starting to build your products you need to focus on differentiators. FeatureBoard’s audience structure can make it easy for you to implement your first role-based access control, plan management and other key features which you need to get right. For a startup with limited resources, not only can you save a ton of time managing your features, but you can also distribute the load of managing features, as anyone from development to sales to business management can participate.
Media and entertainment
Media and entertainment websites need to serve lots of traffic while keeping the cost per page load down, which makes caching very important. FeatureBoard’s approach enables feature management and even A/B testing without reducing the effectiveness of your caches. By segmenting the audience based on properties rather than individuals, FeatureBoard can scale with you without increasing how much your site costs to run!
Online retailers can use feature toggling to personalise shopping experiences. For instance, offering exclusive features or discounts to VIP customers. This is simple to set up, and you can have as many features managed this way as you need. The ease of setup and flexibility in managing numerous features simultaneously allows e-commerce platforms to dynamically respond to market trends and customer behaviours, turning feature management into a powerful tool for business growth.
Software as a Service companies can benefit immensely from feature toggling by offering different feature sets to different subscription tiers, enabling beta features for specific users, and enabling sales to customise Enterprise plans per customers in a manageable way. It is also super simple to start with FeatureBoard, integrating directly with your Microsoft Azure environment. Give yourself the flexibility to manage whatever plans and configuration you need, without creating a maintenance nightmare with collections of grandfathered plans.
This is just the start, we will have a heap of blog posts showing FeatureBoard off coming very soon.
Check it out at FeatureBoard