Beginning of August 2018, we migrated to feedbackfruits.com, marking the official move out of beta. We have decided not to keep a separate beta-environment, but instead are using feature flagging as method to separate beta features from our production tools. How does this work and why did we choose to do so?
Feature flagging is a method used to hide beta-functionality from the main gross of users, while being able to enable it for those who want to test the functionality and help us with validating and stabilising the feature.
Why do we use Feature flagging?
Feature flagging makes rapid continuous innovation possible. Since beta-functionality is rolled out in the actual production environment for a specific set of users, it can be tested effectively and bugs are fixed more rapidly, then when awaiting a large rollout and having testing done in a different, beta environment. Feedback from users is very important in developing our tools. Using feature flagging, it becomes easier for users to help us with validating functionality. Since there are no separate environments anymore, we can simply enable the wanted feature for this user and he can test it within the environment he's used working with. This way, functionality is rapidly validated and feedback can be quickly integrated, after which re-testing is also done more easily.
''Feature flagging makes rapid continuous innovation possible.''
Testing in the real environment is more accurate. Bugs are more rapidly fixed because you know precisely what functionality was released for which user in a that timeframe.
The effect of the functionality can easily be measured using A/B testing. Important feedback can be derived from this small set of users and used for improving the functionality.
Testing becomes easier for teachers. Since the in-LMS experience of FeedbackFruits is what we aim for, this specifically is very valuable. Beta-functionality can simply be added to the course of a teacher willing to test.
Last but not least, it saves oceans of time. Time that can be used to develop new features and iterate old ones. Maintaining two environments and making sure the beta and production environment are not too far off, is more than a full time job.
Feature flagging possibility per LTI consumer
It is possible to enable/disable a feature flag per user (for those users that want to test and validate beta-functionality) or to enable/disable it per LTI consumer.
This way, if a whole institution wants to make use of a certain feature, we can enable this. It also works the other way around: in case an institution as a whole wants to keep a feature disabled, we can leave the feature flag enabled per LTI consumer (per LMS environment). To enable one of the feature flagged items please contact the Partner Success Manager.