-
someone has product/feature idea (probably Javi or Yalda, but could be anyone)
-
record this idea in the product GitHub repo as an Epic
-
Tech Lead goes through these raw ideas and adds rough ballpark pessimistic estimates
-
Product Team sorts estimated epics into sprints
-
Tech Lead enumerates epics
- creates prerequisite epics when original epic would take more than two weeks to complete
- creates and estimates subtasks (does not assign them)
- documents dependencies between subtasks ("subtask 1 must be worked before subtask 2 and 3; subtask 4 can be worked in parallel")
-
Tech Lead alerts Product Team if the epics planned for the sprint are likely to take longer than hoped
-
Tech Lead assigns Epic Leads for each epic for the upcoming sprint
-
Epic Lead is responsible for
- understanding epic at a high level
- pushing back on Tech Lead if estimates seem inaccurate or problematic
- organizing other engineers who work on it with them throughout the sprint
- monitoring epic health and alerting Epic Lead / Product Team if it seems like there might be problems shipping in time
- Engineers initially focus on epics for which they're lead
- If finished with own epic or had none assigned, look at the board and figure out what to work on next. Grab a subtask, assign to self, move to In Progress, contact the Epic Lead or Tech Lead with any questions.