Technical docs on using feature flags?

I was talking with a research collaborator about the feasibility of conducting randomized trials where one group of health workers may see a standard version of an app, and a second group of health workers would see a new feature, so that we could test the impact of that feature in a controlled way. My sense is that in the past, we’ve used feature flags to support this kind of use case. Do we have any technical docs or guidance for researchers on using feature flags?

3 Likes

Hi @isaacholeman, took a look around and did not find any related documentation. I will create a GH issue for inclusion in an upcoming release. Also came across this nicely packaged, open-source solution that may be worth investigating for addition to the CHT.

1 Like

Github issue created. Please add to the ticket if needed

1 Like

When a feature needs to be enabled for some and inaccessible for others, an entry for the feature gets added in the Permissions tab. That way, the feature can be enabled for specific Roles.

If a feature or improvement will be A/B tested it would be important to mention that in the GitHub issue so that a permission can be associated to it. I imagine there are some cases where this will not be so simple, so worth talking to the team working on the issue. As for randomizing your users between the two groups, that can be done outside of the app (eg in a spreadsheet with a random calculation), and then have the users created accordingly.

@ isaacholeman there’s some documentation from our release notes (version 2.16)
I’ve linked to two sections that give the gist of how it’s currently implemented for UHC mode.

https://github.com/medic/cht-core/blob/8322907698ab8ccbb9b930330dc074ab268e45cb/release-notes/docs/2.16.0.md#view-date-last-visited-for-places-on-the-people-tab

https://github.com/medic/cht-core/blob/8322907698ab8ccbb9b930330dc074ab268e45cb/release-notes/docs/2.16.0.md#toggle-universal-health-coverage-mode-on-and-off

1 Like