To maintain our rapid cadence of shipping a new release on the 22nd of every month, we must keep the barrier low to getting things done. Since our team is distributed around the world and therefore working at different times, we need to work in parallel and asynchronously as much as possible.
    That also means that if you are implementing a new feature, you should feel empowered to work on the entire stack if it is most efficient for you to do so.
    Nevertheless, there are features whose implementation requires knowledge that is outside the expertise of the developer or even the group/stage group. For these situations, we’ll require the help of an expert in the feature’s domain.
    In order to figure out how to articulate this help, it is necessary to evaluate first the amount of work the feature will require from the expert.
    If the feature only requires the expert’s help at an early stage, for example designing and architecting the future solution, the approach will be slightly different. In this case, we would require the help of at least two experts in order to get a consensual agreement about the solution. Besides, they should be informed about the development status before the final solution is finished. This way, any discrepancy or architectural issue related to the current solution, will be brought up early.