Use Cases of Feature Flags- Nonfig

How To Utilize Feature Flags In Your Software Application

What are Feature Flags?

Many modern-day teams use the powerful tool of feature flags to modify a system’s behavior. Feature flags is an outcome-driven development, it helps developers to develop and deliver features speedily and continuously. Moreover, product managers and owners can independently experiment and get feedback on feature delivery. You can learn more about Feature Flags here

Feature Flag-Driven Development

Feature flags facilitates not only developer and operations teams, but also to product and marketing teams. Your developer and operations teams can deploy code whenever they want and on the other side, product and marketing teams can decide when to share the deployed feature. The product managers can use Nonfig to test features, set up user targeting rules and turn features on or off.

Canary Releases

Canary releases also known as Canary testing is a use case of feature flags that allow you to test a new feature on limited users to test how it performs. By canary testing, you can start with a smaller percentage and can gradually go for 100% users. And, if the feature doesn’t perform well you can roll back or turn it off. The feature allows you to measure the indicators of danger and success.

Mitigating the Risks with Feature Flags

Coordination is the key when it comes to calendar-driven releases. Features flags eliminates some of the pressure related to time-sensitive launches by separating the code deployment from future releases. Moreover, Nonfig facilitate the non-tech people to easily beta test and roll out new features.

Test and Release

When it comes to testing, every team wants to test on users instead of mock environment, so that, they can collect the feedback of users and improve the features. Using Nonfig, teams can release a specific percentage of features to slowly expose new features, and in case of misbehaving features, they can simply turn off the feature without having to roll code back. Using feature flags with Nonfig, teams can safely test their features on real users collecting some productive feedback from users.

Kill Switch

Usually, when a feature misbehaves, the technical team has to immediately roll it back to undo the feature. Using features flags, you can simply turn off that features using the Kill Switch. Even the managers with non-technical background can easily turn the feature off without depending on the technical team.  

Feature Flags and Stability

Structural changes such as updating or migrating to a new system can be a risky process. During this process, operation teams use feature management for stability. With the help of feature flags, they put their applications in the maintenance mode and make the necessary changes. Teams also use the canary release to roll out a specific percentage to validate the new system. And, if needed they have kill switch to rescue them.

Real-Time Monitoring

Using feature flags, you can identify what changes occurred that led to an incident. Sometimes it’s the new feature and sometimes the existing feature is the source of the incident. Teams can immediately pinpoint the source of the incident, get a clear understanding of its reason and can take immediate action to rectify it.

Feature Flags and Segmentation

You can maximize the experience of your segmented consumers. Create 100s of segment of consumers based on any attribute and have granular control over who sees what at any given time. Currently, many teams are using feature flags to maximize their consumer experience, beta testing and manage subscription models.

Pre-Release Testing

Using Nonfig you can test your features at scale. You can release the feature to a specific segment of users and collect the feedback about how the feature behaves. You can fix the bugs and improve the feature before releasing it to the all customer base.

A/B Testing

Features flags help you measure the effectiveness of features. Using Nonfig, you can set goals and can see which features are performing well. In this way, your teams are not only able to test the cosmetic changes but also their robust functionality.

Track Old Features

Nonfig also creates ease for the developer to manage the life cycle of feature flags. Sometimes, old features conflicts with the new features, thus, developers need to turn those features off. Nonfig facilitates developers to easily track and manage the flags that are still in use and manage what should remain in their code base and what should not.

Targeted Management

Using Nonfig you can manage permissions for special groups like different tiers for customer subscriptions. You can set up different groups and manage which group should have access to what set of features. You can manage multiple features and sometimes multiple features across multiple product lines by a single platform.

More Control for Non-Technical People

Nonfig gives more control to non-technical people. Now, you can have more control over end-user experiences. You can create groups, test and turn features on or off easily. Such 

access allows marketing and product team to participate more in deployment cycles and have deeper control over how customer experience their product and react immediately to customer needs.

 

Access Policies with Nonfig

Using Access Policies in Nonfig

What Are Access Policies?

Access policies are all about protecting your configuration data. By access policies, you limit the number of people and their actions to protect your data.

All the companies have different configurations stored on their server. Those configurations can be the older versions, new versions (to be implemented), and the configurations under process. Some limited number of people have access to those configurations. And the access is with those who are allowed by the access manager.

Usually, managers define the requirement for access policies to the technical people and then developers grant access or implement policies as defined. Nonfig brings the technical and nontechnical people under the same umbrella, where product managers can manage (design and implement) the access policies by themselves.

Access Policies with Nonfig

Nonfig provides a platform to managers where they can manage the access policies by themselves. Managers don’t need to wait for technical people to grant them access to the panel, however, managers have access to the whole panel. They can easily create and modify and technical staff can focus on delivering more value.

In the article we will be covering:

  • Features of policies
  • Creating policies
  • Modifying policies
  • Assigning Policies

Features of policies

Actions: CRUD & Deny

Actions of Access policies in Nonfig

  • Create

Using the feature you allow the relevant person to create a new configuration.

  • Read

One can only scrutinize the configuration.

  • Update

The feature allows the relevant person to make changes in the existing configuration.

  • Delete

The feature allows you to delete or remove the configuration.

  • Deny

If someone created, updated, or deleted a configuration, the person given access to deny features can stop the action.

Using Nonfig you can assign from single to multiple actions to the assignee.

Creating Policies

To create a new policy:

  1. Go to Policies
  2. Click Add policy

The Create Policy window appears

Create Policy > Design Policy

In the Design policy:

  • New Path: It is the configuration folder or file you want to define access for.
  • New Action: You can select the type(s) of access you want to share CRUD & Deny.

Creating access policy using Nonfig

Move to Information:

  • Enter Name: You can give the name to your policy
  • Enter Description: You can enter the description of your policy
  • New Label: (Optional) a shortcut name that you want to give to your policy.

Creating access policy using NonfigModifying policies:

To modify existing policies:

Go to policies

All your access policies will appear.

Click on the policy you want to modify

Modifying access policy using Nonfig

Policy Designer page will appear

There you can change name, description, label and actions for your policy. Moreover, you can also edit the access to specific configurations here.

Modifying access policies using Nonfig

Assigning Policies

Once you have created or modified the policy, it means you have given access to the person for the action that you want him to do. Now, without any interference and lag, one can take the desired actions as per the given access. For example, you will be introducing a new UI next month and you want all departmental managers to have a look at new UI and make changes to it if necessary. Thus, you created a policy and allowed every manager to give a glance to the configuration and update it. Now, every manager can see the configuration and can make changes to it.

This is how your access policies will work! Giving relevant people relevant access.

To know how Nonfig is helping businesses affected by COVID-19 click here.

 

Internationalization with Nonfig

How to use Nonfig for Internationalization?

Whenever someone talks about Internationalization, Ansoff matrix clicks in my mind. You must have heard about the matrix. It is a masterpiece that was developed by H. Igor Ansoff in 1957. The matrix is a strong strategic planning tool that helps senior managers and marketers to devise strategies for future growth. Half of the matrix describes the concept of internationalization by using the words Diversification and Market Development.

We will connect these two terms to internationalization later, but first, let’s understand what internationalization on a broader perspective is. Extending arms of your business beyond the geographical boundaries and selling your product in more than one country is internationalization.

Nowadays every business of almost every size is establishing its operations in foreign markets. Therefore if you want to be a successful business globally you must cater to the needs of the market or localize yourself according to every country.

So, why would a business expand beyond the geographical boundaries? The two terms of the Ansoff matrix are the answer to the question. For example, your strategic objective is to maximize revenue. Currently, you are operating in a market that has already saturated. This means that you cannot further maximize your sales in the country thus you step in other countries. This is what is known as Market Development, penetrating a new market with the existing or tweaked version of your product

Moreover, as a business, you came up with a product idea that can cater to the needs of some other country’s market. This is the concept of diversification, where you enter a new market with a new product.

Internationalization has impacted businesses beneficially and adversely both. Let’s have a look at the pros and cons of internationalization.

Benefits

  • Market diversification: Reduced dependence on a single market.
  • Customer base and Revenue: More markets you penetrate in, higher the customer base, thus, higher the revenue.
  • Workforce and Technology: A diversified workforce offering unique advantages. Moreover, access to the new technologies all summing up as a competitive advantage.
  • Cost-saving: Incentives such as tax exemption, cheaper commodities, etc. by the government to attract new investments.
  • Increased competitiveness in an originating country: You can learn strategies from international markets and apply them in your home country.

Challenges of Internationalization

  • Stepping in another country looks like an attractive idea for businesses, however, it also brings many challenges for marketers to be successful in the country.
  • Language barrier: Despite the availability of online translators language is a noticeable hurdle for businesses.
  • Local market knowledge: With whom you will be competing and how strong that company is.
  • Foreign rules and regulations: Confusing paperwork, tax and employment laws, trademark considerations, and many more.
  • Culture: The undocumented rules prevailing society!

Internationalization with Nonfig

Along with many benefits of internationalization few challenges come as well. After doing plenty of research, marketers can tweak their product as per local market needs. However, one of the major challenges they face is the local language of the country. You have your research and product ready but until and unless it is not communicated well, no one will bother to buy it. This is the time when you need to ping Nonfig to rescue you.

So, how’s the idea if I tell that you can control all the multilingual translations from a single platform for your website and mobile applications? Nonfig provides you with a unified platform that can control all the translations so that you can focus more on your strategies rather than worrying for different platforms for translations.

“Using the feature flags within nonfig has allowed us at Tribune to decouple the deployment of the code from the release of a feature. nonfig has allowed us to target our audience segments based on their native language and test new UI without the fear of exposing an incomplete functionality. I love the complete control over the timing of feature releases, even for non-engineers.” – Khadija Shafaque, Head of Development, Tribune

Have a look at all the use cases  to effectively utilize Nonfig in your application software.

What Are Feature Flags And How They Are Used In Software Configuration Management

Feature Flags With Nonfig In Software Configurations

What are Feature Flags?

If you don’t like unit testing your product, most likely your customers won’t like to test it either.

Either you are tweaking your product or your workspace software, you must test it to assure that the end-user is satisfied. Feature flags are all about testing software feature before it is completed and ready to release.

Sounds similar? Yes! It is Total Quality Management (TQM) for your software, where you identify and rectify problems in your software at every step.

Feature flags are a powerful technique allowing developers to modify system behavior without releasing or changing the code. Feature flags provide an alternative to maintaining multiple branches in source code, for example during the development process a developer can enable the feature for testing and disable it for others. How? Simply by turning the flags “on” or “off”. If the flag is ‘on’, a new code is executed and if the flag is ‘off’ the code is skipped.

It helps the developer to deliver new functionality to users rapidly and safely. Feature flags are also known as feature switch, feature toggle, and feature flipper. I will be using term feature flags while discussing its benefits:

Benefits of Feature Flags

A/B testing

The majority of businesses use A/B testing to maximize their growth. It is a method to measure effectiveness.

How does it work?

A/B testing is a method of comparing two or more versions of a web-page, mobile application, email, video, call-to-action, or whatever you want to compare. It is an experiment where you show two or more variants to the user. You use analytics to analyze which variant performed better.

By using feature flags:

  • You can turn one variant’s flag on and other variant’s flag off.
  • In this way, you can compare the results of both variants and apply them according to the results.
  • Even If you are a non-technical individual, you can easily use feature flags without releasing any codes to analyze the impacts of variants.

A/B testing has proved beneficial for many organizations such as:

  • SAP observed a 32.5% increase in the conversion rate by just changing the color of the CTA button.
  • Dell experienced a 300% increase in their conversion rate upon testing the landing page.

You can have a look at the key benefits of A/B testing of 2020 data.

Continuous Delivery

Using feature flags you can use an implementing technique of continuous delivery. It is a technique that:

  • Is used by many leading software companies in the world to deliver stable and bug-free software.
  • Help teams to produce software in a short cycle
  • Releases software with great speed and frequency once tested.
  • Results in cost-cutting and time saving for firms.
  • Can be deployed manually and automatically as well. Automatic deployment is known as Continuous Deployment.

Canary Testing with Feature Flags

All businesses are highly risk-averse. They apply all the possible strategies to mitigate the risks. With Canary testing you can:

  • Reduce your risks by limiting the release of your new feature to a limited user base.
  • You can start with a smaller percentage and can gradually go for all users.
  • If the feature launched is not up to the mark, you can simply roll back by turning off the feature.
  • You don’t need to go through the whole role back deployment cycle.

For example, you developed a new algorithm and the algorithm looks good on the exploratory testing so far. However, you know it’s a critical part of your whole deployment. If you let all users use that deployment and something turns out to be wrong, it can be huge trouble for you. Thus, you decide to use Canary testing for it.

Enhanced Control Over Features

One of the major benefits of using feature flags is you can configure your system without making disruptive changes in live code. A smaller change in code or a release of small code can affect your perfectly working codes.

Feature Flags facilitates in the following ways:

  • Developers can work with phenomenal branching.
  • Your team can work with their copies of codes and can merge all changes easily.
  • Work independently on your copies of code and integrate them to the master branch or mainline when done.
  • Saves your time as you can work independently on the copies of codes.
  • Easy to merge without any divergence.
  • Continuous software delivery for the firm.

Kill Switch

You can increase and decrease the number of users by using a feature flag by using canary releases. But, what if you roll out a misbehaving feature? Here comes the kill switch to rescue, you can simply turn that feature off and let everything go back to the normal for users. Afterward, you can find out the reason for the misbehaving feature and rectify it.

Conclusion

Many large companies like Netflix, Gmail, Reddit, Flickr, and Apiumhub use feature flags. Moreover, it’s better to keep feature flags short-lived and small in number because too many flags add complexity. Thus, it is important to clean up the feature flags and keep the code base balanced. Feature flags are no doubt an important technique for businesses but there are some other Configuration Management Techniques as well that help businesses become a market leader.