Skip to content

[monorepo] ensure CUJs are covered for all user personas that interact with repo code #156027

@yjbanov

Description

@yjbanov

We have three user personas that interact with the source in our repos. We should make sure their CUJs are covered by the upcoming monorepo design. Personas:

  • App developer: interacts with the repo code with intent to build an app. The barrier to entry for app developers must remain low. In particular, we should not require that app developers build the engine locally.
  • Framework contributor: clones the repo intending to hack on the Flutter framework only, and does not change engine code. This sometimes includes app developers who, as part of hacking on an app, would change the framework source code to debug something, e.g. add an extra print statement to see what's going on inside the framework.
  • Full-stack contributor: clones the repo intending to hack on the engine and/or the framework. The dev process requires locally built engine and framework.

One failure mode to watch out for is the tool accidentally picking a wrong engine build. E.g. you think you tested your engine changes, but actually while debugging the app the tool accidentally grabbed a pre-built engine.

One use-case for full-stack contributors that does not exist for others is A/B testing. It would be good to preserve this capability.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1High-priority issues at the top of the work listr: fixedIssue is closed as already fixed in a newer versionteam-infraOwned by Infrastructure teamtriaged-infraTriaged by Infrastructure team

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions