Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Propose Developer Experience project #2144

Merged
merged 15 commits into from
Jul 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .cspell.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,7 @@ words:
- sigelman
- signup
- skyscanner
- sloughter
- splk
- stalnaker
- subdir
Expand Down
104 changes: 104 additions & 0 deletions projects/developer_experience.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
# Developer Experience Project

## Background and description

Convenience as a SIG was initially proposed by [Ted
Young](https://github.com/tedsuo) back in 2021. It was postponed to prioritize
completion of signal specs and stabilization. A document was written at this
time describing the intent to do user research and a brainstorming session,
https://docs.google.com/document/d/1bjiw5L4E8FztRtfsy4Nu9A6qSP-BJlK6BBzl6Rea-Ds/edit#heading=h.b7qckyjgu28i.
This brainstorm resulted in a list of some existing convenience functions
languages have and proposed ones, like a `start` which takes the tracer from the
active span in the current context, and proposals for defining annotations for
easier instrumentation.

### Current challenges

We know users can find the API and SDK to be complex and daunting, the challenge
is to collect actionable feedback on this issues. That information is spread
across various languages' issues, blog posts and other online commentary.
Performing an end user survey will help collect some of this knowledge into a
central place that is actionable.

When developer experience issues are encountered and addressed they are
currently done in the various language implementations individually and this can
lead to drift between different implementations and with the spec. An example
would be how to handle marking a code block as `untraced` which has
implementations in at least Java, Ruby and Javascript, each done differently,
named differently and with no specification. This means users working across
languages experience different results for similar features and other language
SIG's aren't necessarily even aware of the pain point that their users may
actually be experiencing.

### Goals, objectives, and requirements

With the 3 main signals going stable the time is right to circle back and
address issues users may have faced over the years they've now been using
OpenTelemetry.

This project aims to identify developer experience issues with using
OpenTelemetry, to select 3 that are concerns which can be addressed through
updates to the specification and resolve them.

## Deliverables

The first deliverable will be the collection of experience in dealing with
developer experience issues by each existing language SIG. This means not only
additions to the API/SDK or libraries developed to enhance the experience for
users but any that may be planned or are being thought about because of a
frequent request from their users. A report of the findings will be shared with
the whole community.

Utilizing the knowledge gained from the first deliverable on potential areas of
improvement the next deliverable will be an end user survey. Assuming the agreement and
participation of the End User SIG this will be done in cooperation with them. A
write-up of the results will follow, along with the group's decision on the top 3
issues for the group to work on.

Prototypes of resolutions will be developed and, depending on the scope of the
jpkrohling marked this conversation as resolved.
Show resolved Hide resolved
identified problem, OTEP's will be created where appropriate before opening PR's
to the specification.

## Staffing / Help Wanted
jpkrohling marked this conversation as resolved.
Show resolved Hide resolved

- Project Lead: Tristan Sloughter (MyDecisiveAI)

- GC sponsors:
- @austinlparker (Honeycomb)
- @tedso (Lightstep)

- TC sponsors:
- @tedso (Lightstep)
- @lmolkova (Microsoft)

- Maintainers, approvers and contributors:
- @dmathieu (Elastic)
- @julianocosta89 (Datadog)
- @martinjt (Honeycomb)
- @samsp-msft (Microsoft)
- @stevejgordon (Elastic)

## Meeting Times

Weekly meetings TBA.

## Timeline

Work with End User SIG: Weeks but start time of this depends on their
availability.

Identifying priorities: Weeks

Working on priorities: Weeks to months per.

## Labels

TBA

## Linked Issues and PRs

TBA

## Project Board

TBA