Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Engineering work definition of ready

The engineering team gets many different kinds of work from many different sources. An important question for solving these work items is: is something ready to be worked on?

Answering this question, requires at least the following information:

Work categorization

The following non-exhaustive initial list of the different kinds of tasks that the engineering team performs during a sprint cycle.

  1. Feature enablement

  2. Routine maintenance

  3. New Hub

  4. Configuration change

  5. Fault fixing

  6. Community config change review

  7. Incident response

  8. Fault fixing

Definition of ready

The following describes what is the information needed for a member of the engineering team to start working on a specific type of work item.

Feature enablement

Some features for hubs require 2i2c engineering effort to be enabled, and usually this is requested via the support process. Before a feature enablement request is considered ready to be worked on, it must have the following information:

Functionally, this means that anything that doesn’t have an explicit documentation on how to enable it should not be considered a feature we currently support!

Routine maintenance

These are tasks that must happen on some predefined cadence (every month, every quarter, etc). It’s important that these get done consistently, so the cadence must be adjusted so we can in fact consistently do these given our actual capacity.

Before a routine maintenance task can be considered ready to be worked on, it should have:

New Hub

This is being tackled as part of this issue. The information needed for various phases of turning up a new hub would be captured in a new hub issue once this issue is sorted.

Configuration change

This is usually about modifying a feature that was enabled via a feature enablement request earlier. So the definition of ready should be very similar.

Functionally, this means that if we are requested to change config for something that we can’t find any documentation for, it should be escalated (via a message to the #engineering slack channel) so we can decide what needs to be done with it. The most likely outcome should be that documentation is written for it along with the config change.

Community config change review

This should be codified once this issue is resolved.

Incident response

This should be handled according to our incident response process.

Fault fixing

Usually a user reports ‘something is not working’, but it is not urgent in the same way an incident response is. These cases are a mix of incident response and configuration change. But because the timeline pressure of an incident response is not present, these should be handled exactly the same way as a configuration change.