Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The first "Workflow": MVP for "Creating a new feature" #77

Open
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

lharries
Copy link
Contributor

@lharries lharries commented Dec 1, 2022

Owner: @EDsCODE (team experimentation)
Decision to be made: Should we build this in Q1 as part of team experimentation?
Decision date: 7th December 2022

@annikaschmid could you work with the team to add some more detail?

@annikaschmid
Copy link
Contributor

Thanks for writing this up, @lharries! I think for the purpose of communicating what the feature is about, the vision is great.
There are a couple of things we need to think through a bit further once we start with the feature, e.g.:

  • I think you wouldn’t necessarily have to choose between auto-rollout and a/b test. You could start with an a/b test and roll out the feature if the a/b test was successful
  • Retention is a bad metric to pick for a feature test, because it’s a lagging indicator. In this case, I don’t think it would lead to good results
  • In this case, Sarah made changes to the feature after it has been rolled out. Would she create a new workflow for this? Probably not, but maybe she still wants to roll out changes with a schedule. I suppose the user can decide on a case by case basis whether a change requires a new flag or not (like today)

@lharries
Copy link
Contributor Author

lharries commented Dec 2, 2022

@annikaschmid another extension that we might want to think about (for the longer term rather than next quarter) - you mentioned the idea of "Feature management", what if Feature Management was a 1st class feature in PostHog? What would this look like? (Feel free to leave for now if you don't think it would be useful)


Sarah is a product engineer at a high-growth startup building a B2C website to help companies offset their carbon - called Carbon.io. She's working on a new feature for users to watch videos of their carbon-offsetting projects. She hypothesizes that users who watch these videos will feel more connected to the projects and retain at a higher rate.

The first thing Sarah does is open up PostHog and start the workflow for "Create a new feature". It opens up a page to create the new feature where she names it "Videos of offsetting projects". Optionally, she can enter some of the background information on this feature including the hypothesis. She selects "auto-rollout" rather than "A/B test" - meaning once the feature is made it will be used internally and after manual approval will be rolled out to beta users then low-value users then high-value users. She selects "user retention" as the key metric.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we think this feature will be applicable for existing users or are we hoping to attract a new set of users? If existing, is there evidence that current users would be interested in working this way. For example, are event taxonomies and feature flags decided upon pre feature implementation or post?

If not existing, is there some research we can do to get information on how this plays against the existing popular workflows among product engineers? I would assume there's some level of tooling or assortment of tools that are used to achieve this product planning -> implementation


It should sit with team experimentation as it would be a key driver of feature flag usage.

This could have multiple benefits across the product:
Copy link
Member

@EDsCODE EDsCODE Dec 2, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The promise for an opinionated workflow makes a lot of sense. If we can properly automate the pre and post implementation for engineers this would be a significant value add.

**I will asterisk that adding opinionated features like this could get confusing from a marketing standpoint. Most of the product is fairly unopinionated "here's analytics tooling you can use to understand your users" while this feature moves in the direction "here's a product process". This might also mean that we have to sell teams on the fact that this product process is better than what they already have/is the ideal process to start their product with

Copy link
Contributor Author

@lharries lharries Dec 2, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great point.

Could we give them the tools to customize the create a new feature workflow? And maybe even create their own workflows

E.g. they can edit the schema which decides which graphs and session recordings are on the dashboard, and how the feature flag are setup. We could use the new JSON based stuff that Marius is making with some template variables

This way we can give them some starter workflows but they can also edit it or create their own to suit their processes


From the dashboard, Sarah learns most of the users are only watching the first 30 seconds of the 5-minute videos. During the interviews, she asks them what they thought of the videos and while they enjoyed them they said they were too long and dry. Sarah organizes a new set of videos to be made and rolls out an update.

3 months later Sarah gets a slack message from PostHog to view the retention graph. They can see there's a significant correlation between retention between users that watched a video and users who retained. Success!
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Simple reminders like this would be great

@neilkakkar
Copy link
Contributor

neilkakkar commented Dec 5, 2022

This is definitely an interesting idea!

I don't think we should build this right now though as I don't think we're ready for opinionated workflows on top of the core functionality. Here's how I'm thinking about this:

  1. The value-add of any core feature (which enables something new that wasn't possible before / was frustrating / too hard to do) is more than any feature that explains how to do those things (i.e. workflows).

    For example, I'd be a lot more happier (as a PostHog user) if we built JSON flag support this quarter, rather than a workflow on top of existing features.

  2. Well, (1) isn't true in the absolute, and I think there will come a point when workflows can help guide users in the right direction when it's easy to get lost in the product. This makes sense when there's a significantly big chunk of users who want to do things the same way but aren't able to for whatever reason. The cost of these workflows is the same as any other opinionated flow: we make things hard for users not using that workflow, who then end up not using the workflow at all.

    I'm not quite sure how people use flags & what workflow would makes sense (I'm not convinced the above-mentioned workflow is the way to go), so I'd propose gathering this data by building the blocks of core functionality that the workflow demands but isn't possible right now, without actually building the workflow. So, it's something like breaking down what we build into:

    1. Reminders to check statuses of flags X time from now.
    2. Ability to generate a customisable recordings playlist for flag & notifications/slack when these are > X.
      .. and then talking to users to figure out which parts of flag features they use the most (& also raw data), to come up with a workflow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants