Create:Code Review FE Team

The Create:Code Review FE team is responsible for all frontend aspects of the product categories that fall under the Code Review group of the Create stage.

The Create:Code Review FE team is responsible for all frontend aspects of the product categories that fall under the Code Review group of the Create stage of the DevOps lifecycle.

Team Members

The following people are permanent members of the Create:Code Review FE Team:

Name Role
André LuísAndré Luís Frontend Engineering Manager, Create:Source Code, Create:Code Review, Delivery & Scalability
Ash McKenzieAsh McKenzie Staff Backend Engineer, Create:Source Code
Gavin HinfeyGavin Hinfey Backend Engineer, Create:Source Code
Senior Backend EngineerSenior Backend Engineer Senior Backend Engineer, Create:Source Code
Javiera TapiaJaviera Tapia Backend Engineer, Create:Source Code
Jacques ErasmusJacques Erasmus Senior Frontend Engineer, Create:Source Code
Joe WoodwardJoe Woodward Senior Backend Engineer, Create:Source Code
Nataliia RadinaNataliia Radina Frontend Engineer, Create:Source Code
Phil HughesPhil Hughes Staff Fullstack Engineer, Create:Code Review
Paulina Sedlak-JakubowskaPaulina Sedlak-Jakubowska Frontend Engineer, Create:Source Code
Robert MayRobert May Senior Backend Engineer, Create:Source Code
Stanislav LashmanovStanislav Lashmanov Senior Frontend Engineer, Create:Code Review
Thomas RandolphThomas Randolph Senior Frontend Engineer, Create:Code Review
Vasilii IakliushinVasilii Iakliushin Staff Backend Engineer, Create:Source Code, Systems:Gitaly API

Stable Counterparts

The following members of other functional teams are our stable counterparts:

Name Role
Amy QuallsAmy Qualls Senior Technical Writer, Create (Editor Extensions, Code Review)
Sincheol (David) KimSincheol (David) Kim Senior Backend Engineer, Create:Code Review
Derek FergusonDerek Ferguson Group Manager, Product Management, Create
Darva SatcherDarva Satcher Director of Engineering, Create
Gary HoltzGary Holtz Backend Engineer, Create:Code Review
Kai ArmstrongKai Armstrong Principal Product Manager, Create:Code Review
Kerri MillerKerri Miller Staff Backend Engineer, Create:Code Review
Marc ShawMarc Shaw Senior Backend Engineer, Create:Code Review
Patrick BajaoPatrick Bajao Senior Backend Engineer, Create:Code Review
Shekhar PatnaikShekhar Patnaik Principal Fullstack Engineer, Create

Iteration

We held an Iteration Retrospective in April 2020 in order to review past work and discuss how we could improve iteration for upcoming efforts.

Some overal conclusions/improvements

  • Despite having improved the splitting of Merge Requests, we still tend to keep one issue spawning multiple Merge Requests.
  • We’ll be more strict about splitting the issues in foreseeable iteration steps upon scheduling/assignment
  • We must keep in mind the overhead in review times when splitting up related backstage work. (more info)

Work

See the work section of the main Code Review page.

Capacity planning

These are the broad definition for each of the weights values. We don’t use a Fibonacci-based progression but we do try to split up large issues as we understand they are by definition less accurate predictions.

When issues are Frontend only, we use the Weight feature of Issues.

When issues are both Frontend and Backend we use specific labels to support both weights in the same issue: ~frontend-weight::1 through ~frontend-weight::13. Only weights between 1-3 can be scheduled into a milestone. Higher ones need to be broken down.

Note: Since milestone 13.10, we switched to using a fibonacci based scale. The reason behind this is how hard it’s been to distinguish between issues of weight 3 and 4 or weight 4 and 5. Fibonacci allows for a clearer distinction as weights increase.

Weight Description
1: Trivial The problem is very well understood, no extra investigation is required, the exact solution is already known and just needs to be implemented, no surprises are expected, and no coordination with other teams or people is required.
2: Small The problem is well understood and a solution is outlined, but a little bit of extra investigation will probably still be required to realize the solution.
3: Medium Features that are well understood and relatively straightforward. Bugs that are relatively poorly understood and may not yet have a suggested solution.

Anything above weight 3 is unschedulable.

Those are either large amounts of work or have too many unknowns. In that case, opt to break it down into multiple issues right away or open an epic to start a discussion in order to create the multiple steps.

Also consider adding the label: ~"workflow::planning breakdown".

Why?

This hard limit helps the team embody the Iteration value.

Weights

These are the broad definition for each of the weights values. We don’t use a Fibonacci-based progression but we do try to split up large issues as we understand they are by definition less accurate predictions.

When issues are Frontend only, we use the Weight feature of Issues.

When issues are both Frontend and Backend we use specific labels to support both weights in the same issue: ~frontend-weight::1 through ~frontend-weight::13. Only weights between 1-3 can be scheduled into a milestone. Higher ones need to be broken down.

Note: Since milestone 13.10, we switched to using a fibonacci based scale. The reason behind this is how hard it’s been to distinguish between issues of weight 3 and 4 or weight 4 and 5. Fibonacci allows for a clearer distinction as weights increase.

Weight Description
1: Trivial The problem is very well understood, no extra investigation is required, the exact solution is already known and just needs to be implemented, no surprises are expected, and no coordination with other teams or people is required.
2: Small The problem is well understood and a solution is outlined, but a little bit of extra investigation will probably still be required to realize the solution.
3: Medium Features that are well understood and relatively straightforward. Bugs that are relatively poorly understood and may not yet have a suggested solution.

Anything above weight 3 is unschedulable.

Those are either large amounts of work or have too many unknowns. In that case, opt to break it down into multiple issues right away or open an epic to start a discussion in order to create the multiple steps.

Also consider adding the label: ~"workflow::planning breakdown".

Why?

This hard limit helps the team embody the Iteration value.

Kickoff

On the first week of every milestone, we have a sync-call with every IC in which they take turns at presenting their plan for their Deliverables for the new milestone.

This usually happens at the first Thursday of the milestone (at least 5 days into it) at 3PM UTC.

Relevant issues

  • Merge Request Architecture Walkthrough (as of December 2020) — an outline of the current status of the entire Merge Request page Frontend components, including the answers to:
    • Component Name
    • Technology
    • State Management (Technology + shared with others?)
    • Responsible Team
    • Shared with other Team?
    • Other comments